Фрагмент vscode - преобразовать и заменить имя файла - PullRequest
1 голос
/ 27 июня 2019

мое имя файла

некоторые-фантазийных ui.component.html

Я хочу использовать фрагмент кода vscode, чтобы преобразовать его в

SOME_FANCY_UI

Так в основном

  1. применить прописные буквы к каждому символу
  2. Заменить все - на _
  3. Удалить .component.html

В настоящее время у меня есть

'$ {TM_FILENAME /(.) (-) (* * тысячу двадцать семь) / $ {1:. / Upcase} $ {2: / _} $ {3: / Upcase} / г}'

, что дает мне это

НАСТР-ПРИНТЕР-SERVER-LIST.COMPONENT.HTML '

В документах не объясняется, как применять замену в сочетании с их преобразованиями в группах регулярных выражений.

1 Ответ

1 голос
/ 27 июня 2019

Если куски, которые вам нужны, разделены на - или ., вы можете использовать

"Filename to UPPER_SNAKE_CASE": {
    "prefix": "usc_",
    "body": [
        "${TM_FILENAME/\\.component\\.html$|(^|[-.])([^-.]+)/${1:+_}${2:/upcase}/g}"
    ],
    "description": "Convert filename to UPPER_SNAKE_CASE dropping .component.html at the end"
}

Здесь вы можете проверить регулярные выражения .

  • \.component\.html$ - соответствует .component.html в конце строки
  • | - или
  • (^|[-.]) захват начала строки или - / . в группу 1
  • ([^-.]+) захватить любые 1+ символов кроме - и . в Группу 2.

Замена ${1:+_}${2:/upcase} означает:

  • ${1:+ - если группа 1 не пуста,
  • _ - заменить на _
  • } - конец обработки первой группы
  • ${2:/upcase} - вернуть значение группы 2 обратно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...