Как сделать переменные пользовательские данные доступными для пользовательского расширения? - PullRequest
0 голосов
/ 15 января 2019

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

Краткое описание. Я создаю собственное расширение для кода. Код будет запущен другим приложением. Это другое приложение должно передать некоторую информацию в Code и в расширение, зависящее от того, откуда запускается Code, но я понятия не имею, как мне это сделать. Когда из Pallette выдается команда, расширение будет использовать эту информацию для выполнения определенных действий.

Я искал аргументы командной строки, но не могу найти документацию или поиски в Google, которые показывают мне, как расширение может получить доступ к командной строке и проанализировать аргументы.

Аргументами могут быть идентификаторы клиента и другие конкретные данные, которые ни Код, ни расширение не могут найти самостоятельно, если какое-либо значение не будет передано из запускающего приложения в Код ...

Могу ли я предположить, что расширение не может читать аргументы командной строки или я просто тупо плохо разбираюсь в VS Code? Bla bla google search?

Я добавил аргумент для launch.json "--testparameter = testvalue" и вижу, что code.exe запускается с этим параметром, но то, как мое расширение получает доступ к этому параметру, мне неизвестно ...

1 Ответ

0 голосов
/ 05 апреля 2019

Мы решили эту проблему, добавив в другое приложение все необходимые настройки в файл .code-workspace. К этим данным можно легко получить доступ, используя встроенные объекты конфигурации рабочей области. Скажем, файл содержит параметр с именем extension.friendlyname, вот как мы его читаем:

getFriendlyName(): string
{
    return this.getConfig('extension.friendlyname');
}

private getConfig(configName:string): string
{
    const configuration = vscode.workspace.getConfiguration();
    const configValue = configuration.get(configName);
    return  String(configValue);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...