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

有上下文相关的代码搜索工具吗?

  •  1
  • Vicky  · 技术社区  · 15 年前

    我最近在处理大量遗留代码时感到非常沮丧,我正试图熟悉这些代码。

    假设我试图搜索一个特定的函数调用,我会得到大量结果,结果证明它们完全不相关;其中一些结果很容易被发现,例如

    // Fixed functionality in foo() so don't need to handle this here any more
    

    但其他的则很难手动发现,因为它们是模块中其他函数的调用,这些函数只在某些情况下编译,或者是更大的代码块的一部分,即 #if 0 全部都出来了。

    我想要的是一个搜索工具,它可以让我搜索一个词,并给我一个选择,包括或排除注释掉或如果0的代码。然后,搜索结果将显示在定义列表的旁边,这些定义是相关代码片段所必需的。

    我在C/C++中工作,但是除了具体的注释语法,我想这些技术应该更普遍适用。

    有这样的工具吗?

    2 回复  |  直到 10 年前
        1
  •  1
  •   scunliffe    15 年前

    不完全是你想要的,但我觉得这很方便。

    GrepWin -一个免费的视觉“grep”工具搜索文件。

    我觉得这很有帮助,因为:

    • 它是一个独立的应用程序(不会锁定我的编辑器)
    • 处理正则表达式
    • 它的速度很快
    • 可以指定要搜索的文件夹和文件类型(这里也处理regex)
    • 可以按文件大小限制
    • 可以包含子目录(或由正则表达式排除)
    • 等。
        2
  •  1
  •   Jerry Coffin    15 年前

    几乎任何一个好的源代码浏览器都会让您转到定义函数的位置,和/或列出该函数的所有调用,并直接将您带到调用站点。这通常基于对源代码的相当完整的解析,因此它将忽略注释、预处理器排除的代码等(事实上,至少在一种情况下,源浏览器使用的解析器几乎肯定比编译器本身使用的解析器要好)。

    推荐文章