2008-12-14 3 views
23

Кажется, нет встроенной поддержки для поиска/замены в VisualStudio (см. Также соответствующий feature request).Сохранение/замена заметок в Visual Studio

Что я имею в виду: поиск «BadJob» и заменяя «GoodJob» будет делать следующие замены

'badjob' -> 'goodjob' 
'BadJob' -> 'GoodJob' 
'badJob' -> 'goodJob' 
'BADJOB' -> 'GOODJOB' 

Так что я ищу для макро/надстройка, в которой реализуется случай сохраняющий поиска/замены , И если не существует, то что является хорошей отправной точкой для написания моих собственных (желательно на основе встроенных возможностей поиска/замены).

Обновление:
Я знаю, что могу сделать 4 замены вручную, выполняя эту работу, но я ищу способ сделать это автоматически в VS (например, Emacs делает это). Обычный сценарий: переменная с именем 'foo' и некоторые функции DoFoo(), GetFoo(), ... и некоторые дополнительные комментарии, содержащие 'foo' 'Foo' и т. Д. Теперь переименуем 'foo' в bar 'yielding variable' bar ', функции DoBar(), GetBar() и т. д. с помощью ONE find/replace.

+0

Я также хочу это. Было бы легко сделать это через плагин VS? – 2017-06-01 07:56:10

ответ

3

открыть параметры поиска, когда вы найдете/замените. проверьте вариант с учетом регистра. вам придется делать ароматы вручную, если вы не сделаете что-то вроде: http://www.aaronlerch.com/blog/2007/03/28/visual-studio-find-and-replace-regular-expressions/ или не используете что-то вроде: http://www.download3k.com/MP3-Audio-Video/Utilities-Plug-Ins/Download-Find-Replace.html

+10

Выполнение 4 ручных чехлов для замены - это именно то, чего я НЕ хочу делать. Я ищу «умную» находку/замену в VS, которая делает это автоматически (Emacs, например, делает это). – user45637 2008-12-15 08:46:26

-2

Я знаю, что это не отвечает на ваш вопрос именно так, как вы его просили, но для переименования переменных и имен методов вы можете избегайте всей проблемы, щелкнув правой кнопкой мыши по идентификатору и используя опцию переименования в контекстном меню. Это обновит любые ссылки на эту переменную или имя метода.

Оговорки:
Он работает только в рамках текущего решения.
Он только обновляет ссылки в управляемом коде.
Он не будет обновлять литеральные строки, такие как «badcode»
Он не будет обновлять ваши комментарии.

Это одна из моих любимых функций в VS2005/2008.

+0

Это применимо только в том случае, если вы используете язык .NET, и на самом деле это не функция, если вы используете C++. – jheriko 2009-07-16 08:18:28

4

Это невозможно в Visual Studio на данный момент.

Вы можете проголосовать за эту функцию:

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/7123150-case-preserving-search-replace

я обычно заканчиваю открытия Sublime Text, Copy & Вставьте код там, выполнить случае сохраняющих замены там и Копировать & Вставить обратно в Visual Studio ,