当前位置:  开发笔记 > 编程语言 > 正文

cscope类似于C++的功能(使用vim)

如何解决《cscope类似于C++的功能(使用vim)》经验,为你挑选了1个好方法。

是否有任何实用程序或插件为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



1> osgx..:

线程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

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有