Просто установите фрагмент для замены. Почему? Потому что фрагменты могут преобразовывать в верхний и нижний регистр и легко вводить группы заглавных букв. Кроме того, хотя вам это здесь не нужно, они также могут выполнять условные замены, которые могут оказаться чрезвычайно полезными для вас в будущем.
Вот простой фрагмент:
{
"key": "shift+alt+y", // whatever keybinding you choose
"command": "editor.action.insertSnippet",
"args": {
// see how simple this regex can be after you have found and selected your matches
"snippet": "${TM_SELECTED_TEXT/(.*\\.)(.*)/$1get${2:/capitalize}()/g}"
},
"when": "editorTextFocus && editorHasSelection"
},
Вы еще нужно найти то, что вы хотите изменить, вы можете использовать свое оригинальное регулярное выражение, если хотите
\w+\.\w+\.(\w)(\w+)
Я предлагаю (.+\.)([^\.\s]+)(?!.*\.)
см. https://regex101.com/r/NbXgs3/2 это обрабатывает несколько крайних случаев.
И позволяет вам иметь более глубокие структуры , такие как registerForm.main.subMain.myApplicant
, et c. до любого числа или менее , например registerForm.myApplicant
.
- Шаг 1. Введите свое регулярное выражение в виджет «Поиск».
- Шаг 2: Alt + Введите , чтобы выбрать все совпадения для поиска.
- Шаг 3. Запустите ваш фрагмент выше, здесь Shift + Alt + Y
Довольно просто. А затем просто сохраните фрагмент как как скелет , чтобы использовать его для последующего поиска / замены регистром или условными преобразованиями. Обычно внутреннее регулярное выражение - внутри фрагмента, здесь (.*\\.)(.*)
- относительно просто, так как оно действует только на предварительно выбранные вами записи, и, следовательно, преобразование проще выполнить.