是否有任何实用程序或插件为C++提供类似cscope的功能.我在寻找
所有对符号的引用
全球定义
函数调用的函数
调用函数的函数
文件包括文件
osgx.. 6
线程https://www.reddit.com/r/emacs/comments/1qktcb/cscope_like_functionality_that_correctly_handles/中列出了一些通行费:
Clang ctags https://github.com/drothlis/clang-ctags(使用clang进行解析,支持C / C ++)-似乎生成普通的经典“ TAGS”文件(仅定义,即旺盛Ctags的“级别1”)用于Emacs和Vi
Clang标签https://github.com/ffevotte/clang-tags(使用clang进行解析,支持C / C ++;需要运行服务器才能使用)-与JSON编译数据库一起使用,同时支持转到定义(clang-tag find-def
) /转到用法(clang-tag grep
)。vim-clang-tags可用于列出所有用法(:ClangTagsGrep
命令);也有emacs插件
Rtags https://github.com/Andersbakken/rtags(以Roberto Raggi的名字命名,他编写了c ++解析器并保证将其切换为clang解析; C / C ++具有受限的ObjC / ObjC ++;基于服务器的./bin/rdm
守护程序)-具有“跟随符号”和“查找参考”。与emacs的网关- "rtags.el"
; Vim有两个项目:https : //github.com/lyuts/vim-rtags(对rtags的丰富支持)和https://github.com/shaneharper/vim-rtags(仅2个命令)都带有“查找参考” ”和“查找定义”功能
承担 https://github.com/rizsotto/Bear(不基于clang,可以为cmake和非cmake项目生成“ JSON编译数据库”)。没有任何交叉引用功能?
其他一些链接
https://ruben2020.github.io/codequery/ “ CodeQuery是一个试图结合cscope和ctags可用功能的项目,与cscope相比,它提供了更快的数据库访问权限(因为它使用sqlite),并且提供了一个不错的GUI工具好。 ”,拥有自己的gui和vim插件https://github.com/devjoe/vim-codequery;无法生成cscope数据库,但是它自己的“ CodeQuery sqlite3 db”是从pycscope为python生成的cscope.out转换而来的;适用于Ruby,Go和Javascript的starscope;适用于C和受限C ++的原始cscope;也可以使用TAGS。
https://github.com/cquery-project/cquery ” cquery是用于C / C ++ / Objective-C的高度可扩展,低延迟的语言服务器。它已针对诸如Chromium的大型代码库进行了测试和设计。 。快速的语义分析,而无需中断工作流程 “......发现定义/引用,铿锵,C / C ++; 快速的工作,快速的更新并占用大量RAM。有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
而且还有一些快速的(索引式)抓手,例如Russ Cox的代码搜索工具(它也可与regex一起使用-https: //github.com/google/codesearch;示例为https://codesearch.debian.net/about)或任何其他其他索引的grep ...
还有像LXR和其他类似的交叉引用工具(GUI和Web服务器)... https://github.com/oracle/opengrok/wiki/Comparison-with-Similar-Tools
线程https://www.reddit.com/r/emacs/comments/1qktcb/cscope_like_functionality_that_correctly_handles/中列出了一些通行费:
Clang ctags https://github.com/drothlis/clang-ctags(使用clang进行解析,支持C / C ++)-似乎生成普通的经典“ TAGS”文件(仅定义,即旺盛Ctags的“级别1”)用于Emacs和Vi
Clang标签https://github.com/ffevotte/clang-tags(使用clang进行解析,支持C / C ++;需要运行服务器才能使用)-与JSON编译数据库一起使用,同时支持转到定义(clang-tag find-def
) /转到用法(clang-tag grep
)。vim-clang-tags可用于列出所有用法(:ClangTagsGrep
命令);也有emacs插件
Rtags https://github.com/Andersbakken/rtags(以Roberto Raggi的名字命名,他编写了c ++解析器并保证将其切换为clang解析; C / C ++具有受限的ObjC / ObjC ++;基于服务器的./bin/rdm
守护程序)-具有“跟随符号”和“查找参考”。与emacs的网关- "rtags.el"
; Vim有两个项目:https : //github.com/lyuts/vim-rtags(对rtags的丰富支持)和https://github.com/shaneharper/vim-rtags(仅2个命令)都带有“查找参考” ”和“查找定义”功能
承担 https://github.com/rizsotto/Bear(不基于clang,可以为cmake和非cmake项目生成“ JSON编译数据库”)。没有任何交叉引用功能?
其他一些链接
https://ruben2020.github.io/codequery/ “ CodeQuery是一个试图结合cscope和ctags可用功能的项目,与cscope相比,它提供了更快的数据库访问权限(因为它使用sqlite),并且提供了一个不错的GUI工具好。 ”,拥有自己的gui和vim插件https://github.com/devjoe/vim-codequery;无法生成cscope数据库,但是它自己的“ CodeQuery sqlite3 db”是从pycscope为python生成的cscope.out转换而来的;适用于Ruby,Go和Javascript的starscope;适用于C和受限C ++的原始cscope;也可以使用TAGS。
https://github.com/cquery-project/cquery ” cquery是用于C / C ++ / Objective-C的高度可扩展,低延迟的语言服务器。它已针对诸如Chromium的大型代码库进行了测试和设计。 。快速的语义分析,而无需中断工作流程 “......发现定义/引用,铿锵,C / C ++; 快速的工作,快速的更新并占用大量RAM。有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
而且还有一些快速的(索引式)抓手,例如Russ Cox的代码搜索工具(它也可与regex一起使用-https: //github.com/google/codesearch;示例为https://codesearch.debian.net/about)或任何其他其他索引的grep ...
还有像LXR和其他类似的交叉引用工具(GUI和Web服务器)... https://github.com/oracle/opengrok/wiki/Comparison-with-Similar-Tools