VS Code扩展-以编程方式查找键绑定

Jon*_*n G 5 key-bindings visual-studio-code vscode-extensions

在对vscode扩展进行编程时...是否可以通过编程方式找到所提供命令的键绑定?

我希望能够查看用户是否已从命令的默认键更新键映射,以便UI可以显示最新绑定。(如果没有,请查找默认绑定)

到目前为止,我已经研究了以下API:

  • vscode.workspace.getConfiguration()-我无法确定如何访问keybindings.json文件/执行查找。

  • vscode.extensions.getExtension(name/id)允许访问package.json,但不能访问命令或键绑定替代。

  • vscode.getCommands 也不提供对绑定值的访问...

小智 3

您可以使用 NodeJS 从 keybindings.json 文件中获取键绑定值。

不同系统上的 keybindings.json 路径:

Windows: %APPDATA%\Code\User\keybindings.json
Mac: $HOME/Library/Application Support/Code/User/keybindings.json
Linux: $HOME/.config/Code/User/keybindings.json
Run Code Online (Sandbox Code Playgroud)

要构建路径,您需要使用 process.env.{variableName} 获取环境变量。

例如,对于 MacOS,它将是:

Windows: %APPDATA%\Code\User\keybindings.json
Mac: $HOME/Library/Application Support/Code/User/keybindings.json
Linux: $HOME/.config/Code/User/keybindings.json
Run Code Online (Sandbox Code Playgroud)