Как изменить нижний регистр на верхний, используя регулярные выражения в коде Visual Studio
Я использую Visual Studio Code 1.14.2, и я пытаюсь изменить имя переменных на camelCase, например. set_nominal_wavelength
для setNominalWavelength
.
Регулярное выражение: _([az])
Заменить: \U$1\E
не работает. Любая идея, как его достичь?
Ответы
Ответ 1
Существует обходной путь:
- Откройте диалог замены и введите регулярное выражение:
_([az])
- Затем переместите фокус в область редактора и нажмите Ctrl + F2 ("Изменить все вхождения")
- Затем измените регистр выделения (Ctrl + P> верхний)
- Затем нажмите клавишу со стрелкой влево и нажмите клавишу удаления
Ответ 2
Вы можете использовать другие инструменты, поддерживающие операторы case case, такие как Notepad++, sed
, R (gsub
с perl=TRUE
), но VS Code не поддерживает эти операторы в шаблоне замены.
См. Этот запрос функции GitHub:
Это здорово. Это выходит за рамки того, что в настоящее время поддерживается javascript.
Нам нужно придумать наш собственный усовершенствованный двигатель замены для поддержки этих случаев.
Ответ 3
В октябре 2017 года в vscode были добавлены преобразования переменных фрагмента, см . Примечания к выпуску за сентябрь 2017 года, преобразования фрагментов.
На тот момент вы могли сделать это довольно легко, но вы должны установить простую привязку клавиш:
{
"key": "alt+-",
"command": "editor.action.insertSnippet",
"args": {
"snippet": "${TM_SELECTED_TEXT/_([a-z])/${1:/capitalize}/g}"
}
}
- Введите
_([az])
в панель поиска, - Ctrl - Shift - L, чтобы выбрать все совпадения, и
- Запустите выбранную комбинацию клавиш из приведенного выше примера.
Нет необходимости изменения фокуса.
![demo of camelCase snippet transform]()
К сожалению, по состоянию на июнь 2019 года никаких изменений по этому вопросу, приведенных в разделе " Преобразования дела Виктора", не было заменено.