Визуальная студия Find Replace - PullRequest
1 голос
/ 26 апреля 2011

У меня много файлов исходного кода.У меня много жестко закодированных строк.Я хочу найти / заменить некоторые слова из C / C ++ строк только .

например.У меня есть исходный код типа

log_msg_w(LOG_ERR, "string1"); 
log_msg_w(LOG_ERR, "string");  

Я хочу найти / заменить и сделать код, подобный этому

log_msg_w(LOG_ERR, _T("string1") );
log_msg_w(LOG_ERR, _T("string") );

Надеюсь, это понятно.Я хочу заменить только строки в коде c / c ++ и оставить другие коды без изменений.Это всегда было проблемой для меня.

Я читал, что регулярное выражение может помочь в этом отношении.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 26 апреля 2011

Откройте файл, где замена должна быть сделана.Нажмите Ctrl + H , чтобы открыть диалоговое окно «Найти и заменить».В "Найти что:" тип текстового поля {\ "[^ \"] * \ "} поиск всех строк в двойных кавычках. В " ЗаменитьС помощью: " тип текстового поля _T (\ 1) . \ 1 означает использование сопоставленного шаблона, заключенного в фигурные скобки. Установите флажок " Использовать: " и выберите"Регулярные выражения "из поля со списком. Снимите отметку " Флажок совпадения " & Флажки" Совпадение всего слова ". Наконец нажмите " Заменить все ".

Чтобы заменить строки в log_msg_w, вам просто нужно исправить поиск и заменить шаблоны на log_msg_w (LOG_ERR, {\ "[^ \"] * \ "}); и log_msg_w (LOG_ERR, _T (\ 1)); соответственно

0 голосов
/ 26 апреля 2011

Прежде всего, вы можете использовать Expression Builder, проверив «Использовать: Регулярные выражения» в меню «Найти и заменить», нажав стрелку вправо рядом с полем со списком «Найти что».

Чтобы найти строку в кавычках, есть выражение: q

Вы должны написать В Find What: log_msg_w (LOG_ERR, (_T () * {: q} ()) #

Заменить на: log_msg_w (LOG_ERR, _T (\ 1))

Полный список всех макросов регулярных выражений VS Editor: здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...