编程 vscode 扩展程序时... 是否有编程方法来查找提供的命令的键绑定?
我希望能够看到用户是否已更新命令的默认键映射,以便UI可以显示最新的绑定。 (如果没有,请查找默认绑定)
以下是我到目前为止所研究的API:
vscode.workspace.getConfiguration()
- 我无法确定如何访问keybindings.json
文件/执行查找。
vscode.extensions.getExtension(name/id)
允许访问package.json
,但不允许访问命令或键绑定覆盖。
vscode.getCommands
无法访问键绑定值...
答案 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
//...
});