如何忽略结构声明并仅考虑 cscope 中的定义?

发布于 2024-07-29 15:02:49 字数 300 浏览 7 评论 0原文

我总是使用 vim + cscope 来检查符号定义,并且我发现 cscope 总是采用这样的声明:

struct sk_buff;

作为定义,这使得 vim 总是显示一长串文件可供选择。 事实上,我只想要定义:

struct sk_buff {
  ...
};

似乎ctags可以解决这个问题,但是cscope可以处理这个问题吗? 或者我错了。

我检查了cscope源代码,发现很难从头开始修改lex和yacc源代码。

I always use vim + cscope to check symbol definition, and I find cscope always take declaration like:

struct sk_buff;

as a definition, which make vim always show a long list files to choose. Indeed, I only want the definition:

struct sk_buff {
  ...
};

Seems ctags can resolve this problem, but can cscope handle this? Or somethings I'm wrong.

I checked the cscope source, and I find it's hard to modify the lex and yacc source from beginning.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南街女流氓 2024-08-05 15:03:32

你是对的,你不能只用 cscope 来做到这一点。
我每天在小型和大型项目中都使用 cscope+ctags 和 vim。
我发现使用这些工具最有效的方法是在 vim 中和 cscope_maps.vim 插件中使用它们。

这可能对你没有帮助,但它对我过去有帮助,请查看此网站以获取信息一起使用它们。 我会警告您,如果您使用 cscope_maps.vim 插件,您可能需要对其进行编辑并注释掉 “set cscopetag” 选项。

You are correct, you cannot do this just with cscope.
I use cscope+ctags with vim every day on both small and large projects as well.
I've found the most productive way to use these tools is to use them both from within vim and with the cscope_maps.vim plugin.

This may not help you but it's helped me int he past, check this site for information on using them together. I'll warn you that if you use the cscope_maps.vim plugin you'll probably want to edit it and comment out the "set cscopetag" option.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文