如何在VS Code扩展中为快捷键绑定添加描述以显示在扩展展示视图?
在VS Code扩展中为快捷键绑定添加描述并显示在扩展视图的方法
你目前在package.json里的快捷键配置虽已添加description字段,但要让该描述显示在扩展展示视图中,需注意以下关键事项:
- 避免复用VS Code内置命令(如你当前使用的
editor.action.insertSnippet),内置命令的快捷键描述不会在扩展视图中展示,只有扩展自定义命令对应的快捷键描述才会被显示。 - 正确的做法是先在
package.json的contributes.commands字段中定义专属命令,再为其绑定快捷键:
示例配置:
"contributes": { "commands": [ { "command": "your-extension.insertHtmlStarter", "title": "Insert HTML Starter Code", "description": "快速插入HTML5初始模板代码" } ], "keybindings": [ { "key": "ctrl+shift+h", "mac": "cmd+shift+h", "command": "your-extension.insertHtmlStarter", "when": "editorTextFocus && editorLangId == html" } ] }
- 最后在扩展的主代码文件中注册这个自定义命令,实现插入代码片段的逻辑:
// extension.js 示例代码 const vscode = require('vscode'); function activate(context) { let disposable = vscode.commands.registerCommand('your-extension.insertHtmlStarter', () => { const editor = vscode.window.activeTextEditor; if (editor) { // 替换为你的HTML5初始模板代码 const htmlTemplate = `<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> </body> </html>`; editor.insertSnippet(new vscode.SnippetString(htmlTemplate)); } }); context.subscriptions.push(disposable); } exports.activate = activate;
完成以上配置后,你的快捷键描述就会正常显示在扩展的展示视图中。
内容的提问来源于stack exchange,提问作者skander
相关产品推荐
相关产品推荐

