Как добавить общеязыковые фрагменты в Visual Studio Code?

В официальной документации vscode я видел, что можно создавать собственные фрагменты для каждого языка. https://code.visualstudio.com/Docs/customization/userdefinedsnippets

Ex. (languageId).json

Но если я хочу определить фрагменты, общие для всех языков? Это возможно?


person Gabriele Mantovani    schedule 02.12.2016    source источник


Ответы (2)


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


Для полноты картины расширения VSCode могут регистрировать одни и те же фрагменты для нескольких языков, но они должны явно указывать все языки, для которых они предоставляют фрагменты (нет опции "language": "*").

person Matt Bierner    schedule 02.12.2016
comment
Мэтт, мне трудно найти, как именно реализовать вторую часть твоего ответа. Я использую шаблонное расширение html, здесь: github.com/sidthesloth92/vsc_html5_boilerplate, и изменил snippets в package.json, чтобы добавить еще одну ссылку, указывающую php для языка и указывающую на тот же файл фрагментов (и перезапущенный VS Code), но безрезультатно. Любые подсказки? - person Dave Nottage; 16.06.2017
comment
Неважно .. Теперь я понимаю, что мне нужно было использовать лезвие в качестве языка, так как я добавил поддержку этого - person Dave Nottage; 18.06.2017

Для полноты глобальные фрагменты теперь поддерживаются в VS Code из коробки.

Вероятно, избыточная информация, так как пользовательский интерфейс уже направляет вас к ней через автоматически сгенерированный файл global.code-snippets, когда вы открываете User Snippets в меню.

Однако чего-то, чего я не знал и нашел в этом ответе, пытаясь найти, является то, что вы также можете использовать поле scope для сужения глобальных фрагментов до определенного подмножества языков.

Например, если я хочу, чтобы определенный фрагмент был доступен как в javascript, так и в машинописи, но только в javascript и машинописи (потому что это раздражает, если он также появляется на других языках)

"My Snippet": {
  "prefix": "my-snippet",
  "body": [ "my snippet code..." ],
  "scope": "javascript,typescript" // define a strict subset of languages here
}
person davnicwil    schedule 08.10.2019