Skip to content

feat: Add rebuild command into context menu #663

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@
"command": "java.project.update",
"title": "%contributes.commands.java.project.update%"
},
{
"command": "java.project.rebuild",
"title": "%contributes.commands.java.project.rebuild%"
},
{
"command": "java.view.package.revealInProjectExplorer",
"title": "%contributes.commands.java.view.package.revealInProjectExplorer%",
Expand Down Expand Up @@ -358,6 +362,10 @@
"command": "java.project.update",
"when": "false"
},
{
"command": "java.project.rebuild",
"when": "false"
},
{
"command": "java.view.package.revealInProjectExplorer",
"when": "false"
Expand Down Expand Up @@ -480,6 +488,16 @@
"when": "view == javaProjectExplorer && !explorerResourceMoveableToTrash && viewItem =~ /java:(file|type|folder)(?=.*?\\b\\+uri\\b)/",
"group": "7_modification@20"
},
{
"command": "java.project.build.workspace",
"when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+java\\b)(?=.*?\\b\\+uri\\b)/",
"group":"8_execution@5"
},
{
"command": "java.project.rebuild",
"when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+java\\b)(?=.*?\\b\\+uri\\b)/",
"group": "8_execution@6"
},
{
"command": "java.view.package.newJavaClass",
"when": "view == javaProjectExplorer && viewItem =~ /java:(package|packageRoot)(?=.*?\\b\\+source\\b)(?=.*?\\b\\+uri\\b)/",
Expand Down
3 changes: 2 additions & 1 deletion package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
"contributes.commands.java.project.addLibraryFolders": "Add Library Folders to Project Classpath...",
"contributes.commands.java.project.removeLibrary": "Remove from Project Classpath",
"contributes.commands.java.view.package.refresh": "Refresh",
"contributes.commands.java.project.build.workspace": "Rebuild Workspace",
"contributes.commands.java.project.build.workspace": "Rebuild All",
"contributes.commands.java.project.clean.workspace": "Clean Workspace",
"contributes.commands.java.project.update": "Update Project",
"contributes.commands.java.project.rebuild": "Rebuild Project",
"contributes.commands.java.view.package.revealInProjectExplorer": "Reveal in Java Project Explorer",
"contributes.commands.java.view.package.changeToFlatPackageView":"Flat View",
"contributes.commands.java.view.package.changeToHierarchicalPackageView":"Hierarchical View",
Expand Down
3 changes: 2 additions & 1 deletion package.nls.zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
"contributes.commands.java.project.addLibraryFolders": "添加文件夹至项目 Classpath...",
"contributes.commands.java.project.removeLibrary": "从项目 Classpath 中移除",
"contributes.commands.java.view.package.refresh": "刷新",
"contributes.commands.java.project.build.workspace": "重新构建工作空间",
"contributes.commands.java.project.build.workspace": "重新构建所有项目",
"contributes.commands.java.project.clean.workspace": "清理工作空间",
"contributes.commands.java.project.update": "更新项目",
"contributes.commands.java.project.rebuild": "重新构建项目",
"contributes.commands.java.view.package.revealInProjectExplorer": "在 Java 项目视图中显示",
"contributes.commands.java.view.package.changeToFlatPackageView":"平行显示",
"contributes.commands.java.view.package.changeToHierarchicalPackageView":"层级显示",
Expand Down
2 changes: 2 additions & 0 deletions src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ export namespace Commands {

export const JAVA_PROJECT_UPDATE = "java.project.update";

export const JAVA_PROJECT_REBUILD = "java.project.rebuild";

export const JAVA_PROJECT_EXPLORER_FOCUS = "javaProjectExplorer.focus";

export const JAVA_PROJECT_LIST = "java.project.list";
Expand Down
10 changes: 9 additions & 1 deletion src/views/dependencyDataProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
commands, Event, EventEmitter, ExtensionContext, ProviderResult,
RelativePattern, TreeDataProvider, TreeItem, Uri, window, workspace,
} from "vscode";
import { instrumentOperationAsVsCodeCommand } from "vscode-extension-telemetry-wrapper";
import { instrumentOperationAsVsCodeCommand, sendError } from "vscode-extension-telemetry-wrapper";
import { contextManager } from "../../extension.bundle";
import { Commands } from "../commands";
import { Context } from "../constants";
Expand Down Expand Up @@ -69,6 +69,14 @@ export class DependencyDataProvider implements TreeDataProvider<ExplorerNode> {
commands.executeCommand(Commands.JAVA_PROJECT_CONFIGURATION_UPDATE, uris[0]);
}
}));
context.subscriptions.push(instrumentOperationAsVsCodeCommand(Commands.JAVA_PROJECT_REBUILD, async (node: INodeData) => {
if (!node.uri) {
sendError(new Error("Uri not available when building project"));
window.showErrorMessage("The URI of the project is not available, you can try to trigger the command 'Java: Rebuild Projects' from Command Palette.");
return;
}
commands.executeCommand(Commands.BUILD_PROJECT, Uri.parse(node.uri), true);
}));

Settings.registerConfigurationListener((updatedConfig, oldConfig) => {
if (updatedConfig.refreshDelay !== oldConfig.refreshDelay) {
Expand Down