#visual-studio-code #code-snippets
#visual-studio-code #фрагменты кода
Вопрос:
У меня был этот полезный фрагмент в Sublime Text 3 некоторое время, и я пытаюсь воспроизвести его в VS Code, но безуспешно.
<snippet>
<content><![CDATA[
/** @test */
public function ${1/s/_/g}()
{
${0:// ${1:type name of method with spaces}}
}
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>phpunit</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.php</scope> -->
</snippet>
Я в основном создал тот же фрагмент в VS Code, но он жалуется, что s
это недопустимый escape-символ.
Где я ошибаюсь? Отсутствует ли поддержка поиска пробелов?
Хотелось бы, чтобы этот фрагмент снова заработал, поскольку это полезная экономия времени.
Комментарии:
1. Попробуйте дважды экранировать это или даже три экранирования. Я не могу проверить прямо сейчас.
Ответ №1:
Просто дважды экранируйте его:
public function ${1/\s/_/g}()
и это будет работать нормально. Смотрите Примеры преобразования и экранирование:
Примеры приведены в двойных кавычках, как они появлялись бы внутри тела фрагмента, чтобы проиллюстрировать необходимость двойного экранирования определенных символов.
Комментарии:
1. Спасибо — но боюсь, что двойное экранирование не имеет никакого эффекта.
2. Я вижу, что ранее допустил опечатку — я просто исправил это выше, и я ранее протестировал это. Это работает.
3. Ах да — вы должны снова нажать «tab» после ввода, чтобы преобразование вступило в силу. В Sublime вы видите, как он преобразуется по мере ввода. Подтвердите, что двойное экранирование (ваш пример выше) работает 🙂