Я не могу понять, как найти и заменить все вхождения слова в разных файлах с помощью Visual Studio Code версии 1.0.
Мне кажется, что это возможно, поскольку Ctrl + Shift + F позволяет мне просто искать в папке, но я не знаю, что делать дальше.
Я просмотрел различные комбинации клавиш https://code.visualstudio.com/Docs/ настройка/привязки клавиш
Но я только нашел, как заменить все вхождения в открытом файле (Ctrl + h)
Вся помощь с благодарностью принята, это сводит меня с ума.
Я использую Visual Studio Code 1.8, и эта функция доступна. Но сначала это немного сложно понять, и (на момент написания) в документации четко не объясняется, как его использовать, поэтому вот как это работает, шаг за шагом:
Invoke Заменить в файлах (в меню “Правка” или с помощью сочетания клавиш Ctrl + Shift + H )
Вы увидите стандартный ввод поиска/замены, заменяющий панель файлов слева:
Введите строку поиска и строку замены, затем нажмите Enter. Он может выполнить повторный поиск во всех файлах, затем он покажет предлагаемые изменения во всех ваших файлах проекта, но обратите внимание, эти изменения еще не были внесены! Вот как это выглядит например:
Теперь вам нужно внесите изменения (и даже после этого вы должны сохранить измененные файлы .)
Вы можете внести эти изменения различными способами:
1) Внесите все изменения во все файлы сразу.
Щелкните значок замены рядом со строкой замены (примечание: вы получите диалоговое окно для подтверждения этого массового действия.)
2) Внесите все изменения в один файл сразу.
Щелкните значок замены рядом с именем файла (примечание: значок появляется только при наведении курсора на строку имени файла )
3) Внесите одно изменение в одном файле.
Щелкните значок замены рядом к отдельному изменению: (примечание: значок появляется только при наведении курсора на строку изменения)
Все эти файлы теперь изменены в редакторе и еще не сохранены на диск.
Use File -> Save All (или Ctrl + Alt + S )
Обновить : Я не уверен, когда это было добавлено, но если вы нажмете кнопку «Заменить все» и увидите это диалоговое окно, нажатие «Заменить» изменит и сохранит все файлы одним щелчком:
-
1Можно ли сохранить «поиск-замену»? Я часто ищу «class =» и заменяю его на «className =» – Руне Джеппесен, 28 августа 2017 г., 07:49
-
1Можно ли пропустить последний шаг и выполнить поиск без вывода сообщений и заменить? Если я выполняю тривиальный поиск и замену, я не хочу сохранять каждый отдельный файл. – kayasky 7 сен 2017 в 14:20
-
1Я не уверен, что ответ на любой из эти вопросы. Но @satJ, обратите внимание в
Ctrl + Alt + S
сохраняет все измененные файлы сразу, так что это довольно быстро и легко. – Джефф Уорд, 08 сен. 2017, 13:27 -
Черт возьми, это опасно, менять все файлы по умолчанию. Есть ли команда для поиска/замены в одном файле? – Александр Миллс, 20 ноя. 2017, в 23:56
-
Текущее значение по умолчанию для сохранения всего – Ctrl-k, за которым следует буква s. Ctrl-k, а затем Ctrl + w закроют все ваши окна после того, как программы открыли их несколько. – Ребекка, 9 фев. 2018 в 16:47
Я использую Visual Studio Code 1.8, и эта функция доступна. Но сначала это немного сложно понять, и (на момент написания) в документации четко не объясняется, как его использовать, поэтому вот как это работает, шаг за шагом:
Invoke Заменить в файлах (в меню “Правка” или с помощью сочетания клавиш Ctrl + Shift + H )
Вы увидите стандартный ввод поиска/замены, заменяющий панель файлов слева:
Введите строку поиска и строку замены, затем нажмите Enter. Он может выполнить повторный поиск во всех файлах, затем он покажет предлагаемые изменения во всех ваших файлах проекта, но обратите внимание, эти изменения еще не были внесены! Вот как это выглядит например:
Теперь вам нужно внесите изменения (и даже после этого вы должны сохранить измененные файлы .)
Вы можете внести эти изменения различными способами:
1) Внести все изменения сразу во все файлы.
Щелкните значок замены рядом со строкой замены (обратите внимание: вы получите диалоговое окно для подтверждения этого массового действия.)
2) Внесите все изменения в один файл сразу.
Щелкните значок замены рядом с именем файла (примечание: значок появляется только при наведении курсора на строку имени файла)
3) Внесите одно изменение в один файл.
Щелкните значок замены рядом к отдельному изменению: (примечание: значок появляется только при наведении курсора на строку изменения)
Все эти файлы теперь изменены в редакторе и еще не сохранены на диск.
Use File -> Save All (или Ctrl + Alt + S )
Обновить : Я не уверен, когда это было добавлено, но если вы нажмете кнопку «Заменить все» и увидите это диалоговое окно, нажатие «Заменить» изменит и сохранит все. файлов в один клик:
Чтобы заменить строку в одном файле (открытом в данный момент): CTRL + H
Для замены на уровне рабочей области используйте: CTRL + SHIFT + H
-
Примечание. При использовании Ctrl + Shift + H для запуска поиска необходимо нажать клавишу ВВОД. – Аарон Франке 19 ноя. ’19 в 23:16
Чтобы заменить строку в одном файле (открытом в данный момент): CTRL + H
Для замены на уровне рабочей области используйте: CTRL + SHIFT + H
Обновить – начиная с версии 1.3 (июнь 2016 г.) в Visual Studio Code возможен поиск и замена. Используя ctrl + shift + f, вы можете искать и заменять текст во всех файлах.
Похоже, в настоящее время это невозможно (версия 1.1.1 (апрель 2016 г.))
“В: Можно ли выполнять глобальный поиск и замену?
A: Эта функция еще не реализована, но вы можете ожидать, что она появится в будущем! “
https://code.visualstudio.com/Docs/editor/codebasics
Похоже, это также запрошено сообществом: https://github. com/Microsoft/vscode/issues/1690
Это лучший способ.
-
Сначала поместите курсор на элемент и нажмите F2.
-
Затем введите новое имя и нажмите клавишу Enter. Это приведет к переименованию всех вхождений в каждом файле в вашем проекте.
Это идеальный вариант, когда вы хотите переименовать несколько файлов. Например, вы можете захотеть переименовать общедоступную функцию в сервисе Angular и обновить везде, где она используется.
Я настоятельно рекомендую другие отличные инструменты: https://johnpapa.net/ рефакторинг-с-visual-studio-code/

-
что, если я хочу переименовать вхождения только в текущем файле? – temirbek 08 янв., В 8:17
-
@temirbek Я уже давно слежу за этим запросом. Прошло 2+ года, а это еще не реализовано. github.com/Microsoft/vscode/issues/14836 – DonDaniel, 8 января 2019 г., 17:30
-
Привет, он также переименовывает связанные папки и импортирует? – Кайдзен Тамаши 16 нояб. ’19 в 07:28
Это лучший способ.
-
Сначала наведите курсор на элемент и нажмите F2.
-
Затем введите новое имя и нажмите клавишу Enter. Это приведет к переименованию всех вхождений в каждом файле в вашем проекте.
Это идеальный вариант, когда вы хотите переименовать несколько файлов. Например, вы можете захотеть переименовать общедоступную функцию в сервисе Angular и обновить везде, где она используется.
Я настоятельно рекомендую другие отличные инструменты: https://johnpapa.net/ рефакторинг-с-visual-studio-code/
Обновление для 2020 года
Если вы используете функцию поиска для поиска по файлам ( Ctrl + Shift + F
) можно легко упустить из виду, как преобразовать поиск в поиск и заменить в пользовательском интерфейсе.
Вот типичный результат поиска:
Чтобы преобразовать это в поиск и заменить, вам нужно щелкнуть значок стрелки, чтобы слева от поля ввода поиска. Это откроет параметры замены, как показано ниже.. Обратите внимание, что значок стрелки теперь направлен вниз.
Сочетание клавиш Ctrl + Shift + H
также будет работать для доступа к поиску и замене.
Ссылка на документы VSCode на поиск и замена: https://code.visualstudio.com/docs/editor/codebasics#_search-and-replace

-
Общая проблема сейчас заключается в том, что после 10000 результатов VSCode прекращает поиск. Есть ли обходные пути для этого? Т.е. итеративный поиск + замена аддона? – 9 янв, дек. ’20 в 13:28
Обновление на 2020 год
Если вы используете функцию поиска для поиска по файлам ( Ctrl + Shift + F
) можно легко упустить из виду, как преобразовать поиск в поиск и заменить в пользовательском интерфейсе.
Вот типичный результат поиска:
Чтобы преобразовать это в поиск и заменить, вам нужно щелкнуть значок стрелки слева от поля ввода поиска. Это откроет параметры замены, как показано ниже. Обратите внимание, что значок стрелки теперь направлен вниз.
Сочетание клавиш Ctrl + Shift + H
также будет работать для доступа к поиску и замене.
Ссылка на документы VSCode на поиск и замена: https://code.visualstudio.com/docs/editor/codebasics#_search-and-replace
На странице привязок клавиш кода Visual Studio в разделе «Справочник по сочетаниям клавиш» есть ссылки на PDF-файлы для каждой основной ОС. После открытия найдите «заменить в файлах» или любой другой ярлык, который может вам понадобиться..
Другой способ – использовать палитру команд ( ctrl/cmd + shift + P ), где вы можете ввести «заменить», чтобы вывести список всех связанных команд, включая ту, которую вы хотите:
Заменить в файлах ctrl/cmd + shift + H

На странице привязок клавиш кода Visual Studio в разделе «Справочник по сочетаниям клавиш» есть ссылки на PDF-файлы для каждой основной ОС. После открытия выполните поиск по запросу «заменить в файлах» или по любому другому ярлыку, который может вам понадобиться.
Другой способ – использовать Командную палитру ( ctrl/cmd + shift + P ), где вы можете ввести «заменить», чтобы вывести список всех связанных команд, включая ту, которую вы хотите:
Заменить в файлах ctrl/cmd + shift + H
Существует 2 технически одинаковых метода
-
Сначала наведите курсор на слово и нажмите F2. Замените слово и нажмите Enter.
-
Сначала наведите курсор на слово и щелкните его левой кнопкой мыши. Выберите параметр «Переименовать символ». Замените слово и нажмите Enter.
Существует 2 метода, технически одинаковых
-
Сначала наведите курсор на слово и нажмите F2. Замените слово и нажмите Enter.
-
Сначала наведите курсор на слово и щелкните его левой кнопкой мыши. Выберите параметр «Переименовать символ». Замените слово и нажмите Enter.
Найти и заменить в Visual Код студии
В файле, который я редактирую в VSCode, есть следующая строка:
.......... ..... 111 ......... 111 ............. 111 ..
Я хочу заменить все .
с 0
. Однако, когда я выделяю строку и выполняю поиск/замену для .
s, все , .
заменяются в документе, а не только в выбранной строке, даже когда я нажимаю кнопку «Найти в выделенном». Это ошибка? В других редакторах, если я выберу кусок текста, а затем выполню поиск/замену, он найдет/заменит совпадения только в выбранном блоке.
Ниже приведен фрагмент, который вы должны иметь возможность воспроизвести проблему с помощью. Знак ............... 111 ......... 111 ............. 111 ..
находится внутри функции test_unicode
.
def test_simple2 (self): "" "Простой тест преобразования CSV с пустыми полями, подробнее сложный idx, разные pack_size. 100011000001000 -> .......... 111 .................... 111 ......... .11111 .......... 111 .. "" "field_width_stream = pablo.BitStream (int ('1000110001000001000', 2)) idx_marker_stream = pablo.BitStream (int ('11101', 2)) pack_size = 4 target_format = TransductionTarget.JSON csv_column_names = ["col1", "col2", "col3", "col4", "col5"] pdep_marker_stream = pablo.BitStream (generate_pdep_stream (field_width_stream, idx_marker_stream), размер_колонки, idx_marker_stream, pack_size. assertEqual (pdep_marker_stream.value, 63050402300395548) def test_unicode (self): "" "Имена столбцов, отличные от ascii. Использование UTF8. Жестко заданный размер стандартного байта SON должен оставаться прежним, стандартные байты имени столбца должны расширяться. 100010010000000 -> 2 + 4 + 9 2 + 4 + 6 2 + 4 + 7 ............... 111 ......... 111 ............. 111 .. "" "field_width_stream = pablo .BitStream (int ('100010001000', 2)) idx_marker_stream = pablo.BitStream (1) pack_size = 64 target_format = TransductionTarget.JSON csv_column_names = ["한국어", "中文", "English"] pdep_marker_destream = pablo.BitStream_stream_pablo.BitStream (field_width_stream, idx_marker_stream, pack_size, target_format, csv_column_names)) self.assertEqual (pdep_marker_stream.value, 1879277596)
Я использую VSCode 1.12.2 в Ubuntu 16.04.
Мне удалось заставить его работать, но рабочий процесс оставляет желать лучшего:
- control + H , чтобы открыть «Найти/заменить»
- Выделите строку текста
- Щелкните значок «Найти в выделенном» справа Alt L или ⎇ ⌘ L в macOS)
- Введите символы поиска и замены в их вводы.
- Щелкните значок “Заменить все”.
Работает но вы должны пройти через работуfl для каждого нового выбора (кроме CTR + H , конечно). Кстати, у меня такое же поведение в Sublime Text.
Не могли бы вы использовать regExp, чтобы найти свои строки? Они содержат только. ‘s и 1?
Из Разработчики VSCode:
Раньше мы автоматически включали поиск в выделении при открытии виджета поиска с выделением, но это было слишком легко запустить случайно и вызвало много жалоб. Вероятно, вы захотите установить “editor.find.autoFindInSelection”: true, что заставит его работать так, как вы ожидаете.
Если кому-то интересно, проблема VSCode GitHub содержит более подробную информацию.
EDIT: опция autoFindInSelection
доступна начиная с VSCode 1.13. Эта версия в настоящее время находится в разработке (по состоянию на 07.06.2017), поэтому это исправление не будет работать, пока не будет выпущена новая версия.

-
6Однако это не решит проблему … Единственная проблема в том, что если вы выполняете последовательные F/R каждый раз, когда выбираете новый набор текста вам нужно перефокусировать поле поиска , чтобы оно изменило свой контекст поиска . – Роберт Коритник, 14 декабря 2017 г., 10:00
-
1Мне показалось, что изменение параметра помогло, хотя VS Code по-прежнему отмечает все появления поискового запроса во всем документе, даже если он заменяет только в выборе. – Маркус Мангельсдорф, 22 июн. ’18 в 09:54
От разработчиков VSCode:
Мы использовали для включения поиска в выделении автоматически, когда открытие виджета поиска с выбором, но его было слишком легко запустить случайно, и возникло много жалоб. Вероятно, вы захотите установить “editor.find.autoFindInSelection”: true, что заставит его работать так, как вы ожидаете.
Если кому-то интересно, проблема VSCode GitHub содержит более подробную информацию.
EDIT: опция autoFindInSelection
доступна начиная с VSCode 1.13. Эта версия в настоящее время находится в разработке (по состоянию на 07.06.2017), поэтому это исправление не будет работать, пока не будет выпущена новая версия.
Это более общий ответ для других пользователей, которые приходят сюда, просто желая использовать базовые функции поиска и замены.
На Mac вы можете нажать Command + Option + F чтобы открыть «Найти и заменить»:
В качестве альтернативы вы можно нажать Command + F , чтобы открыть «Найти», а затем щелкнуть маленький треугольник слева, чтобы отобразить поле «Заменить»:
-
1У меня включена великолепная раскладка клавиатуры, поэтому я не уверен, работает ли она для всех, но я смог использовать CMD + OPT + f для открытия найти и заменить немедленно – Джулиан 26 июня ’19 в 19:28
-
@ Джулиан, милая! У меня нет расширенной раскладки клавиатуры, но она все еще работает. Я обновил ответ. Спасибо. – Сурагч, 26 июня ’19, 20:30
-
2спасибо! Кроме того, забыл упомянуть пару других забавных фактов: если вы нажмете CMD + ENTER, это установит ваш поиск и замену для всего файла. В противном случае вы можете пройти каждый из них с помощью Enter. Вы также можете выполнить глобальный поиск и замену проекта, выполнив CMD + SHIFT + H – Julian 26 июня ’19 в 21:48
-
Command + Option + F включил его для первого использования, после этого Command + F будет достаточно, чтобы получить панель поиска/замены. – otayeby 16 июл. ’20 в 22:42
Это более общий ответ для других пользователей, которые приходят сюда, просто желая использовать базовые функции поиска и замены.
На Mac вы можете нажать Command + Option + F , чтобы откройте “Найти и заменить”:
Кроме того, вы можете нажмите Command + F , чтобы открыть «Найти», а затем щелкните маленький треугольник слева, чтобы отобразить поле «Заменить»:
Следующий рабочий процесс оказался довольно безболезненным:
- Выбор текстовой области с помощью мыши или клавиатуры.
- Ctrl + H для переключения поиска и замены
- Alt + L для переключения поиска в выделенном
- Ctrl + Alt + Enter для замены все (или введите для замены отдельно)
-
Как это отличается от ответа выше? Вы просто опустили фактический ввод текста поиска и замены и поменяли местами первые два шага, что не имеет значения. – Марк, 17 сен. ’18 в 13:54
-
Комментарий Alt + L при щелчке мышью делает его другим (читай: лучше) – Мэтт, 15 ноября 2018, 18:26
-
Да! Это естественный процесс – сначала выделите текст, затем откройте
Найти и заменить
, затем выберитеНайти в выделенном
, затем введите термин для поиска и замены и, наконец,Заменить все
. – TheJavaGuy-Иван Милосавлевич 25 мая ’20 в 8:38
Я обнаружил, что следующий рабочий процесс довольно безболезнен:
- Выберите текстовую область с помощью мышь или клавиатура.
- Ctrl + H для переключения поиска и замены
- Alt + L для переключения поиска в выделении
- Ctrl + Alt + Enter для замены всех (или Enter для замены по отдельности)
На Mac:
- Выделите текст
- Нажмите command + shift + L
На Mac:
- Выделите текст
- Нажмите command + shift + L
Поскольку иногда мы могли бы иметь похожие названия вещей, поэтому вы не хотите выделять все, одна из моих любимых последовательностей сочетаний клавиш – выбрать следующее вхождение:
- Использовать shift и стрелки, чтобы выделить термин, который вы хотите сопоставить.
- Используйте Ctrl + d , чтобы выделить следующее вхождение термина.
На странице документации “Базовое редактирование в VS Code” есть несколько чрезвычайно полезных вариантов поиска и замены.. Один чрезвычайно полезный ярлык – выбор столбца (блока).
Поскольку иногда мы могли бы иметь похожие названия вещей, поэтому вы не хотите выделять все, одна из моих любимых последовательностей быстрых клавиш – выбрать следующее вхождение:
- Используйте shift и стрелки, чтобы выделить термин, который вы хотите сопоставить.
- Используйте Ctrl + d , чтобы выделить следующее вхождение термина.
На странице документации” Основное редактирование в VS Code “есть несколько чрезвычайно полезных вариантов поиска и замены. Один чрезвычайно полезный ярлык – выбор столбца (рамки).