代码之家  ›  专栏  ›  技术社区  ›  akjain

在Eclipse中跨文件搜索注释掉的代码

  •  9
  • akjain  · 技术社区  · 14 年前

    搜索中的任何选项,或者任何可以做到这一点的插件?

    它应该只能找到被注释掉的代码,而不是普通的注释。

    6 回复  |  直到 9 年前
        2
  •  18
  •   Boann    9 年前

    (/\*.*;.*\*/)|(//.*;)
    

    它将在中找到分号

    //这些;

    和/*这些*/

        3
  •  1
  •   Gilbert Le Blanc    14 年前

    您可以用任务标记标记自己的注释代码。您可以在Eclipse中创建自己的任务标记。

    从菜单中,转到“窗口”->“首选项”。在“首选项”对话框中,转到“常规”->“编辑器”->“结构化文本编辑器”->“任务标记”。

    添加适当的任务标记,如注释。将优先级设置为低。

        4
  •  0
  •   Stephen C    14 年前

    @乔恩说:

    我想[ ]希望查找被注释掉的代码,而不是有注释的代码。

    如果想要找到 注释掉 代码,那么我认为一般来说这是不可能的。问题是,无法区分作为代码或伪代码编写的注释和被注释掉的代码。做出这种区分需要人类的智慧。

    现在IDE通常有一个“切换注释”函数,它以特定的方式注释代码。编写与 特定IDE。但这可能还不够好,特别是因为重新格式化代码通常会消除使注释掉的代码可识别的特征。

        5
  •  0
  •   Ira Baxter    14 年前

    一个简单的方法是搜索包含类似代码的注释。我很想寻找包含“;”字符(或其他一些罕见的指示符,如“=”)的注释;很难有任何有趣的注释代码不包含此项,根据我的注释经验,我看不到很多人写的代码包含此项。regexp对此的搜索应该非常简单,即使它发现了一些额外的误报(例如,//in A string literal)。

    实现这一点的一个更复杂的方法是使用Java词法分析器或解析器。如果您有一个在标记处返回注释的lexer(并不是所有的标记都返回注释,Java编译器对注释不感兴趣),那么您可以简单地扫描lexem中的注释并执行上面描述的分号检查。使用这种方法,字符串文本中类似注释的内容不会得到任何误报。

    作为AST的一部分捕获评论(例如 SD Java Front End ), 要查看内容是否与代码类似,并将通过该测试模块的任何内容报告为与大小相关的错误率 (15个字符中的10个错误意味着“真的是一个评论”)。现在“类代码”测试需要 子串 (Java)语言的。 我们的 DMS Software Reengineering Toolkit 这个问题是“你能找到一个使用字符串的(非)终端序列吗?”.

    lexer方法和解析器方法分别是小型和大型的大锤式方法。如果OP只做一次,他可以坚持手动regex搜索。如果问题是反复检查代码库(大型组织需要),他会希望有一个可以定期运行的工具。

        6
  •  -1
  •   Shervin Asgari    14 年前

    你要找的就是 /* //

    但是,如果您使用 Linux 你可以很容易地得到所有的评论与一行。