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

时间:2016-11-18 16:41:27

标签: visual-studio-code key-bindings vscode-extensions

编程 vscode 扩展程序时... 是否有编程方法来查找提供的命令的键绑定?

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

以下是我到目前为止所研究的API:

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

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

  • vscode.getCommands无法访问键绑定值...

1 个答案:

答案 0 :(得分:2)

您可以使用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

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

例如对于MacOS,它将是:

var process = require('process');
//...
var keybindingsPath = process.env.HOME + "/Library/Application Support/Code/User/keybindings.json";

vscode.workspace.openTextDocument(keybindingsPath).then((document) => {
    let text = document.getText();
    //then use this JSON file for your needs
    //...
});