Как найти и заменить все вхождения (во всех файлах) в коде Visual Studio?
Я не могу понять, как найти и заменить все вхождения слова в разных файлах, используя Visual Studio Code версии 1.0.
У меня сложилось впечатление, что это должно быть возможно, так как выполнение Ctrl + Shift + F позволяет мне просто искать папку, но я не знаю, как действовать дальше.
Но я нашел только как заменить все вхождения в открытом файле (Ctrl + h)
Вся помощь с благодарностью оценена, это сводит меня с ума.
Я использую Visual Studio Code 1.8, и эта функция доступна. Но сначала это немного сложно понять, и (на момент написания) документы не объясняют, как правильно его использовать, поэтому вот как это работает, шаг за шагом:
Вызывать замену в файлах (в меню «Правка» или с помощью сочетания клавиш Ctrl + Shift + H )
Вы увидите стандартный ввод Find / Replace, заменяющий панель файлов слева:
Введите строку поиска и строку замены, затем нажмите ввод. Он может отработать секунду, просматривая все файлы, затем покажет предложенные изменения во всех файлах вашего проекта — но обратите внимание, что эти изменения еще не были внесены! Вот как это выглядит:
Теперь вам нужно внести изменения (и даже после этого вы должны сохранить измененные файлы .)
Вы можете внести эти изменения различными способами:
1) Внести все изменения сразу во все файлы.
Щелкните значок замены рядом со строкой замены (примечание: у вас появится диалоговое окно для подтверждения этого массового действия.)
2) Сделать все изменения в одном файле одновременно.
Нажмите значок замены рядом с именем файла (примечание: значок отображается только при наведении курсора на строку имени файла)
3) Сделайте одно изменение в одном файле.
Нажмите значок замены рядом с отдельным изменением: (примечание: значок отображается только при наведении курсора на строку изменений)
Наконец, не забудьте сохранить!
Все эти файлы теперь изменены в редакторе и еще не сохранены на диск.
Использовать Файл -> Сохранить все (или Ctrl + Alt + S )
Обновление: я не уверен, когда это было добавлено, но если вы нажмете кнопку «Заменить все» и увидите это диалоговое окно, щелчок «Заменить» изменит и сохранит все файлы в один клик:
Команда Replace
Область применения:Visual Studio Visual Studio для Mac Visual Studio Code
Заменяет текст в файлах с использованием подмножества параметров, доступных на вкладке Заменить в файлах окна Поиск и замена.
Синтаксис
Edit.Replace findwhat replacewith [/all] [/case] [/doc|/proc|/open|/sel] [/hidden] [/options] [/reset] [/up] [/wild|/regex] [/word]
Аргументы
Обязательно. Текст для поиска совпадения.
Обязательно. Текст для замены совпавшего текста.
Коммутаторы
Необязательно. Заменяет все вхождения искомого текста на замещающий текст.
Необязательно. Совпадение происходит только в том случае, если прописные и строчные знаки точно соответствуют тем, что указаны в аргументе findwhat .
Необязательно. Выполняет поиск только в текущем документе. Укажите только одну из доступных областей поиска — /doc , /proc , /open или /sel .
Необязательно. Выполняет поиск скрытого или свернутого текста, например метаданных элемента управления времени разработки, скрытой области структурированного документа либо свернутого класса или метода.
Необязательно. Выполняет поиск по всем открытым документам, как если бы они были одним документом. Укажите только одну из доступных областей поиска — /doc , /proc , /open или /sel .
Необязательно. Отображает список текущих параметров поиска, но не выполняет сам поиск.
Необязательно. Выполняет поиск только в текущей процедуре. Укажите только одну из доступных областей поиска — /doc , /proc , /open или /sel .
Необязательно. Использует стандартные специальные символы в аргументе findwhat для представления текстовых шаблонов вместо самих букв. Полный список знаков регулярных выражений см. в разделе Регулярные выражения.
Необязательно. Для параметров поиска возвращает их значения по умолчанию, но не выполняет сам поиск.
Необязательно. Выполняет поиск только в текущем выделенном фрагменте. Укажите только одну из доступных областей поиска — /doc , /proc , /open или /sel .
Необязательно. Выполняет поиск от текущего расположения в файле до его начала. По умолчанию поиск начинается в текущем расположении в файле и ведется по направлению к его концу.
Необязательно. Использует стандартные специальные символы в аргументе findwhat для представления символа или последовательности символов.
Необязательно. Выполняет поиск только целых слов.
Пример
Этот пример заменяет btnSend на btnSubmit во всех открытых документах.
>Edit.Replace btnSend btnSubmit /open
См. также
- Поиск и замена текста
- Окно команд
- Поле «Поиск/Команда»
- Команды Visual Studio
- Псевдонимы команд Visual Studio
Замена в файлах
Область применения:Visual Studio Visual Studio для Mac Visual Studio Code
Функция Заменить в файлах позволяет осуществлять поиск строки или выражения в заданном наборе файлов и заменять все или некоторые из найденных совпадений. Найденные совпадения и предпринятые действия перечисляются в окне Результаты поиска, выбранном в разделе Параметры результатов.
Если вы используете Visual Studio 2019версии 16.6 или более ранней, диалоговое окно «Поиск и замена» может не выглядеть так, как оно отображается здесь. Перейдите на версию этой страницы для Visual Studio 2017, чтобы получить правильное описание.
Для отображения функции Заменить в файлах в окне Поиск и замена можно использовать любой из следующих методов или клавиши CTRL+SHIFT+H.
Отображение окна «Заменить в файлах»
- Нажмите клавиши CTRL+Q и введите «заменить» в поле поиска в верхней части экрана.
- Выберите Заменить в файлах в списке результатов. — или —
- В меню Правка разверните узел Поиск и замена.
- Выберите Заменить в файлах. — или — Если окно Поиск и замена уже открыто, на панели инструментов выберите Заменить в файлах.
Средство поиска и замены не выполняет поиск в каталогах, для которых задан атрибут Hidden или System .
Параметры «Заменить в файлах » почти идентичны параметрам в диалоговом окне «Поиск в файлах «. Однако в нижней части диалогового окна есть дополнительные кнопки действия замены. В зависимости от используемой версии Visual Studio в диалоговом окне доступны дополнительные варианты замены.
Замена текстового поля
Чтобы заменить экземпляры строки в текстовом поле Найти другой строкой, введите заменяющую строку в текстовое поле Заменить. Чтобы удалить экземпляры строки в текстовом поле Найти, оставьте это поле пустым. Откройте список, чтобы отобразить строки, которые вы недавно искали. Нажмите расположенную рядом кнопку Построитель выражений, чтобы использовать в заменяющей строке одно или несколько регулярных выражений. Дополнительные сведения см. в статье Использование регулярных выражений в Visual Studio.
Сохранение регистра
При выполнении замены можно сохранить исходный регистр каждого совпадения в коде. Переключите сохранение регистра с помощью параметра «Сохранить регистр» (ALT +V). Этот параметр доступен в Visual Studio 2022 версии 17.8 или более поздней версии.
Чтобы получить регистр Pascal и camel, строка Replace также должна находиться в регистре Pascal или верблюдьем случае. Регистр также сохраняется в тексте, который содержит дефисы или символы подчеркивания.
— Замена «begin» на «end» преобразует «Begin» в «End» и «BEGIN» в «END».
— Замена «onetwothree» на «fourFiveSix» превращает «onetwothree» в «fourfivesix», «oneTwoThree» на «fourFiveSix», и «OneTwoThree» в «FourFiveSix».
Оставить измененные файлы открытыми после выполнения команды «Заменить все»
Если этот флажок установлен, все файлы, в которых были произведены замены, останутся открытыми, чтобы вы могли отменить или сохранить изменения. Объем доступной памяти может ограничить число файлов, которые останутся открытыми после операции замены.
Команда Откат может использоваться только для файлов, которые остались открытыми для редактирования. Если этот параметр не установлен, файлы, которые не были до этого открыты для редактирования, останутся закрытыми, а команда Откат не будет для них доступна.
Начиная с Visual Studio 2022, производительность поиска оптимизируется путем отображения частичных результатов, например из предварительно индексированных файлов, прежде чем становятся доступны окончательные результаты. Но при выполнении операций замены эта возможность не применяется, так как операции замены запускаются только после получения всех результатов поиска.
См. также
- Поиск и замена текста
- Поиск в файлах
- Команды Visual Studio
Поиск и замена текста
Область применения:Visual Studio Visual Studio для Mac Visual Studio Code
С помощью элементов управления Поиск и замена (CTRL+F или CTRL+H) и Поиск и замена в файлах (CTRL+SHIFT+F или CTRL+SHIFT+H) можно найти и заменить текст в редакторе Visual Studio. Вы также можете найти и заменить некоторые экземпляры шаблона с помощью выбора нескольких элементов.
В Visual Studio при переименовании символов кода, таких как переменные и методы, лучше рефакторинговать их, чем использовать find-and-replace. Рефакторинг обладает интеллектуальными возможностями и может распознавать области, в то время как функция поиска и замены слепо заменяет все вхождения.
Возможность поиска и замены доступна в редакторе, в некоторых других текстовых окнах (например, в результатах поиска), в окнах конструкторов (например, в конструкторе XAML и в конструкторе Windows Forms) и в окнах инструментов.
В качестве области поиска можно задать текущий документ, текущее решение или пользовательский набор папок. Вы также можете указать набор расширений имен файлов для поиска по нескольким файлам. Синтаксис поиска можно настроить с помощью регулярных выражений .NET.
Поле Найти/команда доступно как элемент управления панели инструментов, но оно не отображается по умолчанию. Чтобы отобразить поле Найти/команда, выберите на стандартной панели инструментов команду Добавить или удалить кнопки и щелкнув Найти.
Элемент управления «Поиск и замена»
- Нажмите CTRL+F для быстрого поиска строки в текущем файле.
- Нажмите CTRL+H для быстрого поиска и замены строки в текущем файле.
Элемент управления Поиск и замена отображается в правом верхнем углу окна редактора кода. Он немедленно выделяет все вхождения заданной поисковой строки в текущем документе. Вы можете переходить от одного вхождения к другому, нажав кнопку Найти далее или Найти предыдущий на элементе управления поиска.
Перейти к параметрам замены можно, нажав кнопку рядом с текстовым полем Найти. Чтобы изменять по одному вхождению за раз, выберите Заменить следующий рядом с текстовым полем Заменить. Чтобы заменить все найденные совпадения, нажмите кнопку Заменить все.
Чтобы изменить цвет выделения совпадений, в меню Сервис последовательно выберите Параметры, затем Среда, а затем Шрифты и цвета. В списке Показать параметры для выберите Текстовый редактор, а затем в списке Отображение элементов выберите Выделение найденных совпадений.
Окна инструмента поиска
Элемент управления Найти можно использовать в текстовых окнах и окнах кода, таких как окна вывода и результатов поиска, выбрав Правка>Поиск и замена (или нажав клавиши CTRL+F).
Версия элемента управления Найти также доступна в некоторых окнах инструментов. Например, можно фильтровать список элементов управления в окне панели элементов путем ввода текста в поле поиска. Другие окна инструментов, для которых поддерживается поиск содержимого, включают обозреватель решений, окно Свойства и Team Explorer.
Поиск и замена в файлах
- Нажмите CTRL+SHIFT+F для быстрого поиска строки в нескольких файлах.
- Нажмите CTRL+SHIFT+H для быстрого поиска и замены строки в нескольких файлах.
Функции Найти/Заменить в файлах аналогичны функциям элемента управления Поиск и замена за исключением того, что можно определить область поиска. Вы можете выполнить поиск не только в текущем открытом файле в редакторе, но также во всех открытых документах, всем решении, текущем проекте и выбранном наборе папок. Также можно выполнять поиск по расширению имени файла. Чтобы перейти к диалоговому окну поиска и замены в файлах, выберите Поиск и замена в меню Правка (или нажмите клавиши CTRL+SHIFT+F).
Более подробные сведения см. на страницах Найти в файлах и Заменить в файлах.
Более подробные сведения см. на страницах Найти в файлах и Заменить в файлах.
Если вы используете Visual Studio 2019версии 16.6 или более ранней, диалоговое окно «Поиск и замена» может не выглядеть так, как оно отображается здесь. Перейдите на версию этой страницы для Visual Studio 2017, чтобы получить правильное описание.
Результаты поиска
При выборе варианта Найти все откроется окно Результаты поиска со списком найденных совпадений. При выборе результата в списке отображается связанный файл и выделяется искомый текст. Если файл не открыт для редактирования, он открывается на вкладке предварительного просмотра в правой части набора вкладок. Для поиска в списке Результаты поиска можно использовать элемент управления Найти.
Создание пользовательских наборов папок поиска
Область поиска можно определить, нажав кнопку Выбор папок поиска (она выглядит как . ) рядом с полем Поиск в. В диалоговом окне Выбор папок поиска можно указать набор папок для поиска и сохранить спецификацию для дальнейшего использования.
Если к вашему компьютеру подключен диск удаленного компьютера, можно указать папки для поиска на удаленном компьютере.
Создание пользовательских наборов компонентов
В качестве области поиска можно определить наборы компонентов, нажав кнопку Изменить настраиваемый набор компонентов рядом с полем Поиск в. Можно указать установленные компоненты .NET и COM, проекты Visual Studio, включенные в решение, а также любые сборки или библиотеки типов (DLL, TLB, OLB, EXE или OCX). Для поиска ссылок выберите поле Искать по ссылкам.
Выбор нескольких точек вставки
Этот раздел относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье Выбор блока.
Используйте выбор нескольких точек вставки, чтобы внести одинаковые изменения в несколько мест одновременно. Например, вы можете вставить одинаковый текст или изменить существующий текст в нескольких местах одновременно.
В Visual Studio 2022 мы улучшили возможности копирования и вставки с использованием нескольких курсоров. В прошлом при установке нескольких курсоров и копировании в них нескольких строк у каждого курсора происходила вставка всего содержимого буфера обмена. Теперь же, если скопировать и вставить определенное число строк ровно для такого же числа курсоров, каждая строка будет копироваться под соответствующий ей курсор отдельно.
Чтобы использовать многосторонние клавиши, +нажмите клавиши ALT SHIFT+или ALT+SHIFT. Затем используйте клавиши CTRL+SHIFT++, чтобы развернуть выбранные элементы. После этого нажмите клавиши CTRL+C, чтобы скопировать текст из нескольких фрагментов. Нажмите ALT+SHIFT+щелчок мышью, чтобы создать несколько точек вставки в каждой строке, где вы хотите их установить. Наконец, нажмите CTRL+V, чтобы вставить каждую из строк под собственный курсор.
Кроме того, вы можете использовать клавиши ALT+SHIFT+СТРЕЛКА ВВЕРХ (или СТРЕЛКА ВНИЗ) либо ALT+SHIFT+перетаскивание мышью для выделения фрагментов с применением множества курсоров. Ранее эти действия создавали прямоугольный блок выделения. Теперь выделенный блок преобразуется в строки с несколькими курсорами. Этот метод проще и быстрее, чем вставлять отдельные курсоры, точно щелкая мышью в разных местах.
Если же при расширении фрагмента с несколькими курсорами с помощью ALT+SHIFT+клавиша со стрелкой и ALT+SHIFT+перетаскивание мышью вы хотите оставить выделение блоками, перейдите в раздел Сервис>Параметры>Текстовый редактор>Дополнительно и выберите Использовать выделение блоками.
Команды
Следующие сочетания клавиш предназначены для действий, относящихся к выбору нескольких точек вставки.
Ярлык | Действие | Команда |
---|---|---|
ALT+SHIFT+. | Использование нескольких точек вставки | Edit.InsertNextMatchingCaret |
CTRL+SHIFT+клавиша со стрелкой | Расширение выделенных фрагментов | Edit.SizeControlUp, Edit.SizeControlDown, Edit.SizeControlRight, Edit.SizeControlLeft |
ALT+SHIFT+клавиша со стрелкой вверх (или клавиша со стрелкой вниз) | Выбор нескольких точек вставки | Edit.LineUpExtendColumn, Edit.LineDownExtendColumn |
Вы также можете получить доступ к выбору с несколькими подсказками в строке меню, нажав кнопку «Изменить >несколько курсоров» и выбрав нужное действие.
На следующем снимке экрана -0000 выбран в трех местах. Если пользователь нажмет Удалить, все три фрагмента будут удалены:
Чтобы выбрать несколько точек вставки, щелкните фрагмент текста или выберите его любым способом, а затем выберите текст в каждом дополнительном расположении, нажав CTRL+ALT. Можно также автоматически добавить совпадающий текст в качестве дополнительного выделения или выбрать поле текста для внесения одинаковых правок в каждой строке.
Если вы выбрали ALT как клавишу-модификатор для команды «Перейти к определению» по щелчку мыши в меню Сервис>Параметры>Текстовый редактор>Общие, функция выбора нескольких точек вставки недоступна. Дополнительные сведения см . в диалоговом окне «Параметры»: «Текстовый редактор» или> «Общие».
Команды
Используйте следующие клавиши и действия для выбора нескольких точек вставки:
Ярлык | Действие |
---|---|
CTRL+ALT + щелчок | Добавить дополнительную точку вставки |
CTRL+ALT + двойной щелчок | Добавить дополнительное выделенное слово |
CTRL+ALT + щелчок + перетаскивание | Добавить дополнительный выделенный фрагмент |
SHIFT+ALT+. | Добавить следующий совпадающий текст как выделенный фрагмент |
SHIFT+ALT+; | Выделить все совпадающие фрагменты текста |
SHIFT+ALT+, | Удалить последний выделенный фрагмент |
SHIFT+ALT+/ | Пропустить следующий совпадающий фрагмент |
ALT + щелчок | Добавить выделенное поле |
ESC или щелчок | Очистить все |
Некоторые команды также доступны в меню Изменить в разделе Несколько точек вставки:
См. также
- Использование регулярных выражений в Visual Studio
- Рефакторинг кода в Visual Studio
- Выбор блока (Visual Studio для Mac)