В настоящее время я работаю над расширением для кода Visual Studio, которое делает Touch Bar на моем Macbook Pro немного более полезным. Чтобы выполнить некоторые из моих целей для этого расширения, я хотел бы иметь возможность изменять значок команды во время выполнения.
Однако мне трудно понять, как это сделать. Чтобы вернуть его к самому простому примеру:
по моему extension.ts
let disposable = vscode.commands.registerCommand('extension.openX', () => {
// Here i'd like to do something with the command that was fired, like for example modify the icon or title
vscode.commands.getCommands().then((commands) => {
console.log(commands);
});
};
По моему package.json
"contributes": {
"commands": [
{
"command": "extension.openX",
"title": "Open X",
"icon": "./assets/ci.png"
}
],
"menus": {
"touchBar": [
{
"command": "extension.openX",
"group": "ci"
}
]
}
Есть ли способ сделать это, или мне нужно было бы поработать с добавлением нескольких различных команд с определенными значками и с помощью опции "when"
, чтобы показать правильный значок в нужное время?
Я бы предпочел избегать этого, потому что я бы предпочел, чтобы количество различных возможных состояний динамически основывалось на некотором внешнем API.