Хотя вы не можете заменить строчный идентификатор в vscode, у вас все еще есть некоторые опции.
Используйте регулярное выражение типа (?<=testVars\.).*\.component(.*)
, чтобы testVars.
не захватывалось - потому что Вы не хотите менять его регистр.
Ctrl + Shift + L , чтобы выбрать все ваши совпадения ( тоже самое, что editor.action.selectHighlights
).
Ctrl + Shift + P , тип lower
и триггер, который команда (или создайте привязку клавиш для этой несвязанной команды).
Включите replaceAll
Чтобы ускорить это у вас есть два варианта. (1) Создайте макрос, который будет выполнять шаги 2, 3 и 4. Или (2) создайте фрагмент, который преобразует ваш выбор - эффективно выполняя шаги 3 и 4.
Фрагмент в ваших сочетаниях клавиш. json (отсутствует в файле фрагмента):
{
"key": "alt+m", // choose some keybinding
"command": "editor.action.insertSnippet",
"args": {
"snippet": "${TM_SELECTED_TEXT/.*\\.component(.*)/dough.${1:/downcase}/}"
},
},
, а затем Ctrl + Shift + L для выбора всех и alt + m для запуска вышеуказанного insertSnippet
.
Макрос подход:
Используя некоторое расширение макроса, здесь multi-command , введите это в свои настройки. json:
"multiCommand.commands": [
{
"command": "multiCommand.findReplaceLowercase",
"sequence": [
"editor.action.selectHighlights", {
"command": "editor.action.insertSnippet",
"args": {
"name": "replace and lowercase",
}
},
]
}
]
и фрагмент, в одном из ваших файлов фрагментов:
"replace and lowercase": { // this "label" is used in the macro
"prefix": "for",
"body": [
"${TM_SELECTED_TEXT/.*\\.component(.*)/dough.${1:/downcase}/}"
// "${TM_SELECTED_TEXT/(.*)/${1:/downcase}/}" // to downcase all selected text
],
"description": "replace selected text"
},
и связывание клавиш для запуска макроса:
{
"key": "alt+m", // choose some keybinding
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.findReplaceLowercase" },
}
В демоверсии я копирую регулярное выражение поиска в виджет поиска (или просто пишу его там, не имеет значения, как он туда попадает или где находится фокус), а затем нажимаю alt + m (связывание макросов) и все.
Очевидно, это выглядит Это большая работа, но вы можете продолжать повторное использование макроса и фрагмента , преобразовывая их в результат замены, который вы хотели бы получить в следующий раз. И там вы можете использовать /downcase
, /upcase
, /capitalize
и /pascalcase
все, что вы не можете использовать в поле замены виджетов поиска / поиска.