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

编程vscode扩展时……

是否有一种编程方式来查找提供的命令的键绑定?

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

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

> vscode.workspace.getConfiguration() – 我无法确定如何访问keybindings.json文件/执行查找.
> vscode.extensions.getExtension(name / id)允许访问package.json,但不允许访问命令或键绑定覆盖.
> vscode.getCommands不提供对键绑定值的访问……

最佳答案 您可以使用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
    //...
});
点赞