11

是否有任何实用程序或插件为 C++ 提供类似 cscope 的功能。我在寻找

  • 所有对符号的引用
  • 全局定义
  • 函数调用的函数
  • 函数调用函数
  • 文件包括文件
4

2 回答 2

10

线程中列出了一些工具,https ://www.reddit.com/r/emacs/comments/1qktcb/cscope_like_functionality_that_correctly_handles/ :

其他一些链接

  • https://ruben2020.github.io/codequery/ " CodeQuery 是一个项目,它试图结合 cscope 和 ctags 提供的功能,提供比 cscope 更快的数据库访问(因为它使用 sqlite),并提供了一个很好的 GUI 工具好吧。 ”,有自己的 gui 和 vim 插件https://github.com/devjoe/vim-codequery;无法生成cscope数据库,但是它自己的“CodeQuery sqlite3 db”是从cscope.out转换而来的,由pycscope for python生成;用于 Ruby、Go 和 Javascript 的 starscope;用于 C 和有限 C++ 的原始 cscope;也可以使用标签。
  • https://github.com/cquery-project/cquery " cquery 是一个高度可扩展、低延迟的 C/C++/Objective-C 语言服务器。它经过测试和设计用于像 Chromium 这样的大型代码库。cquery 提供准确的在不中断工作流程的情况下进行快速语义分析。 ” ... 使用 clang、C/C++ 查找定义/引用;工作速度非常快,更新速度很快,而且会占用大量内存。有 vim 支持:https ://github.com/cquery-project/cquery/wiki/Vim
  • https://www.gnu.org/software/global/ GNU Global 有时被推荐作为 cscope 的替代品。它具有“不仅可以定位定义,还可以定位引用”,并支持“通过内置解析器定位 6 种语言。(定义和引用):C、C++、Yacc、Java、PHP4 和汇编。” 与 Vim 集成:https ://www.gnu.org/software/global/globaldoc_toc.html#Vim-editor

还有一些快速(索引)的 grep,比如 Russ Cox 的代码搜索工具(它也适用于正则表达式 - https://github.com/google/codesearch;示例是https://codesearch.debian.net/about)或任何其他索引的 grep...

还有交叉引用工具(GUI 和网络服务器),如 LXR 和其他... https://github.com/oracle/opengrok/wiki/Comparison-with-Similar-Tools

于 2018-01-24T03:47:43.087 回答
3

Vim 可以直接与开箱即用的 cscope 交互。键入:h cscope。这需要在编译 Vim 时启用 cscope 功能并在您的计算机上安装 cscope。

cscope 网页上有一个Vim + cscope 教程。

于 2010-03-13T09:16:37.613 回答