在代码中的 2 variables/objects 之间找到 links/relationships
Find links/relationships between 2 variables/objects in the code
编辑:
我发现 doxygen 可以为 classes 生成调用图,但是我找不到为 public/private 的 public/private 成员生成调用图的任何选项或示例35=](es) 比如字段、方法等?请参阅我在下面提供的示例。
是否可以使用一些 IDE 工具和代码编辑器在代码中找到 2 variables/objects 之间的 links/relationships,即 Visual Studio、Sublime 等
例如
a=func(b,c);
w=func(a,c);
这里w
和b
是间接相关的
在复杂的代码中,很难手动找到这样的关系。
我了解某些语言的反射和动态特性会限制此类分析。
找到工具列表和对比:
https://github.com/OpenGrok/OpenGrok/wiki/Comparison-with-Similar-Tools
编辑
可能在 doxygen 中,但仅适用于 类 及其关系
找到了,这是VS Ultimate中的代码图:
您需要提供您要使用的语言。如果我猜测并说 C/C++ 您通常可以使用 CCTree and Cscope 来实现此功能。大多数开源开发人员为此广泛使用 Cscope。
Eclipse CDT 也有 call graph's。我知道为此目的在 VisualStudio 之外工作有点痛苦。但成本是改用开源的部分原因。
为了浏览目的覆盖所有语言的最佳选择是 Exuberant Ctags。这适用于相当多的编辑器和您列出的所有语言。有了如此庞大的语言和用例列表,您可能值得花时间学习 vim 或 emacs 以及此处支持的集成。
对于Python你也可以看看pyscope with cscope. Another excellent alternative for Python is Rope。 Rope 支持将查找定义和用法作为其标准工具集的一部分。
大多数开发人员不需要 CCTree,因为使用 cscope 浏览代码库相对简单。多年来,我在多种语言上使用了 exuberant ctags + emacs。学习需要一点时间,但好处是
它免费、便携且功能强大。 CCTree 的另一种替代方法是 codegraph 用于某些目标语言。
编辑:
我发现 doxygen 可以为 classes 生成调用图,但是我找不到为 public/private 的 public/private 成员生成调用图的任何选项或示例35=](es) 比如字段、方法等?请参阅我在下面提供的示例。
是否可以使用一些 IDE 工具和代码编辑器在代码中找到 2 variables/objects 之间的 links/relationships,即 Visual Studio、Sublime 等
例如
a=func(b,c);
w=func(a,c);
这里w
和b
是间接相关的
在复杂的代码中,很难手动找到这样的关系。
我了解某些语言的反射和动态特性会限制此类分析。
找到工具列表和对比:
https://github.com/OpenGrok/OpenGrok/wiki/Comparison-with-Similar-Tools
编辑
可能在 doxygen 中,但仅适用于 类 及其关系
找到了,这是VS Ultimate中的代码图:
您需要提供您要使用的语言。如果我猜测并说 C/C++ 您通常可以使用 CCTree and Cscope 来实现此功能。大多数开源开发人员为此广泛使用 Cscope。
Eclipse CDT 也有 call graph's。我知道为此目的在 VisualStudio 之外工作有点痛苦。但成本是改用开源的部分原因。
为了浏览目的覆盖所有语言的最佳选择是 Exuberant Ctags。这适用于相当多的编辑器和您列出的所有语言。有了如此庞大的语言和用例列表,您可能值得花时间学习 vim 或 emacs 以及此处支持的集成。
对于Python你也可以看看pyscope with cscope. Another excellent alternative for Python is Rope。 Rope 支持将查找定义和用法作为其标准工具集的一部分。
大多数开发人员不需要 CCTree,因为使用 cscope 浏览代码库相对简单。多年来,我在多种语言上使用了 exuberant ctags + emacs。学习需要一点时间,但好处是 它免费、便携且功能强大。 CCTree 的另一种替代方法是 codegraph 用于某些目标语言。