在Visual Studio中搜索时排除注解

clj7thdc  于 2023-03-09  发布在  其他
关注(0)|答案(4)|浏览(218)

是否有一种方法可以在visual studio中执行搜索(查找/在文件中查找),并排除注解中的匹配项?虽然有时候它很有用,但有时候却正好相反。对于所有显示的选项,我认为它应该在那里,但如果它在那里,我就找不到它了。
顺便说一句,我使用的VS 2010/2012大约是一样的。

3bygqnnd

3bygqnnd1#

下面是适用于较新版本Visual Studio的正则表达式:

^(?![ \t]*//).*your_search_term

请注意,自VS 2012起语法发生了变化:
Visual Studio 2012使用. NET Framework正则表达式查找和替换文本。在Visual Studio 2010和早期版本中,Visual Studio在"查找"和"替换"窗口中使用自定义正则表达式语法。
参考:https://msdn.microsoft.com/en-us/library/vstudio/2k3te2cs(v=vs.110).aspx

k2fxgqgv

k2fxgqgv2#

你可以尝试如下正则表达式:

^~(:b*//).*your_search_term

简要说明:

  • 从行首开始^
  • ~(非以下内容
  • :b*任意数量的空格,后跟
  • //注解开始
  • )非结束
  • .*前面可以出现任何字符
  • your_search_term您的搜索词:-)

saw this at another post.

z9smfwbn

z9smfwbn3#

我不认为这是VS中的一个选项。你可以尝试使用正则表达式,但这会受到你的创造力的限制。使用正则表达式搜索不以//开头的行似乎并不完全困难。

biswetbf

biswetbf4#

您可能指的是*任何注解,*两者都是单行-//多行**(/**/)。
其他的答案只处理单行注解,所以这里是我的VS代码兼容的Regex ,同时用于这两个

(?<!//.*)(?!(/\*).*)YOUR_SEARCH_TERM(?![^/\*]*?\*/)

说明:
(?<!//.*)是针对单行注解(//)的负向后查找
(?!(/\*).*)使前面带有/*的搜索词无效
(?![^/\*]*?\*/)使您的搜索项无效,如果它后面跟有*/(在您的搜索项和它本身之间缺少/*,因为这样您的搜索项将在/* */的 * 外部 ,并且您希望它再次匹配)。
要在VS代码中使用它,只需输入Ctrl + F,然后在弹出的搜索字段中勾选regex图标(
void * 是示例性搜索词):

相关问题