Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are there CScope-style source browsers for other languages besides C/C++ on Windows?

Tags:

vim

I'm specifically interested in tools that can be plugged into Vim to allow CScope-style source browsing (1-2 keystroke commands to locate function definitions, callers, global symbols and so on) for languages besides C/C++ such as Java and C# (since Vim and Cscope already integrate very well for browsing C/C++). I'm not interested in IDE-based tools since I know Microsoft and other vendors already address that space -- I prefer to use Vim for editing and browsing, but but don't know of tools for C# and/or Java that give me the same power as CScope.

The original answer to this question included a pointer to the CSWrapper application which apparently fixes a bug that some users experience integrating Vim and CScope. However, my Vim/CScope installation works fine; I'm just trying to expand the functionality to allow using Vim to edit code in other languages.

like image 258
JP Lodine Avatar asked Sep 15 '08 18:09

JP Lodine


People also ask

What is Cscope tool?

cscope is a programming tool which works in console mode, text-based interface, that allows computer programmers or software developers to search source code of the programming language C, with some support for C++ and Java.


1 Answers

Claiming that Cscope supports Java is an extreme stretch. It seems to treat a method like a function, so it has no idea that A.foo(), A.foo(Object) and B.foo() are all different. This is a big problem with a large code base (including third-party libraries) with many same-named methods. (I haven't looked at the Cscope source, but this is what I found trying the latest Cscope, version 15.7a-3.3 from Debian unstable.)

I tried Cscope on a large Java project, and it was not at all useful to me due to this limitation. It's sad that we cannot get a quick answer to a basic question like "who calls this method", using free software outside of the big IDEs, but we may as well accept it. (I would love it if I'm wrong. I resort to hacks like commenting out the method and recompiling.)

like image 110
Andrew Avatar answered Sep 19 '22 09:09

Andrew