Emacs CEDET:跳转到符号

5
我已阅读Alex Ott在Emacs中有关CEDET的绝妙指南,并且我认为我知道如何正确设置我的EDE项目。
然而,当我尝试使用命令semantic-complete-jump-local (C-c , j)跳转到一个本地符号(例如,在C++中的main()函数),即使我是从定义该符号的.cpp文件中调用该命令,我也会收到错误提示[no match]
此外,当我尝试使用semantic-complete-jump-global (C-c , J)跳转到具有多个定义的符号(例如多个main()函数)所在的不同文件时,CEDET会发出[not unique]的警告,但它没有给我选择要查看的符号的方式。找到我感兴趣的符号的唯一方法是通过一个一个缓冲区地按<TAB>循环遍历所有选项,直到找到我感兴趣的选项。有没有办法获取一个符号列表,从中我可以进行选择?理想情况下,最好能够获得类似于Emacs helm(以前称为Anything)提供的自动完成列表。
这全部是在Linux上使用CEDET 1.1Emacs 24.2.1完成的。

你使用的CEDET版本是哪个? - Alex Ott
谢谢@AlexOtt,我刚刚更新了原帖中的版本信息。 - Amelio Vazquez-Reina
1个回答

5

你是否尝试使用semantic-ia-fast-jump命令?它不仅使用Semantic,还使用其他数据源来计算跳转的位置。我刚刚尝试了一下,它成功地跳转到了在父类中声明的变量,且层级比当前高3级。


谢谢Alex!semantic-ia-fast-jump很好用,但它要求我将光标放在我想跳转到其定义的符号上。相反,我想跳转到我可以在迷你缓冲区中输入的符号(即浏览我项目中定义的符号的机制)。看到所有可能的符号列表并浏览以选择我想要的符号会很棒。理想情况下,这将是一种增量自动完成列表,当您键入和细化符号名称时会更新(就像Emacs Helm所做的那样)。不确定是否可能。 - Amelio Vazquez-Reina
我认为编写这样的函数是可能的,尽管需要一些编码。 - Alex Ott
谢谢Alex。同时,还有哪些其他机制可以导航、跳转或预览符号定义? - Amelio Vazquez-Reina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接