编程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
//...
});