From 755f1c13b66986ea9e0f5120d7e410d0c105ea2b Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Wed, 13 Jul 2022 16:30:27 +0800 Subject: [PATCH] ui: Add submenu for Maven and Gradle (#664) Signed-off-by: sheche --- package.json | 31 +++++++++++++++++++++++++++-- package.nls.json | 2 +- package.nls.zh.json | 2 +- src/views/dependencyDataProvider.ts | 3 ++- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 322b4359..b57b73bf 100644 --- a/package.json +++ b/package.json @@ -550,12 +550,39 @@ "group": "inline" }, { - "command": "java.project.update", - "when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+uri\\b)(?=.*?\\b\\+(maven|gradle)\\b)/", + "submenu": "javaProject.maven", + "when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+uri\\b)(?=.*?\\b\\+(maven)\\b)/", + "group": "9_configuration@10" + }, + { + "submenu": "javaProject.gradle", + "when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+uri\\b)(?=.*?\\b\\+(gradle)\\b)/", "group": "9_configuration@10" } + ], + "javaProject.maven": [ + { + "command": "java.project.update", + "group": "maven@10" + } + ], + "javaProject.gradle": [ + { + "command": "java.project.update", + "group": "gradle@10" + } ] }, + "submenus": [ + { + "id": "javaProject.maven", + "label": "Maven" + }, + { + "id": "javaProject.gradle", + "label": "Gradle" + } + ], "views": { "explorer": [ { diff --git a/package.nls.json b/package.nls.json index 4cb668cb..95206a17 100644 --- a/package.nls.json +++ b/package.nls.json @@ -7,8 +7,8 @@ "contributes.commands.java.view.package.refresh": "Refresh", "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.project.update": "Reload 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", diff --git a/package.nls.zh.json b/package.nls.zh.json index 5ed400d6..e816f6ed 100644 --- a/package.nls.zh.json +++ b/package.nls.zh.json @@ -7,8 +7,8 @@ "contributes.commands.java.view.package.refresh": "刷新", "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.project.update": "重新加载项目", "contributes.commands.java.view.package.revealInProjectExplorer": "在 Java 项目视图中显示", "contributes.commands.java.view.package.changeToFlatPackageView":"平行显示", "contributes.commands.java.view.package.changeToHierarchicalPackageView":"层级显示", diff --git a/src/views/dependencyDataProvider.ts b/src/views/dependencyDataProvider.ts index be72d18e..fba59d5e 100644 --- a/src/views/dependencyDataProvider.ts +++ b/src/views/dependencyDataProvider.ts @@ -60,7 +60,8 @@ export class DependencyDataProvider implements TreeDataProvider { commands.executeCommand(Commands.JAVA_CLEAN_WORKSPACE))); context.subscriptions.push(instrumentOperationAsVsCodeCommand(Commands.JAVA_PROJECT_UPDATE, async (node: INodeData) => { if (!node.uri) { - window.showErrorMessage("The URI of the project is not available, you can try to update the project by right clicking the project configuration file (pom.xml or *.gradle) from the File Explorer."); + sendError(new Error("Uri not available when reloading project")); + window.showErrorMessage("The URI of the project is not available, you can try to trigger the command 'Java: Reload Project' from Command Palette."); return; } const pattern: RelativePattern = new RelativePattern(Uri.parse(node.uri).fsPath, "{pom.xml,*.gradle}");