如何创建自定义键绑定以将语法突出显示更改为 Visual Studio 代码中的特定语言?

How can I create a custom keybinding to change syntax highlighting to a specific language in Visual Studio Code?

{ "key": "ctrl+k m",              
       "command": "workbench.action.editor.changeLanguageMode" },

基于上面触发 'Select Language Mode' 下拉菜单的默认键绑定,我假设我应该能够在自定义中传入另一个参数(或优化 "command" 字符串) keybindinds.json 字符串强制 select 特定语言语法文件的离子。

在 SublimeText 3 中,我自定义的 .json 键绑定切换到 SQL 语法高亮看起来像这样:

{"keys": ["alt+s"], "command": "set_file_type",
    "args": {"syntax": "Packages/SQL/SQL.sublime-syntax"}}

我可以传递什么附加参数来强制 workbench.action.editor.changeLanguageMode 到 select 一个特定的语言标识符?

https://code.visualstudio.com/docs/languages/identifiers

https://github.com/Microsoft/vscode/blob/2e2b47a4944ad1dfc7bbc58756c91aa3188cfa04/src/vs/workbench/browser/parts/editor/editorStatus.ts

目前似乎无法直接为文件设置语言。 workbench.action.editor.changeLanguageMode 命令不接受任何参数,而是在初始命令调用 (github) 之后使用快速选择器获取语言。扩展也没有办法操纵它。

Here is a related issue 要求将其公开给 API。

你可以用扩展名来做:

{
    "key": "ctrl+shift+8",
    "command": "changeLanguageMode.change",
    "args": "sql"
}

https://marketplace.visualstudio.com/items?itemName=usernamehw.change-language-mode