首页 > CEDET, IDE, 初级 > Emacs才是世界上最强的IDE - CEDET的安装

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

2009年11月24日 ahei 发表评论 阅读评论

在准备写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的进一步使用,我会再写专门的文章介绍,敬请期待,:)。

分享家:Addthis中国
GD Star Rating
loading...
Emacs才是世界上最强的IDE - CEDET的安装, 7.6 out of 10 based on 12 ratings 标签:autoload, buffer, CEDET, ede, Emacs, IDE, linux, lisp, mode, org, screenshot, semantic, srecode, windows, 安装, 编译

相关日志

分类: CEDET, IDE, 初级
  1. 2010年1月30日02:37 | #1

    这个是不是有问题的啊?刚差不多照着做。
    在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 回复:

    这个安装过程应该没问题,我也就是根据它安装的,而且这个安装过程基本上也就是按照官方的安装文档翻译的,官方安装文档在cedet的包中INSTALL文件里面
    semantic-idle-tag-highlight-mode就是在semantic-idle.el中用define-semantic-idle-service定义的
    你试试(require ’semantic-idle)

    [回复]

    匿名 回复:

    @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 回复:

    @, 那你试试emacs -q启动,然后只加载cedet试试。或者你直接用我编译好的cedet吧,在我的DEA里面。win下的软链接确实不行,我在win下是这样启动我的emacs的,emacs -q -l my.emacs

    [回复]

    匿名 回复:

    @ahei, 我单用你的cedet试过了,没什么问题,semantic-idle-tag-highlight-mode也可以使用

    [回复]

    ahei 回复:

    @, 那就用我的吧,在win下编译cedet多折腾。

    [回复]

  2. 匿名
    2010年3月19日05:00 | #2

    我也遇到了一样的问题。。是不是因为emacs 23.1已经默认包含cedet?

    [回复]

    ahei 回复:

    @, 没有,cvs才包含的。

    [回复]

  3. zneil
    2010年3月28日09:29 | #3

    你好,我配置好cedet以后出现下面的问题,你能帮忙看看么?
    :roll:
    Idle Service Error semantic-idle-summary-idle-function: “# – Symbol’s function definition is void: eldoc-message”

    [回复]

    ahei 回复:

    你(require ‘eldoc)试试,应该可以.

    [回复]

    zneil 回复:

    @ahei, 谢谢,可以用了。

    [回复]

  4. zneil
    2010年3月28日09:31 | #4

    # 后面是我建立的c++文件的名称。

    [回复]

  5. love214925
    2010年3月31日01:58 | #5

    反馈一点东西,不知道对不对,因为是新手一个,呵呵
    在安装完cedet之后在.emacs中加载它时总是不能加载,然后我经过搜索,把
    (add-to-list ‘load-path “~/cedet”)
    修改为
    (load-file “~/cedet/common/cedet.el”)
    之后才能正确加载,为什么呢?谢谢

    [回复]

    ahei 回复:

    @love214925, 如果你是用(load-file “~/cedet/common/cedet.el”)的话,是不需要把cedet的路径加到load-path里面去的,直接load就可以了。

    [回复]

    love214925 回复:

    @ahei,

    那添加进去为什么就不能加载呢?疑问

    [回复]

    ahei 回复:

    @love214925, 报啥错误?

    [回复]

    love214925 回复:

    @ahei,

    cannot open load file ‘cedet

    路径也没有问题,添加到load-path中又是起到什么作用呢?

    [回复]

    ahei 回复:

    @love214925, 。。。不知道你的杂回事了。load-path是load的时候的搜索路径。呵呵,emacs还是要系统的学一下的,see 致Emacs初学者

    [回复]

    love214925 回复:

    @ahei,
    呵呵,谢谢了,知道需要系统学习一下了,估计是自己白的太很了,哪些地方出错了

    [回复]

  6. chenpu
    2010年4月2日16:26 | #6

    你好,首先在你这学到了很多东西,但是在装cedet的时候跟楼上的错误一样 cannot open load file ‘cedet
    我是在王垠的链接中下的cedet-1.0pre.tar.gz ,解压在当前文件名为cedet的文件中,如上步骤后,就出现该问题,刚刚看着方面的知识,自己改了多次还是没解决,请帮帮忙

    [回复]

    ahei 回复:

    首先, 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)应该就可以了.

    [回复]

  7. chenpu
    2010年4月2日16:33 | #7

    还有个问题 ,我是在win7中用VMware 装的redhat9, 为了能够访问宿主机的资源,我又装了VMware tool,但装完之后VMwaretool后,当鼠标进入emacs窗口时有时会变成粉色的叉状,移出emacs是变成黑色的叉状,有时候就正常,不知道什么原因

    [回复]

    ahei 回复:

    呵呵, 这个我就不知道了, 我不在虚拟机下用Emacs.

    [回复]

    chenpulee 回复:

    @ahei, 谢谢!这两天有点不方便,断网了,前段时间刚把一些快捷键用熟了,常用的键,呵呵,看了一点linux文件系统方面的知识,结果系统起不来了,提示 :修复文件系统,刚接触这方面的东西,都不懂,回去重装一下,再试 :lol:

    [回复]

  8. xiaohaizi
    2010年4月10日13:12 | #8

    我的也是用(add-to-list ‘load-path “~/cedet”)不能加载 错误:cannot open load file ‘cedet
    用(load-file “~/cedet/common/cedet.el”)才行

    [回复]

    ahei 回复:

    不好意思, 是我弄错了, 已经改过来了, 应该是这样: (add-to-list ‘load-path “path-of-cedet/common”)

    [回复]

  9. 匿名
    2010年5月25日00:37 | #9

    我用的是windows 下的安装办法.但是提示
    用的是23.2 CVS 下载的 cedet Symbol’s value as variable is void: filename

    [回复]

    ahei 回复:

    @, 你用我DEA里面的cedet,然后参照DEA里面的设置把23.2内置的CEDET屏蔽掉

    [回复]

    x_wp 回复:

    @ahei,
    我是一个初学者,已经被 emacs 吸引住了,但是不懂的地方太多,正在学习之。
    请问如何屏蔽掉23.2内置的CEDET?我看了您的DEA,可是不知道在什么地方屏蔽的。

    [回复]

    ahei 回复:

    @x_wp, 就是把cedet的path加到load-path前面

    [回复]

  10. 匿名
    2010年8月27日21:11 | #10

    请问使用emacs如何管理一个个工程使用semantic进行分析的tags?
    我在公司是有好几个项目同时在支撑,彼此源码没有相关性,
    使用emacs的话我一直找不到好的方法来管理。
    所以后来改用vim,每个工程根目录下创建ctags和cscope数据,
    分别启动多个vim加载对应工程目录的ctags和cscope数据。
    而使用emacs则不知道如何做。
    不知道博主你是否有好方法,谢谢!

    [回复]

    ahei 回复:

    @, 看http://emacser.com/cedet.htm

    [回复]

    匿名 回复:

    @ahei,
    每次添加新工程根目录我是不是都得修改配置文件里边的相关路径?
    有没有快捷一些的方法呢?
    另外对于同一个项目不同的版本如果全都加入semantic进行分析,
    是否会有很多tags是重复的?毕竟版本之间的差异不是很大。

    [回复]

    ahei 回复:

    @, 你可以建Makefile让semantic自动识别,这样的话就不用了.tag重复的问题可能会有,semantic这方面貌似还不太好

    [回复]

评论分页
1 2 3 37107
  1. 2010年3月18日05:59 | #1
  2. 2011年7月16日22:17 | #2
  3. 2012年3月21日11:26 | #3
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: