#visual-studio-code
#visual-studio-code
Вопрос:
Я нахожусь в процессе рефакторинга своего кода на Python для использования обозначения подчеркивания, как описано в PEP8, и я использую инструмент поиска и замены VS Code. Проблема в том, что вхождения слов в кавычках также заменяются. Как я могу заменить все вхождения, которые не заключены в кавычки?
Пример:
fooBar = df["fooBar"]
Требуется после поиска и замены
foo_bar = df["fooBar"]
Комментарии:
1. вы выполняете рефакторинг переменных, устанавливаете курсор на переменную и нажимаете
F2
2. Попробовав это, он смог изменить имя переменной, не меняя fooBar в кавычках, но не реорганизовал все остальные экземпляры. Есть ли способ заставить это работать со всеми другими экземплярами в документе одновременно?
3. если у вас есть правильный языковой сервер, он должен изменить все экземпляры переменной, если вы наведете курсор на имя переменной, он выделит другие экземпляры
Ответ №1:
Функции поиска VS Code поддерживают регулярные выражения, и вы можете использовать отрицательный шаблон lookbehind, чтобы найти «все строки fooBar, которым не предшествует кавычка«: (?<!")fooBar
.
(1) включает выражения регулярных выражений при поиске. Как вы можете видеть, это игнорирует все "fooBar"
экземпляры. Затем вы также можете включить (2), чтобы он включал сопоставление всего слова (чтобы оно не совпадало с «fooBar123»).
В качестве примечания, я надеюсь, что у вас есть автоматические тесты, которые вы можете запустить после выполнения всех этих переименований 🙂