Emacs才是世界上最强的IDE - CEDET的安装

在准备写Emacs才是世界上最强大的IDE系列文章时,由于以前用的是cedet1.0pre6版本,速度比较慢,而且精确度也不高,所以就没有打算写它,昨天晚上在水木群里听一位网友介绍说cedet的cvs版本速度很快,而且精确度不错,所以晚上就down下cvs的版本试了一把,越试越感觉不错,就有了写cedet的想法。从头开始,先说安装吧。
cedet的安装挺简单,只要仔细看好cedet的说明就可以了,不过我昨天晚上没仔细看好说明,安装的时候碰到一个问题,所以我还是准备写一下安装过程。(如果你用apt-get, 或者emerge安装,首先要看下它们的版本,1.0pre6和其之前的版本都不要安装,语法分析会很慢的。)
首先下载cedet的cvs版本:
1 2 | cvs -d:pserver:anonymous@cedet.cvs.sourceforge.net:/cvsroot/cedet login cvs -z3 -d:pserver:anonymous@cedet.cvs.sourceforge.net:/cvsroot/cedet co -P cedet |
然后编译:
-
linux下:
1 2 3 4 5 6 7 8 9 10 11 12 13
cd cedet touch `find . -name Makefile` (非cvs版本不需要这个) a) make 或 b) make EMACS=<your favorite emacs> 或 c) make MAKEINFO=/usr/local/bin/makeinfo 或 d) make MAKEINFO=echo 如果编译过程中发生类似找不到loaddef文件,custom-autoload以及其他奇怪的错误,执行: a) make clean-autoloads b) make clean-all 然后再重新编译。编译错误还有可能是make版本引起的,请使用GNU make,或者使用windows下的安装方法。
-
windows下(当然linux下这样也可以):
1 2 3 4 5 6
emacs -q --no-site-file -l cedet-build.el -f cedet-build 或 在emacs中打开cedet-build.el文件,然后 M-x eval-buffer M-x cedet-build-in-default-emacs 编译过程中如果发生超过emacs堆栈大小的错误,退出emacs再重新编译即可。
说完安装,再说一下简单的使用,把下面的代码贴到你的.emacs里面:
1 2 3 4 5 6 7 8 9 10 11 12 | (add-to-list 'load-path "path-of-cedet/common") (require 'cedet) (require 'semantic-ia) ;; Enable EDE (Project Management) features (global-ede-mode 1) (semantic-load-enable-excessive-code-helpers) (semantic-load-enable-semantic-debugging-helpers) ;; Enable SRecode (Template management) minor-mode. (global-srecode-minor-mode 1) |
现在开始享受cedet吧。
关于cedet的进一步使用,我会再写专门的文章介绍,敬请期待,:)。

GD Star Rating
loading...
标签:autoload, buffer, CEDET, ede, Emacs, IDE, linux, lisp, mode, org, screenshot, semantic, srecode, windows, 安装, 编译loading...
这个是不是有问题的啊?刚差不多照着做。
在cygwin 1.7.1环境下:emacs 23.1
emacs –debug-init,出错。。
在semantic-load-enable-excessive-code-helpers()中,
Symbol’s function definition is void: semantic-idle-tag-highlight-mode
我的.emacs文件如下:
(add-to-list ‘load-path “~/elisp/cvs/cedet”)
(load-file “~/elisp/cvs/cedet/common/cedet.el”)
(require ‘cedet)
(require ’semantic-ia)
(semantic-load-enable-excessive-code-helpers)
(semantic-load-enable-semantic-debugging-helpers)
(global-ede-mode 1) ; Enable the Project management system
;; (semantic-load-enable-code-helpers) ; Enable prototype help and smart completion
(global-srecode-minor-mode 1) ; Enable template insertion menu
疑似没有这个函数,semantic-idle-tag-highlight-mode
另,我在semantic-idle.el文件中,找到了个
(define-semantic-idle-service semantic-idle-tag-highlight
“一些文档说明”
(when (semantic-idle-summary-useful-context-p)以下略。
请求帮助。。
[回复]
ahei 回复:
一月 30th, 2010 at 2:13 下午
这个安装过程应该没问题,我也就是根据它安装的,而且这个安装过程基本上也就是按照官方的安装文档翻译的,官方安装文档在cedet的包中INSTALL文件里面
semantic-idle-tag-highlight-mode就是在semantic-idle.el中用define-semantic-idle-service定义的
你试试(require ’semantic-idle)
[回复]
匿名 回复:
三月 29th, 2010 at 9:10 上午
@ahei, 还是有问题,我把你说的加在(load “cedet-settings”)前,
出现错误:error: Buffer *scratch* was not set up for parsing。还有一个问题,软链接(ln -sf CUR_DIR/.emacs.changed ~/.emacs),但windows下的emacs不认这个快捷方式,因为它真正的名字是
.emacs.lnk
[回复]
ahei 回复:
三月 29th, 2010 at 9:16 上午
@, 那你试试emacs -q启动,然后只加载cedet试试。或者你直接用我编译好的cedet吧,在我的DEA里面。win下的软链接确实不行,我在win下是这样启动我的emacs的,emacs -q -l my.emacs
[回复]
匿名 回复:
三月 29th, 2010 at 10:19 上午
@ahei, 我单用你的cedet试过了,没什么问题,semantic-idle-tag-highlight-mode也可以使用
[回复]
ahei 回复:
三月 29th, 2010 at 10:23 上午
@, 那就用我的吧,在win下编译cedet多折腾。
[回复]
我也遇到了一样的问题。。是不是因为emacs 23.1已经默认包含cedet?
[回复]
ahei 回复:
三月 19th, 2010 at 5:07 上午
@, 没有,cvs才包含的。
[回复]
你好,我配置好cedet以后出现下面的问题,你能帮忙看看么?

Idle Service Error semantic-idle-summary-idle-function: “# – Symbol’s function definition is void: eldoc-message”
[回复]
ahei 回复:
三月 28th, 2010 at 9:40 上午
你(require ‘eldoc)试试,应该可以.
[回复]
zneil 回复:
三月 28th, 2010 at 12:28 下午
@ahei, 谢谢,可以用了。
[回复]
# 后面是我建立的c++文件的名称。
[回复]
反馈一点东西,不知道对不对,因为是新手一个,呵呵
在安装完cedet之后在.emacs中加载它时总是不能加载,然后我经过搜索,把
(add-to-list ‘load-path “~/cedet”)
修改为
(load-file “~/cedet/common/cedet.el”)
之后才能正确加载,为什么呢?谢谢
[回复]
ahei 回复:
三月 31st, 2010 at 2:07 上午
@love214925, 如果你是用(load-file “~/cedet/common/cedet.el”)的话,是不需要把cedet的路径加到load-path里面去的,直接load就可以了。
[回复]
love214925 回复:
三月 31st, 2010 at 4:05 上午
@ahei,
那添加进去为什么就不能加载呢?疑问
[回复]
ahei 回复:
三月 31st, 2010 at 4:45 上午
@love214925, 报啥错误?
[回复]
love214925 回复:
三月 31st, 2010 at 5:11 上午
@ahei,
cannot open load file ‘cedet
路径也没有问题,添加到load-path中又是起到什么作用呢?
[回复]
ahei 回复:
三月 31st, 2010 at 5:15 上午
@love214925, 。。。不知道你的杂回事了。load-path是load的时候的搜索路径。呵呵,emacs还是要系统的学一下的,see 致Emacs初学者。
[回复]
love214925 回复:
三月 31st, 2010 at 5:36 上午
@ahei,
呵呵,谢谢了,知道需要系统学习一下了,估计是自己白的太很了,哪些地方出错了
[回复]
你好,首先在你这学到了很多东西,但是在装cedet的时候跟楼上的错误一样 cannot open load file ‘cedet
我是在王垠的链接中下的cedet-1.0pre.tar.gz ,解压在当前文件名为cedet的文件中,如上步骤后,就出现该问题,刚刚看着方面的知识,自己改了多次还是没解决,请帮帮忙
[回复]
ahei 回复:
四月 3rd, 2010 at 4:47 上午
首先, 1.0pre太老了, 现在都出到1.0pre7了, 所以你最好用最新版, 1.0pre6解析的时候速度都很慢, 何况1.0pre呢. 其次, 把你的cedet.el的路径用add-to-list加到load-path里面去, (add-to-list ‘load-path “path of cedet.el”), 然后再(require ‘cedet)应该就可以了.
[回复]
还有个问题 ,我是在win7中用VMware 装的redhat9, 为了能够访问宿主机的资源,我又装了VMware tool,但装完之后VMwaretool后,当鼠标进入emacs窗口时有时会变成粉色的叉状,移出emacs是变成黑色的叉状,有时候就正常,不知道什么原因
[回复]
ahei 回复:
四月 3rd, 2010 at 4:47 上午
呵呵, 这个我就不知道了, 我不在虚拟机下用Emacs.
[回复]
chenpulee 回复:
四月 6th, 2010 at 12:48 下午
@ahei, 谢谢!这两天有点不方便,断网了,前段时间刚把一些快捷键用熟了,常用的键,呵呵,看了一点linux文件系统方面的知识,结果系统起不来了,提示 :修复文件系统,刚接触这方面的东西,都不懂,回去重装一下,再试
[回复]
我的也是用(add-to-list ‘load-path “~/cedet”)不能加载 错误:cannot open load file ‘cedet
用(load-file “~/cedet/common/cedet.el”)才行
[回复]
ahei 回复:
四月 10th, 2010 at 3:30 下午
不好意思, 是我弄错了, 已经改过来了, 应该是这样: (add-to-list ‘load-path “path-of-cedet/common”)
[回复]
我用的是windows 下的安装办法.但是提示
用的是23.2 CVS 下载的 cedet Symbol’s value as variable is void: filename
[回复]
ahei 回复:
五月 25th, 2010 at 12:40 上午
@, 你用我DEA里面的cedet,然后参照DEA里面的设置把23.2内置的CEDET屏蔽掉
[回复]
x_wp 回复:
十月 14th, 2010 at 9:01 下午
@ahei,
我是一个初学者,已经被 emacs 吸引住了,但是不懂的地方太多,正在学习之。
请问如何屏蔽掉23.2内置的CEDET?我看了您的DEA,可是不知道在什么地方屏蔽的。
[回复]
ahei 回复:
十月 14th, 2010 at 10:54 下午
@x_wp, 就是把cedet的path加到load-path前面
[回复]
请问使用emacs如何管理一个个工程使用semantic进行分析的tags?
我在公司是有好几个项目同时在支撑,彼此源码没有相关性,
使用emacs的话我一直找不到好的方法来管理。
所以后来改用vim,每个工程根目录下创建ctags和cscope数据,
分别启动多个vim加载对应工程目录的ctags和cscope数据。
而使用emacs则不知道如何做。
不知道博主你是否有好方法,谢谢!
[回复]
ahei 回复:
八月 27th, 2010 at 9:16 下午
@, 看http://emacser.com/cedet.htm
[回复]
匿名 回复:
八月 28th, 2010 at 5:52 下午
@ahei,
每次添加新工程根目录我是不是都得修改配置文件里边的相关路径?
有没有快捷一些的方法呢?
另外对于同一个项目不同的版本如果全都加入semantic进行分析,
是否会有很多tags是重复的?毕竟版本之间的差异不是很大。
[回复]
ahei 回复:
八月 28th, 2010 at 7:29 下午
@, 你可以建Makefile让semantic自动识别,这样的话就不用了.tag重复的问题可能会有,semantic这方面貌似还不太好
[回复]