【发布时间】:2013-02-16 22:47:56
【问题描述】:
我在网上找到的所有 cscope 教程都讲了如何使用 cscope 的交互模式在 vim 和 emacs 等编辑器中搜索符号。但我认为应该可以在终端中发出命令来执行类似
的操作cscope -d -some_options <my symbol>
而且我应该能够在标准输出中看到结果列表,而不必进入 ncurse UI 并在那里执行所有操作。我认为这是可能的,因为“唯一的”前端 cbrowser 可以在其 TclTK UI 中执行类似的操作。但不幸的是,代码超出了我的范围。
但是,我没有找到有关此功能的文档。
我是在做梦还是有没有记录的方法可以做到这一点?
谢谢!
更新
一些进展:如果我制作一个包含几个具有子目录结构的文件的小项目。然后 rici 的答案开箱即用。具有更大的项目(具有复杂文件夹结构的数千个文件)。即使 cscope.out 和 cscope.files 存在于项目文件夹的根目录(也是我当前的工作目录),我从相同的命令和相同的符号中什么也得不到。我怀疑该命令存在可伸缩性问题。我也试过命令
cat cscope.files | xargs cscope -d -L1 <symbol> -i
无济于事。
更新
非常奇怪!我尝试使用其他一些符号。原来,我正在搜索的特定符号无法使用命令行显示。但我尝试过的所有其他符号都有效。并且 cbrowser 可以毫无问题地找到那个“失败”的符号。不管怎样,我只是运气不好。我将在命令行中询问有关此异常的单独问题。
我将 rici 的答案标记为正确。
【问题讨论】:
-
我用
grep:grep -options <my_symbol> *.c -
但那是纯文本搜索。 cscope 更精确。
-
对,但有时你不需要大炮就能杀死一只苍蝇。
-
您是否提出了单独的问题?如果是的话,你能链接它吗?
-
不,我没有。抱歉已经很久很久了。我已经不记得细节了。我的错!但我觉得你的回答很有道理。我将其标记为正确,稍后将对其进行测试。