Ответ 1
удалить прокомментированный код, правильно ли он находится в правиле источника? нет необходимости хранить его и в файле.
Я рефакторинг базы данных С++ в Visual Studio 2005. Я уже почти половину этого процесса, и я прокомментировал много старого кода и заменил или переместил его. Теперь я ищу, чтобы увидеть, что мне нужно изменить следующее, но функция поиска продолжает приносить мне старые прокомментированные вещи, о которых я больше не забочусь. Я действительно не хочу удалять этот старый код, на всякий случай.
Есть ли способ найти все файлы в решении и получить результаты, игнорируя то, что прокомментировано? Я не вижу способа в самой визуальной студии, возможно, это плагин, который бы это сделал?
удалить прокомментированный код, правильно ли он находится в правиле источника? нет необходимости хранить его и в файле.
Поскольку другие предоставленные решения не сработали для меня, я, наконец, обнаружил следующее решение:
^~(:b*//).*your_search_term
Краткое объяснение:
^
от начала строки~(
НЕ следующие:b*
любое количество пробелов, за которым следует//
начало комментария)
конец NOT.*
любой символ может появиться передyour_search_term
ваш поисковый запрос: -)Obviouly, это будет работать только для комментариев //
и ///
.
Вы должны нажать кнопку "Использовать регулярные выражения" (точка и звездочка) в окне поиска, чтобы применить поиск регулярных выражений
Мой прием:
да, вы можете использовать регулярные выражения, которые, как правило, слишком медленны, и думать о них отвлекает внимание от реальных вещей - вашего программного обеспечения.
Я предпочитаю неинтрузивные полуинтеллектуальные методы:
Метод бедных: Найти ссылки, если вы используете intelisense на
Или даже лучше: Визуальная помощь, и она окрашивает "Найти все ссылки" и "Перейти", сопоставленные с удобными ярлыками. Это значительно ускоряет навигацию.
Предыдущий ответ дал ложноположительный результат в случаях, когда в строке, содержащей другой источник, помещались совпадающие строки:
++i; // your_search_term gets found, don't want it found
Итак, заменил :b*
на .*
и добавил <>
, так что найдены только целые слова, а затем пошел после некоторых старых комментариев в стиле C, где есть /*
в строке:
^~(.*//)~(.*/\*).*<your_search_term>
В моем случае я искал все экземпляры new
, не поддаваясь рефакторингу и лодкам ложных срабатываний. Я также не понял, как избежать совпадений в цитируемых строках.
Если вы прокомментируете свой старый код с помощью //
, вы можете использовать регулярные выражения во время поиска чего-то в своей кодовой базе. Что-то вроде этого, например: ^[^/][^/].*your_function_name.*
.
Просто добавьте, так как я делал "найти все" для оператора разделения, используемого в коде, использовал ниже, чтобы исключить комментарии, а также </
и />
из aspx файлов:
^~(.*//)~(.*/\*)~(.*\<\/)~(.*/\>).*/
В Visual Basic в Visual Studio 2015 мне удалось найти текст за пределами комментариев, адаптировав комментарий glassiko от наиболее употребимого ответа
^(?![ \t]*[']).*mysearchterm
И в С# вы бы использовали комментарий glassiko точно так, как это было
^(?![ \t]*//).*mysearchterm
Лучше использовать \s Я думаю. ^(?![\s]*//).*your_search_term