你能创建一个特定于语言的扩展命令吗?
Can you create a language specific extension command?
开发 VSCode 扩展时,是否可以创建仅适用于某些语言的扩展命令?
在您的 package.json
清单中,您可以激活每种语言的扩展程序:
"activationEvents": [
"onLanguage:html"
]
但是,所有扩展的命令面板中仍然有一个命令。在扩展程序被激活之前它不会工作。
我不知道如何制作命令,只针对特定语言出现...您可以这样定义命令:
"contributes": {
"commands": [{
"command": "extension.sayHello",
"title": "Hello World"
}]
}
但此命令适用于命令面板中的所有语言。在我的示例中,我想要创建的特定命令实际上只对 HTML 语言有意义。该命令专门在某处查询一个 API,然后将一些 HTML 插入到当前文件中。所以很明显,将此命令用于 python
或 ruby
等其他语言是没有意义的
可以这样做吗?
在 VSCode 1.10 中添加了对此的支持:https://code.visualstudio.com/updates/v1_10#_context-specific-visibility-of-command-palette-menu-items
在你的package.json
中:
"commands": [{
"command": "extension.sayHello",
"title": "Hello World"
}],
"menus": {
"commandPalette": [{
"command": "extension.sayHello",
"when": "editorLangId == html"
}]
}
开发 VSCode 扩展时,是否可以创建仅适用于某些语言的扩展命令?
在您的 package.json
清单中,您可以激活每种语言的扩展程序:
"activationEvents": [
"onLanguage:html"
]
但是,所有扩展的命令面板中仍然有一个命令。在扩展程序被激活之前它不会工作。
我不知道如何制作命令,只针对特定语言出现...您可以这样定义命令:
"contributes": {
"commands": [{
"command": "extension.sayHello",
"title": "Hello World"
}]
}
但此命令适用于命令面板中的所有语言。在我的示例中,我想要创建的特定命令实际上只对 HTML 语言有意义。该命令专门在某处查询一个 API,然后将一些 HTML 插入到当前文件中。所以很明显,将此命令用于 python
或 ruby
等其他语言是没有意义的
可以这样做吗?
在 VSCode 1.10 中添加了对此的支持:https://code.visualstudio.com/updates/v1_10#_context-specific-visibility-of-command-palette-menu-items
在你的package.json
中:
"commands": [{
"command": "extension.sayHello",
"title": "Hello World"
}],
"menus": {
"commandPalette": [{
"command": "extension.sayHello",
"when": "editorLangId == html"
}]
}