2012-10-14 35 views
5

我已经阅读了Alex Ott的fantastic guide to CEDET for Emacs,我想我知道如何正确设置我的EDE项目。Emacs CEDET:跳到符号

然而,当我尝试使用命令semantic-complete-jump-local (C-c , j)跳转到本地符号(例如:main()函数C++),我得到的错误[no match]即使我从.cpp文件中调用这个命令,其中的符号被定义。

此外,当我尝试用semantic-complete-jump-global (C-c , J)跳转到一个符号与不同文件的多个定义(如多main()功能),CEDET抱怨与[not unique]但它并没有给我一个方法来选择我想看哪个符号。找到我感兴趣的符号的唯一方法是循环遍历所有选项,使用<TAB>缓冲区,直到找到我感兴趣的那个。有没有办法从我可以选择的位置获取符号列表?理想情况下,获得与Emacs helm(以前称为Anything)提供的自动完成列表类似的列表非常棒。

这是全部用Emacs 24.2.1在Linux上与CEDET 1.1

+0

您正在使用哪种版本的CEDET? –

+0

感谢@AlexOtt,我刚刚更新了OP版本信息。 –

回答

5

你试过用semantic-ia-fast-jump命令吗?它不仅使用语义,还使用其他数据源来计算跳转的位置。我刚刚尝试过,它正确跳转到变量,这是在父类中声明的,在层次结构中高3个等级。

+0

谢谢亚历克斯! '语义ia快速跳跃'效果很好,但它需要我在要跳转到的定义的符号上有点(光标)。相反,我想跳转到可以键入小型缓冲区的符号(即通过我的项目中定义的符号进行导航的机制)。很高兴看到所有可能的符号列表,我可以浏览以选择我想要的符号。理想情况下,这可能是某种类型的增量自动完成列表,当您键入并优化符号的名称时(如Emacs Helm所做的那样),该列表会更新。不知道这是否可能。 –

+0

我认为,应该可以编写这样的功能,虽然它需要一些编码 –

+0

谢谢亚历克斯。同时,还有哪些其他机制可用于导航,跳转或预览符号定义? –