register 'execute commands' onto Project Manager (#531)
* register 'execute commands' onto Project Manager Signed-off-by: Yan Zhang <yanzh@microsoft.com> * refine wording Signed-off-by: Yan Zhang <yanzh@microsoft.com> * use new command id: maven.goal.execute.fromProjectManager Signed-off-by: Yan Zhang <yanzh@microsoft.com> * fix wording Signed-off-by: Yan Zhang <yanzh@microsoft.com>
This commit is contained in:
Родитель
961df176eb
Коммит
50b7ff8216
|
@ -746,8 +746,7 @@
|
|||
},
|
||||
"kind-of": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
|
||||
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
|
||||
"resolved": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -5296,10 +5295,13 @@
|
|||
}
|
||||
},
|
||||
"serialize-javascript": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz",
|
||||
"integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
|
||||
"dev": true
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
|
||||
"integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"randombytes": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"set-blocking": {
|
||||
"version": "2.0.0",
|
||||
|
@ -5467,8 +5469,7 @@
|
|||
},
|
||||
"kind-of": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
|
||||
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
|
||||
"resolved": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -5780,9 +5781,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"terser": {
|
||||
"version": "4.6.13",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz",
|
||||
"integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==",
|
||||
"version": "4.8.0",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
|
||||
"integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "^2.20.0",
|
||||
|
@ -5791,16 +5792,16 @@
|
|||
}
|
||||
},
|
||||
"terser-webpack-plugin": {
|
||||
"version": "1.4.3",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz",
|
||||
"integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==",
|
||||
"version": "1.4.5",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
|
||||
"integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cacache": "^12.0.2",
|
||||
"find-cache-dir": "^2.1.0",
|
||||
"is-wsl": "^1.1.0",
|
||||
"schema-utils": "^1.0.0",
|
||||
"serialize-javascript": "^2.1.2",
|
||||
"serialize-javascript": "^4.0.0",
|
||||
"source-map": "^0.6.1",
|
||||
"terser": "^4.1.2",
|
||||
"webpack-sources": "^1.4.0",
|
||||
|
|
15
package.json
15
package.json
|
@ -38,6 +38,7 @@
|
|||
"onCommand:maven.goal.deploy",
|
||||
"onCommand:maven.goal.custom",
|
||||
"onCommand:maven.goal.execute",
|
||||
"onCommand:maven.goal.execute.fromProjectManager",
|
||||
"onCommand:maven.project.effectivePom",
|
||||
"onCommand:maven.project.openPom",
|
||||
"onCommand:maven.archetype.generate",
|
||||
|
@ -142,6 +143,11 @@
|
|||
"title": "%contributes.commands.maven.goal.execute%",
|
||||
"category": "Maven"
|
||||
},
|
||||
{
|
||||
"command": "maven.goal.execute.fromProjectManager",
|
||||
"title": "Run Maven Commands...",
|
||||
"category": "Maven"
|
||||
},
|
||||
{
|
||||
"command": "maven.plugin.execute",
|
||||
"title": "%contributes.commands.maven.plugin.execute%",
|
||||
|
@ -255,6 +261,10 @@
|
|||
{
|
||||
"command": "maven.project.showDependencies",
|
||||
"when": "never"
|
||||
},
|
||||
{
|
||||
"command": "maven.goal.execute.fromProjectManager",
|
||||
"when": "never"
|
||||
}
|
||||
],
|
||||
"explorer/context": [
|
||||
|
@ -400,6 +410,11 @@
|
|||
"command": "maven.project.addDependency",
|
||||
"when": "view == javaProjectExplorer && viewItem =~ /java:container(?=.*?\\b\\+maven\\b)/",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
"command": "maven.goal.execute.fromProjectManager",
|
||||
"when": "view == javaProjectExplorer && viewItem =~ /java:project(?=.*?\\b\\+maven\\b)(?=.*?\\b\\+uri\\b)/",
|
||||
"group": "maven"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"contributes.commands.maven.archetype.update": "Update Maven Archetype Catalog",
|
||||
"contributes.commands.maven.favorites": "Favorites...",
|
||||
"contributes.commands.maven.history": "History...",
|
||||
"contributes.commands.maven.goal.execute": "Execute commands",
|
||||
"contributes.commands.maven.goal.execute": "Execute Commands...",
|
||||
"contributes.commands.maven.plugin.execute": "Run",
|
||||
"contributes.commands.maven.plugin.debug": "Debug",
|
||||
"contributes.commands.maven.view.hierarchical": "Switch to hierarchical view",
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"contributes.commands.maven.archetype.update": "更新 Maven 原型目录",
|
||||
"contributes.commands.maven.favorites": "收藏夹…",
|
||||
"contributes.commands.maven.history": "历史…",
|
||||
"contributes.commands.maven.goal.execute": "执行命令",
|
||||
"contributes.commands.maven.goal.execute": "执行命令...",
|
||||
"contributes.commands.maven.plugin.execute": "执行",
|
||||
"contributes.commands.maven.plugin.debug": "调试",
|
||||
"contributes.commands.maven.view.hierarchical": "切换到分层视图",
|
||||
|
|
|
@ -77,7 +77,8 @@ async function doActivate(_operationId: string, context: vscode.ExtensionContext
|
|||
registerCommand(context, "maven.archetype.update", updateArchetypeCatalogHandler);
|
||||
registerCommand(context, "maven.history", mavenHistoryHandler);
|
||||
registerCommand(context, "maven.favorites", runFavoriteCommandsHandler);
|
||||
registerCommand(context, "maven.goal.execute", async () => await Utils.executeMavenCommand());
|
||||
registerCommand(context, "maven.goal.execute", Utils.executeMavenCommand);
|
||||
registerCommand(context, "maven.goal.execute.fromProjectManager", Utils.executeMavenCommand);
|
||||
registerCommand(context, "maven.plugin.execute", async (pluginGoal: PluginGoal) => await executeInTerminal({ command: pluginGoal.name, pomfile: pluginGoal.plugin.project.pomPath }));
|
||||
registerCommand(context, "maven.view.flat", () => Settings.changeToFlatView());
|
||||
registerCommand(context, "maven.view.hierarchical", () => Settings.changeToHierarchicalView());
|
||||
|
|
|
@ -5,6 +5,7 @@ import * as fse from "fs-extra";
|
|||
import * as http from "http";
|
||||
import * as https from "https";
|
||||
import * as md5 from "md5";
|
||||
import * as path from "path";
|
||||
import * as url from "url";
|
||||
import { commands, Progress, ProgressLocation, RelativePattern, TextDocument, Uri, ViewColumn, window, workspace, WorkspaceFolder } from "vscode";
|
||||
import { createUuid, setUserError } from "vscode-extension-telemetry-wrapper";
|
||||
|
@ -232,9 +233,18 @@ export namespace Utils {
|
|||
}
|
||||
}
|
||||
|
||||
export async function executeMavenCommand(): Promise<void> {
|
||||
export async function executeMavenCommand(node?: any): Promise<void> {
|
||||
// for nodes from Project Manager
|
||||
let selectedProject: MavenProject | undefined;
|
||||
if (node && node.uri) {
|
||||
const pomPath: string = path.join(Uri.parse(node.uri).fsPath, "pom.xml");
|
||||
selectedProject = mavenExplorerProvider.mavenProjectNodes.find(project => project.pomPath.toLowerCase() === pomPath.toLowerCase());
|
||||
}
|
||||
// select a project(pomfile)
|
||||
const selectedProject: MavenProject | undefined = await selectProjectIfNecessary();
|
||||
if (!selectedProject) {
|
||||
selectedProject = await selectProjectIfNecessary();
|
||||
}
|
||||
|
||||
if (!selectedProject) {
|
||||
return;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче