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...
我把上面的方法试了一试,失败了。
Symbol’s function definition is void: semantic-load-enable-excessive-code-helpers
不好意思我是个新手,才学两三天,不明白这个错误时什么意思
[回复]
hj_18 回复:
四月 22nd, 2011 at 5:31 上午
@,
估计是 load path 有问题,我也遇到过同样的问题,结果发现在配置文件的第一句设定路径时,不是设定在 cedet 的根目录,而是在它下面的 common 目录
(add-to-list ‘load-path “path-of-cedet/common”)
比如说我在 home 下设立一个 lisp 的目录,然后把 cedet 解压在这个目录下,我的路径设置就是
(add-to-list ‘load-path “~/lisp/cedet/common”)
(require ‘cedet)
而不能想当然的设为
(add-to-list ‘load-path “~/lisp/cedet/”)
(require ‘cedet)
[回复]
请问下,我在Emacs 23.2中编译cedet报了这个错是为什么呢?
还有就是怎样不适用内置的cedet呢?
[回复]
hj_18 回复:
四月 22nd, 2011 at 5:36 上午
@Tony,
不使用内置的 cedet,只要在配置中使用
(add-to-list ‘load-path “path-of-cedet/common”)
(require ‘cedet)
来启动 cedet 就可以了,这个路径要注意是在 cedet 下的 common 这里,这个路径会优先于内置的 cedet 来加载它,所以就用上了自己编译的 cedet 了。
如果写成
(add-to-list ‘load-path “path-of-cedet/common” t)
那么这个路径就最后被加载,结果内置的 cedet 就首先被加载了。
[回复]
@匿名
semantic-load-enable-excessive-code-helpers
找不到这个函数的定义或该函数不存在。
你是不是忘记加载cedet或者semantic了?
[回复]
ahei您好,我是Emacs的初学者,最近在Emacs上安装CEDET出现如下问题:
Entering directory `d:/source_code/cedet-1.0/eieio/’
eieio.el:52:1:Warning: cl package required at runtime
eieio.el:2550:13:Error: Symbol’s value as variable is void: filename
Compiling no file at Fri Jul 01 11:27:40 2011
编译几次都是出现同样的错误,使用包中介绍的不同方法也出现同样错误。后来我在Makefile中找了一句在-q后面加上batch的命令,执行了,错误变成了:
Turning on EDE …Symbol’s value as variable is void: cedet-menu-map
但不管怎样,安装过程都是停留在第6步就无法继续了。
我用的Win7操作系统,Emacs是网上下的Windows二进制23.3版,cedet是其官网上下的最新的1.0版(2010年8月发布的那个)
希望能解决这个问题!
另外,我用CEDET是想要函数跳转功能,最近需要看别人的程序,经常是几十个文件的项目。如果CEDET安装不成功,还有其他Emacs下跳转函数的插件吗?麻烦介绍一二,或者给出你的其他博客文章地址也行,呵呵,谢谢
[回复]
ahei 回复:
七月 2nd, 2011 at 7:18 下午
@aloneranger, 最好用linux,windows下折腾啥都麻烦.你可以试试DEA中的cedet
[回复]
tmttmm 回复:
八月 1st, 2011 at 11:14 上午
@ahei, 我就是用的linux,但是也是发生这个错误
[回复]
tmttmm 回复:
八月 1st, 2011 at 12:01 下午
@tmttmm, windows反而可以。而且linux上不能补全,windows上可以。配置都是一样的,不明白。
[回复]
sun flower 回复:
九月 15th, 2011 at 6:57 下午
@aloneranger,
(require ’semantic/analyze)
(provide ’semantic-analyze)
(provide ’semantic-ctxt)
(provide ’semanticdb)
(provide ’semanticdb-find)
(provide ’semanticdb-mode)
(provide ’semantic-load)
(add-to-list ‘load-path “e:/development/ide/emacs-23.3/home/ecb-2.40″)
(load-file “e:/development/ide/emacs-23.3/home/ecb-2.40/ecb.el”)
(require ‘ecb)
这样。不用另外的cedet。用默认的。
[回复]
请问windows下你的编译问题是否已解决
[回复]
按上面的配置, 在看C代码时,不会自动启用cedet是怎么回事呢?
[回复]
您好,用您那种方式下载不了
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
会报错。我不知道是不是我理解错您的意思了。
[回复]
我的emacs出现了两个错误:1.wrong type argument :sequencep ,stop
大概是和company.el有关,
2,Cedet-called-interactively-p called with 0 arguments, but requires 1具体哪里出错不知道,等待你的回复! 我的emacs是23。3版本 cedet是你的dea里的1。0版本
[回复]
@aloneranger
我也是这个问题,等ahei解答
eieio.el:52:1:Warning: cl package required at runtime
这行说的cl包是什么东东?是不是缺了这个东西?
[回复]
关于windows下面安装cedet失败的解决方法:
下载最新的cedet,再安装。
最新的网址如下:
http://cedet.sourceforge.net/bzr-repo.shtml
方法跟博主讲的一致。
[回复]