Какие есть типы расширений в VSCode?

Привет, я создаю свое первое расширение для VSCode, следуя официальному руководству После запуска команды yo code для создания шаблона программа спросит, какой тип расширения создать. Я не смог найти никаких документов для этих типов расширений, которые помогли бы мне определить, чем они отличаются друг от друга, за исключением Языковые расширения.

Было бы полезно, если бы была какая-то документация, объясняющая это.

Запуск вашего кода в vscode


person Adnan Ahmed    schedule 17.12.2020    source источник
comment
что вы хотите, чтобы расширение делало?   -  person rioV8    schedule 17.12.2020
comment
@rioV8 Расширение представляет собой средство предварительного просмотра HTML.   -  person Adnan Ahmed    schedule 17.12.2020


Ответы (1)


Сверху вниз:

  1. Расширение, которое добавляет любую из возможных точек вклада (тема, сочетания клавиш, языковая поддержка, значки, фрагменты и т. д.). Исходным языком является Typescript, но вы можете использовать другие языки в любое время, если их можно преобразовать в Javascript.

  2. Как 1), но с JS в качестве исходного языка. Тем не менее, вы можете использовать и другие языки.

  3. Цветовая тема для подсветки синтаксиса, представляющая собой набор цветов для предопределенных типов токенов (эти типы определяются расширением языка, предоставленным либо другим расширением, либо вашим).

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

  5. Фрагменты кода, чтобы предоставить небольшие части кода для использования во время программирования.

  6. Keymap, чтобы предоставить определенные сочетания клавиш (например, vim — очень популярное сочетание клавиш).

  7. Пакет расширений, не уверен в этом на 100%, но я считаю, что он объединяет несколько расширений в одно (например, если у вас есть отдельные сочетания клавиш и расширения цветовых тем, вы можете упаковать их в объединенное расширение).

  8. Ранее упомянутый языковой сервер. Обработка языка может занять много времени, и вы не хотите блокировать основной поток (UI). Таким образом, любая такая обработка может быть перенесена на языковой сервер, который даже может быть написан на более быстрых языках, таких как C++, для максимальной производительности.

Учитывая этот список, должно быть ясно, что вы хотите 1), 2) или 4).

person Mike Lischke    schedule 17.12.2020
comment
не могли бы вы предоставить ссылку на это, пожалуйста? - person Adnan Ahmed; 17.12.2020
comment
Вы имеете в виду интернет-ресурс, в котором говорится именно об этом? Я ничего не знаю, это объяснение из моего собственного опыта. - person Mike Lischke; 18.12.2020
comment
спасибо за ответ, он показывает кумулятивное исследование, но его нужно было задокументировать в любом случае. - person Adnan Ahmed; 18.12.2020