vscode 建立一个下拉选框_VSCode插件开发全攻略(四)命令、菜单、快捷键

命令

我们在前面HelloWord章节中已经提到了命令写法,这里再重温一下。

context.subscriptions.push(vscode.commands.registerCommand('extension.sayHello', () => {

vscode.window.showInformationMessage('您执行了extension.sayHello命令!');

}));

然后在清单文件声明:

"commands": [

{

"command": "extension.sayHello",

"title": "Hello World"

},

]

vscode.commands.registerCommand是注册命令的API,执行后会返回一个Disposable对象,所有注册类的API执行后都需要将返回结果放到context.subscriptions中去。

回调函数参数

回调函数接收一个可选参数uri:

当从资源管理器中右键执行命令时会把当前选中资源路径uri作为参数传过;

当从编辑器中右键菜单执行时则会将当前打开文件路径URI传过去;

当直接按Ctrl+Shift+P执行命令时,这个参数为空;

示例:

context.subscriptions.push(vscode.commands.registerCommand('extension.demo.getCurrentFilePath', (uri) => {

vscode.window.showInformationMessage(`当前文件(夹)路径是:${uri ? uri.path : '空'}`);

}));

package.json如下:

"menus": {

"editor/context": [

{

"when": "editorFocus",

"command": "extension.demo.getCurrentFilePath",

"group": "navigation"

}

],

"explorer/context": [

{

"command": "extension.demo.getCurrentFilePath",

"group": "navigation"

}

]

}

}

最终效果&#x

你可能感兴趣的:(vscode,建立一个下拉选框)