【问题标题】:cscope like functionality for C++ (using vim)类似 C++ 的 cscope 功能(使用 vim)
【发布时间】:2011-01-25 22:19:03
【问题描述】:

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

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

【问题讨论】:

    标签: vim cscope


    【解决方案1】:

    线程中列出了一些工具,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;也可以使用 TAGS。
    • 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

    【讨论】:

    • 谢谢,rtags 完美运行。远远优于ctags+cscope,后者在C++中几乎无法使用。
    【解决方案2】:

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

    cscope 网页上有一个Vim + cscope tutorial

    【讨论】:

    • 有没有其他工具可以提供类似的功能
    • 我找到了一个名为 Silent Bob (silentbob.sourceforge.net) 的程序,但没有尝试过。它声称支持 C++、perl 和 Python。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2014-08-26
    • 1970-01-01
    • 2012-10-04
    相关资源
    最近更新 更多