Are there CScope-style source browsers for other languages besides C/C++ on Windows?我对可以插入Vim的工具特别感兴趣,这些工具允许使用CScope样式的源浏览(1-2个击键命令来定位函数定义,调用者,全局符号等),用于除C / C外的其他语言,例如Java和C#(因为Vim和Cscope已经很好地集成了浏览C / C的功能)。我对基于IDE的工具不感兴趣,因为我知道Microsoft和其他供应商已经解决了这一问题-我更喜欢使用Vim进行编辑和浏览,但是不知道给我提供C#和/或Java的工具与CScope具有相同的功能。 该问题的原始答案包括一个指向CSWrapper应用程序的指针,该应用程序显然修复了一些用户在集成Vim和CScope时遇到的错误。但是,我的Vim / CScope安装正常。我只是想扩展功能,以允许使用Vim编辑其他语言的代码。 声称Cscope支持Java是一项极端工作。似乎将方法视为函数,因此不知道A.foo(),A.foo(Object)和B.foo()都是不同的。对于具有许多同名方法的大型代码库(包括第三方库),这是一个大问题。 (我没有看过Cscope的源代码,但这是我发现尝试从Debian不稳定的最新Cscope版本15.7a-3.3时发现的。) 我在一个大型Java项目上尝试了Cscope,由于这个限制,它对我根本没有用。令人遗憾的是,我们无法在大型IDE之外使用免费软件来快速回答诸如"谁调用此方法"之类的基本问题,但我们还是可以接受。 (如果我错了,我会喜欢的。我诉诸于黑客,例如注释掉方法并重新编译。) CScope确实适用于Java。 来自http://cscope.sourceforge.net/cscope_vim_tutorial.html:
这里的聚会有点晚,但是我的https://github.com/eapache/starscope/项目提供了一个不错的框架,可以为更多语言生成cscope数据库。当前,它支持Ruby和Go,并且Javascript正在开发中。添加Java / C#并不难。 编辑:现已完全支持Javascript。 我同意安德鲁的看法-尝试获取方法的调用层次结构会返回所有具有相同名称的调用,即使它们来自不同的类也是如此。 您可以使用Eclim将Eclipse插入VIM http://eclim.org/ 支持者称其为等级 http://eclim.org/vim/java/inspection.html#call-hierarchy 这可能是您要查找的内容: http://www.vim.org/scripts/script.php?script_id=1783 您还可以使用各种样式的map模仿自己的.vimrc文件中的某些CScope功能。 |