#visual-studio-code #code-snippets #vscode-snippets
#visual-studio-code #фрагменты кода #vscode-сниппеты
Вопрос:
Если я уже нахожусь в фрагменте и нажимаю tab
, я перейду к следующему заполнителю. Однако, если я уже нахожусь в заполнителе и ввел префикс, который должен вызвать другой фрагмент, если я нажму tab, я перейду к следующему заполнителю вместо расширения только что введенного префикса. Есть ли способ расширить префикс, который я только что ввел в фрагменте?
Вот пример:
"test": {
"prefix": "t",
"body": "|${1}|${2}",
},
"text": {
"prefix": "a",
"body": "asdfghjkl",
}
Если я введу t
, я перейду к: ||
Если я введу a
первый заполнитель и нажму tab, я получу: |a|
где мой курсор находится на заполнителе $ {2}
, который я хотел бы получить: |asdfghjkl|
вместо
Ответ №1:
Основная проблема заключается в том, что после ввода a
у вас есть |a|
, и vscode не распознает это a
как префикс фрагмента. Похоже |a
на vscode. Итак, если вы на самом деле сделали свой второй префикс |
равным, который будет распознан как префикс, например:
"text": {
"prefix": "|a",
"body": "asdfghjkl",
}
Вам все равно нужно Ctrl Space, чтобы показать предложения и Enterпринять предложение. A Tabпросто перейдите к следующей остановке табуляции
В качестве альтернативы, если бы вы могли вставить пробел, например
"test4": {
"prefix": "t",
"body": "| ${1}|${2}", // space added here
},
тогда вам не придется изменять второй фрагмент.
Кроме того, убедитесь, что у вас есть
Editor > Suggest: Snippets Prevent Quick Suggestions
отключено (по умолчанию включено), чтобы вы могли запускать предложения в первом фрагменте, но вы должны вручную запускать их самостоятельно с Ctrlпомощью Space, как упоминалось выше.