Я включил фрагмент "log" по умолчанию в VS Code. Я также добавил еще один фрагмент. Ни один из них не появляется, когда я печатаю их префиксы. Я установил editor.tabCompletion
в true.
Любая идея, почему они не работают?
Я включил фрагмент "log" по умолчанию в VS Code. Я также добавил еще один фрагмент. Ни один из них не появляется, когда я печатаю их префиксы. Я установил editor.tabCompletion
в true.
Любая идея, почему они не работают?
Есть несколько способов решить эту проблему. Проблема заключается в том, что Intellisense мешает или по умолчанию помещает ваши фрагменты в нижней части списка.
Сначала я сыграл с задержкой предложения, но затем я решил, что Intellisense поместит мои фрагменты в верхнюю часть списка предложений с предпочтением пользователя snippetSuggestions
:
{
"editor.tabCompletion": true,
"editor.snippetSuggestions": "top"
}
Иногда очевидное, что упускается из виду первым. После запуска VSCode и создания нового документа (Ctrl + N) может удивить, что фрагменты не работают. Проверьте в правом нижнем углу редактора VSCode, по умолчанию представлен файл "Обычный текст". Измените тип файла на ваш любимый язык с помощью фрагментов кода.
Это может преодолеть некоторые ненужные проблемы со стрельбой ;-)
Если вы пытаетесь вставить фрагменты PHP, стоит отметить, что вы должны вручную включить
<?php
прежде чем фрагменты начнут работать.
На самом деле я обнаружил, что, когда у вас есть php intelliSense, и вы хотите, чтобы тег вкладки php открывался и закрывался, я добавил расширение также в тип файла html.
{
"Open php tag": {
"scope": "php, html",
"prefix": "php",
"body": [
"<?php",
" $1",
"?>"
],
"description": "Opens php tags"
}
}
Это сработало для меня:)
Я тоже испытывал эту проблему, когда создал свой первый фрагмент. Я добавил фрагмент, и ничего не произошло.
Перезагрузился код VS, и они начали работать.
Моя проблема заключалась в том, что некоторые фрагменты работали, а другие - нет. (например: JavaScript-фрагменты работали хорошо)
Моя проблема решена, когда я установил плагин, в который добавлена соответствующая специальная ассоциация filetype (im my case: *.blade.php)
При создании UserSnippets в blade.json он работал нормально.
Для тех, кто ищет переопределенный фрагмент по умолчанию (журнал)
Переопределение фрагмента файла log.json не работало для меня в пользовательских фрагментах (по крайней мере, для Typescript).
Решение: я создал новый глобальный фрагмент ("Файл"> "Настройки"> "Пользовательские фрагменты"> "Новый глобальный фрагмент кода") с другим именем "clog" (полное имя: "clog.code-snippets") и префиксом, и это сработало.
Я пытался установить фрагмент, чтобы автоматически добавлять открытые и закрытые теги php в свой файл, поскольку Robert Cooper отметил, что он работал только тогда, когда я уже писал внутри блок типа конкретного кода.
Поэтому я устанавливал !p
для загрузки <?php$1?>
всякий раз, когда я использую его внутри блока HTML. Фрагмент был установлен в файл html.json.
В моем случае это не сработало, потому что у меня был пробел в имени фрагмента
{
...,
"snippet name": { // it should be snippet_name. Notice the _
...
}
}
Поэтому убедитесь, что:
{name}.code-snippets
папке .vscode
spaces
typescript
и typescriptreact
.Не забудьте указать язык в глобальном фрагменте. В моем случае это исправлено.
{
"Print to console": {
"scope": "javascript,vuex,vue",
"prefix": "debes",
"body": [
"// eslint-disable-next-line",
"debugger;"
],
"description": "Log output to console"
}
}