很多时候,当我在看别人的代码时,我只想找到变量定义的位置和方式.通常我现在要做的是查找变量的类型,直到找到定义,这非常耗时.而且我想有一些工具可以帮助我解决这种局面.在某些工具或命令中有任何建议可以帮助我完成这项任务吗?
我知道使用GUI并创建一个项目这是自动完成的我在谈论一种没有GUI的方法.我只使用文本模式.我在Linux下运行,我正在使用C/C++,但欢迎使用其他语言的建议.
非常感谢.
可能的解决方案
Michel在他的一篇评论中提出了一个简单有效的解决方案,再次定义变量,在这种情况下,在编译时,编译器将告知先前的定义在哪里.当然,要应用此解决方案,我们需要先考虑变量的位置.
您已经提供了最合适的工具:IDE.这正是 IDE擅长的那种东西.为什么你会不会想,如果你发现痛苦的发展没有一个使用一个IDE?
请注意,Emacs,Vim等可以作为IDE使用 - 如果你想留在纯文本的情况下,我不是在谈论强迫你使用GUI的世界,例如因为你正在进行SSH连接.
(我真的不想在这里变得粗鲁.我只是认为你没有解释原因就打消了明显的解决方案.)
编辑:好的,你说你正在使用C++.我正在编辑我的回复.我会使用C预处理器然后grep为变量.它将出现在第一位.
cpp -I...(preprocessor options here) file.cpp | grep variable
C预处理器将加入程序使用的所有包含,并且定义必须在文件中对该变量的任何使用之前.不是一个完美的东西,但没有IDE或完整的语言描述/管理工具,你只有文本.
另一种选择是使用ctags.它理解C和C++语法(以及其他语法),并且可以使用命令行工具,emacs和vi等搜索变量和函数.
我虔诚地使用cscope和ctags-exuberant.在我的代码库上运行一次,然后在Vim中,我可以使用各种命令,如^]或[D或[I或类似的查找给定单词的任何定义或声明.
这类似于Visual Studio和Eclipse等超级IDE提供的功能.
Cscope还可以作为执行这些搜索的独立工具.