cscope 和 ctags 都不允许我们直接处理继承,但解决该限制相对容易,因为派生类也被索引。
范围
在cscope中,查找“C符号”Foobar通常会列出原始类和继承自它的类。由于搜索是针对数据库完成的,因此速度快如闪电。
或者,您可以使用 cscope 的 egrep 搜索功能以及仅:.*Foobar列出继承自.Foobar
所以,即使我们没有专门的“查找继承自该类的类”命令,我们也可以不费吹灰之力就完成工作。
标签
虽然 ctags 允许您使用 包含继承信息--fields=+i,但该信息不能直接在 Vim 中使用。不过,该inherits字段是由 Vim 解析的,因此可以使用taglist().
确认, 股份公司
这两个程序的工作方式或多或少类似于 grep,但它们的目标是在源代码中搜索,因此它们确实比 grep 更快。
在我的 Vim 配置中,:grep设置为运行ag程序而不是默认值grep,因此搜索从光标下的类派生的类将如下所示:
:grep :.*<C-r><C-w><CR>
Run Code Online (Sandbox Code Playgroud)
以下是我的相关行~/.vimrc:
if executable("ag")
set grepprg=ag\ --nogroup\ --nocolor\ --ignore-case\ --column
set grepformat=%f:%l:%c:%m,%f:%l:%m
endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2384 次 |
| 最近记录: |