【问题标题】:Exclude comments when searching in Visual Studio在 Visual Studio 中搜索时排除注释
【发布时间】:2012-07-04 02:07:54
【问题描述】:

有没有办法在 Visual Studio 中执行搜索(在文件中查找/查找),以排除 cmets 中的匹配项?虽然有时它很有用,但有时却相反。对于提供的所有选项,我认为它会在那里,但如果是的话,我找不到它。

顺便说一下,我正在使用 VS 2010/2012。

【问题讨论】:

    标签: visual-studio-2010 visual-studio visual-studio-2012


    【解决方案1】:

    这是适用于我的新版本 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

    【讨论】:

    • 表达式前面有一个空格。我花了一段时间才弄清楚为什么它对我不起作用。谢谢。
    【解决方案2】:

    你可以试试下面的正则表达式:

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

    简短说明:

    • ^ 从行首
    • ~(不是下面的
    • :b* 任意数量的空格,后跟
    • //评论开始
    • ) NOT 结束
    • .*前面可以出现任何字符
    • your_search_term 你的搜索词:-)

    saw this at another post.

    【讨论】:

    • 非常酷。我认为它不会处理块 cmets (/* ... */),但我真的很喜欢正则表达式的分解方式。
    • 为我破了!根据文档,语法发生了变化:^(?![ \t]*//).*your_search_term。文档:msdn.microsoft.com/query/…
    • @JaredThirsk 我建议你添加一个答案;)。
    • @JaredThirsk 链接断开
    【解决方案3】:

    我不相信这是 VS 中的一个选项。您可以尝试正则表达式,但这些受限于您的创造力。使用正则表达式搜索不以 // 开头的行似乎并不完全困难。

    【讨论】:

    • 是的,不要忘记 /* .. */ 之间的任何内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 2010-12-08
    • 1970-01-01
    • 2019-01-15
    • 2012-02-19
    • 1970-01-01
    相关资源
    最近更新 更多