Конкурирующие языковые конфигурации в расширениях VSCode - PullRequest
1 голос
/ 14 мая 2019

Кто-нибудь знает, как ведет себя VSCode, когда несколько расширений предоставляют файл конфигурации языка для одного и того же языка через точку ввода contributes.languages?

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

Это один или другой? Если да, то на чем? Документы предполагают, что несколько конфигов в порядке , поскольку в нем говорится, что точка вклада также служит способом "обогащения" знания языка VSCode, но я не могу заставить свое расширение добавить автоматическое закрытие пара.

Я уверен, что я использую правильный идентификатор языка (идентификатор, который используют другие расширения, конфигурирующие этот язык), а также расширения.

Если это позволит мне просто расширить конфигурацию языка, должен ли я предоставлять ТОЛЬКО ту информацию, которая мне нужна, в файле language-configuration.json? Например:

{
    "autoClosingPairs": [
        { "open": "/**", "close": " */", "notIn": ["string"] }
    ]
}

Если все это имеет смысл, и вклад не работает, есть ли у кого-нибудь предложения по устранению проблемы? Заранее спасибо.

1 Ответ

0 голосов
/ 24 мая 2019

Хорошо, если кто-то когда-либо сталкивался с этим (вряд ли, учитывая количество внимания, которое получил этот вопрос :) О, хорошо.) Ваша проблема может быть клавишей publisher в манифесте package.json.

После нескольких дней хватания за соломинку я наконец начал экспериментировать с вещами, которые не имели смысла и, казалось бы, не должны были на это влиять.Поэтому я начал удалять ключи, связанные с расширением VSCode, из моего package.json, и, конечно же, когда я достиг publisher, вуаля!Моя языковая конфигурация наконец-то заняла.

Моя первоначальная гипотеза о "почему?" Заключалась в том, что vscode регистрировал расширения в алфавитном порядке за кулисами, и издатель другого расширения, вероятно, предшествовал имени моего издателя.Но, увы, мое имя издателя было dubs-dev-extensions, а имя издателя конкурирующего расширения, которое также конфигурирует язык, о котором идет речь, было salesforce, так что эта гипотеза подтверждается.Кроме того, когда я решил изменить свое имя издателя, чтобы посмотреть, что произошло, я выбрал peter-weinberg, и это также сработало (поэтому оно работало без ключа издателя и с новым именем издателя).И peter-weinberg, и dubs-dev-extensions предшествуют salesforce, поэтому алфавитный ответ был определен, а не ответ.На момент написания этой статьи я был озадачен и постараюсь сообщить об этом vscode как об ошибке, и если это не так, по крайней мере, я надеюсь получить объяснение, почему я столкнулся с таким странным поведением.

...