Расширение кода VS: Скрыть команды из палитры команд - PullRequest
3 голосов
/ 21 марта 2019

Справочная информация:

В настоящее время я работаю над простым расширением кода VS, которое будет предоставлять динамически установленные переменные команды для моих задач сборки и отладки.План состоит в том, чтобы иметь ряд атрибутов, которые будут доступны в launch.json и т. Д. Через синтаксис "${command:extension.myCommand}".

Регистрация таких команд так же проста, как добавление записи в файл package.json.Например:

"contributes": {
    "commands": [
        {
            "command": "extension.myCommand",
            "title": ""
        }
    ]
}

и выполнение соответствующих команд в моем основном файле расширения:

let disposable = vscode.commands.registerCommand('extension.myCommand', () => {
    return "dynvar";
});
context.subscriptions.push(disposable);

Проблема :

К сожалению, эти командытеперь также появляются в палитре команд, и поскольку они не имеют никакого интерактивного использования, что довольно раздражает.

Вопрос:

Есть ли способ, которым я могу скрыть командыспособствовал через расширения из палитры команд VS Code?

Ответы [ 2 ]

2 голосов
/ 21 марта 2019

Если вам не нужно связывать "icon" или "title" с вашей командой, вы можете просто опустить ее из "commands" - команды, которые там не перечислены, все еще могут быть вызваны, если они имеют был зарегистрирован через vscode.commands.

В противном случае вы можете использовать следующий трюк, чтобы скрыть его из палитры команд:

"contributes": {
    "menus": {
        "commandPalette": [
            {
                "command": "extension.myCommand",
                "when": "false"
            }
        ]
    }
}
0 голосов
/ 23 марта 2019
"contributes": {
"commands": [
    {
        "command": "extension.myHiddenCommand",
        "title": "Compile folder"
    }
],
"menus": {
    "commandPalette": [
        {
            "command": "extension.myHiddenCommand",
            "when": "false"
        }
    ]
}

}

...