我正在尝试使用 cscope
和 vim
,我发现事情有点令人困惑 .
假设我在 /home/user/projects/project_foo/
中有一个项目 . 如果我直接通过 cscope
它一切正常(我可以找到符号) . 如果我通过 vim
,我会收到 no cscope connections
错误 . 所以我不明白它是如何工作的 .
据我所知,你必须为你的项目 Build 一个数据库,但是当我在项目目录中运行cscope [-R] [-b]时,在这个目录中没有创建文件 . 那么数据库在哪里创建?每个项目或全局数据库都有单独的数据库吗?
每次更改项目符号(例如添加函数)时,是否必须重建数据库?
如何使 vim
(从项目目录加载)使用该项目的数据库 . 如果有一个全局数据库,我可以只在当前项目中进行 vim
搜索吗?
我发现了一些关于这个东西的零散信息,但对于初次使用的用户来说,这一切都非常混乱 . 如果你能澄清这些事情,它会更清楚,我能够弄清楚其余的事情 .
2 回答
感谢tristan:
cscope -b
创建数据库cscope.out
.:cs add cscope.out
添加了数据库 .如果您希望能够找到该特定功能,是的 . 您仍然可以不重建数据库,但是如果要添加代码行(例如),cscope将指向创建数据库时文件中的符号的原始位置 .
您可以通过更改vimrc脚本来完成此操作 . Autoloading cscope database教程是您可以配置的一个很好的示例 .