假设我正在编辑包含C代码的缓冲区。
我已使用semantic-load-enable-code-helpers
开始semantic。
我有点放在一个函数的名称上。如果我然后调用senator-jump
,我可以跳转到该模块中首次声明fn的位置。如果该模块中存在extern声明,那么它将转到该extern语句。有时?但有时它不起作用。
还有semantic-ia-fast-jump
,它也会跳转到第一个声明。我不确定这个fn与senator-jump
的区别。但是,对于本地缓冲区中定义的函数,这个实际上始终有效。
如果我想跳转到的功能怎么样呢?如果该定义存在于一个单独的模块中,是否可以使用参数来跳转到fn的定义? EDE不应该做这样的事吗?
感谢。
答案 0 :(得分:5)
查看语义-aa中定义的语义快速跳转函数。对于C& C ++使用GNU Global的gtags生成数据库也是个好主意 - CEDET支持它。
P.S。我刚刚检查过 - 它从我的源码跳转到/ usr / include /....
中的std :: string声明答案 1 :(得分:1)
我没有使用参议员,但是没有etags为你工作?我创建了一个所有.c
的标签表。和.h
文件使用
find . -name \*.c -o -name \*.h | xargs etags
然后使用find-tag
(默认绑定到 M - 。)并跳转到相应的定义。 pop-tag-mark
(默认绑定到 M - * )可用于返回您的来源。
它适合我,但我主要是在浏览大型项目代码库时使用它而不是编辑C.