我正在重构Visual Studio 2005中的C ++代码库。我现在已经完成了这个过程的一半,我已经注释掉了很多旧代码并替换或移动了它。现在我正在寻找我必须改变下一个但搜索功能不断给我带来旧的注释掉的东西我不再关心了。我真的不想删除那些旧代码,以防万一。
有什么方法可以搜索解决方案中的所有文件并获得结果而忽略了注释掉的内容?我没有看到视觉工作室本身的方式,也许是一个插件可以做到吗?
答案 0 :(得分:48)
正如其他提供的解决方案对我不起作用,我终于发现了以下解决方案:
^~(:b*//).*your_search_term
简短说明:
^
从行的开头~(
不是以下:b*
任意数量的空格,然后是//
评论开始)
结束了.*
任何字符都可能出现在your_search_term
您的搜索字词: - )显然,这只适用于//
和///
风格的评论。
您必须在查找窗口中单击“使用正则表达式”按钮(点和星号)才能应用正则表达式搜索
答案 1 :(得分:3)
我的看法:
是的,你可以使用正则表达式,那些往往太慢而且认为它们会分散注意力集中在真实的东西上 - 你的软件。
我更喜欢非突兀的半智能方法:
穷人的方法: 如果您碰巧在
上使用了知识产权,请查找参考资料甚至更好: 视觉辅助和它的彩色“查找所有参考”和“转到”映射到方便的快捷方式。这极大地加速了导航。
答案 2 :(得分:2)
以前的答案对于在包含其他来源的行上放置匹配行的情况给出了假阳性:
++i; // your_search_term gets found, don't want it found
因此将:b*
替换为.*
并添加了<>
,因此只找到了整个单词,然后执行了一些旧版C风格的评论,其中{{1}在线:
/*
在我的情况下,我正在寻找^~(.*//)~(.*/\*).*<your_search_term>
的所有实例,不能重构辅助,以及大量误报。我还没想出如何避免引用字符串中的匹配。
答案 3 :(得分:1)
如果您使用//
对旧代码发表评论,则可以在代码库中搜索某些内容时使用正则表达式。像这样的东西:^[^/][^/].*your_function_name.*
。
答案 4 :(得分:1)
只是添加,因为我在代码中使用的分区运算符执行“查找全部”,使用以下内容从aspx文件中排除注释以及</
和/>
:< / p>
^~(.*//)~(.*/\*)~(.*\<\/)~(.*/\>).*/
答案 5 :(得分:0)
在Visual Studio 2015中的Visual Basic中,我能够通过调整最受欢迎的答案中的glassiko评论来搜索评论之外的文本
^(?![ \t]*[']).*mysearchterm
在C#中你会完全按原样使用glassiko的评论
^(?![ \t]*//).*mysearchterm
答案 6 :(得分:0)
更好地使用 \ s 我认为。 (eval '(apply func (list 3))
'((func . (lambda (x) (+ 4 x)))))
答案 7 :(得分:-14)
删除注释掉的代码,它在源代码管理权限吗?也没有必要将它保存在文件中。