CEDET入门指南

7

尽管我很努力,但我无法让CEDET起作用。我的Emacs版本为24.3。我下载了最新的CEDET快照。我使用了Alex Ott在他的(不算太)Gentle Introduction底部提供的设置文件,并将第一行更改为指向我的cedet-bzr。

我打开了hello_world.cpp。执行M-x semantic-mode。

现在该怎么做?是否应该出现任何不同的内容?(没有)

浏览了Alex的设置文件后发现,C-c?应该有所作为,但Emacs报错说该键组合未绑定。我真的需要一些帮助和指导!

编辑: 我真的认为问题可能是:“下一步该怎么做?”我怎样才能知道它已安装并准备就绪?我应该期望什么?是否会出现新的菜单项?我必须做一些事情才能启动它吗?我的第一步应该是什么?目前为止,Emacs看起来和表现得好像什么都没有发生过,但也许我没有尝试正确的方法。总的来说:我该如何使用它?

编辑 #2(仍使用Alex的安装文件)

  1. 如果我将加载目录更改为.../cedet-bzr/trunk而不是.../cedet-bzr,则它可以在Kubuntu上运行。
  2. 在OS X上还没有成功。为了尝试使用内置版本,我尝试直接指向Emacs.app包中的cedet目录。在包外构建快照版本会抛出警告:“PATH中存在不安全的可写目录/Library/Frameworks,模式为040777”,并且菜单没有任何更改。
  3. 在Cygwin中,我不得不注释掉对“eassist”和“java”的引用,这样我就有了两个新菜单:Development和SRecorder。

你编译过CEDET吗? - Alex Ott
这是Emacs 24.3的问题吗?我已经在23.2.1上成功使用了CEDET。 - aartist
是的,它已经编译过了。无论是Emacs 23还是24,内置或独立安装都没有区别。请查看我对原始帖子的编辑。 - garyp
请在菜单项中检查“Senator”。Senator = 语义导航器。 - aartist
1个回答

1

这是我在Ubuntu 13.04上使用Emacs 24.3.1的设置:

(load "~/cedet-snapshot/cedet-devel-load.el")
(semantic-add-system-include "~/misc/include/" 'c++-mode)
(set-default 'semantic-case-fold t)

这里的~/misc/include/是指您可能在使用的某个库的包含文件,该库未安装到/usr/include/中。
我偶尔启用“语义模式”,因为它可能会很慢,但一旦启用,“semantic-ia-complete-symbol”就可以使用了。

更新

我在新的SSD上安装了全新的Ubuntu,并发现CEDET停止工作了。以下是我使其恢复正常的方法:
cd ~/.emacs.d/semanticdb
rm -rf *

在 C++ 缓冲区中,键入 M-x semantic-force-refresh。可能会询问有关调试钩子的内容,请输入 y。

这是你的整个cedet设置吗?如果我在OS X上使用你的设置(指向我的cedet-devel-load.el),我什么也没有得到。菜单没有变化,M-x seman[tab]没有返回任何补全。唉。 - garyp
哦...我应该先问一下:~/misc/include里面有什么?我得在我的系统上找到相对应的文件。 - garyp
这里列出的唯一必要命令是第一行(load ...),它加载了 dev CEDET 版本。如果运行 cedet-version,并且在文件列中没有看到“ok”,那么加载命令根本没有被执行,或者您缺少错误消息。尝试打印一些内容在文件中,然后使用 (message "Hello world!")查看它是否显示在迷你缓冲区中。同时尝试运行 emacs --debug-init。 - holocronweaver

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