为Emacs安装Cedet+Ecb

 

本文介绍在Debian下如何安装Ecb和Cedet.

 

1 安装前的准备
1.1 Emacs已经安装好,且版本号必须高于或等于21.(我用的是Emacs22)

 

1.2 安装Cedet套件:
1.2.1 下载Cedet
      请到Cedet主页:http://cedet.sourceforge.net/, 下载Cedet套件cedet-1.0pre6.tar.gz


1.2.2 解压Cedet
     # tar -zvxf cedet-1.0pre6.tar.gz
      解压完后会在当前目录多出一个cedet-1.0pre6的目录.

 

1.2.3 编译Cedet
      进入到cedet-1.0pre6目录:
     # cd cedet-1.0pre6
      编译:
     # make EMACS=emacs

      如果这里没有安装texinfo, 会出现makeinfo命令未找到的出错. 请把texinfo安装就行了.
      更多的编译过程, 请参阅cedet-1.0pre6目录下的INSTALL文件.

 

1.2.4 配置Cedet
      打开.emacs, 在最后加入:
      (load-file "/home/download/cedet-1.0pre6/common/cedet.el")
      (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
更多的配置, 请参阅cedet-1.0pre6目录下的INSTALL文件.
到此, Cedet套件已安装好, 接下来安装Ecb.

注1:XEmacs用户及Java-coder请参阅: http://ecb.sourceforge.net/docs/Requirements.html#Requirements

 

2 安装Ecb
2.1 下载Ecb
    请到Ecb主页:http://ecb.sourceforge.net/, 下载ecb-2.40.tar.gz.

 

2.2 解压Ecb
    # tar ecb-2.40.tar.gz
    解压完后会在当前目录下多出一个ecb-2.40目录.

 

2.3 添加Ecb目录到load-path变量
    你可以在.emacs文件最后添加以下代码, 也可以在site-list/site-start.el文件下添加:
    (add-to-list 'load-path
                     "/path/to/your/ecb/installation/directory")
注意:上面那行代码里的" "里面是指你解码完的那个目录. 例如我的是/home/download/ecb-2.40

 

2.4 加载Ecb
    在.emacs文件最后加上以下代码:
    (require 'ecb)
    (require 'ecb-autoloads)

重启Emacs, 打开一个C/CPP文件, 选择tool->start code browser, 试一下效果吧.
当然, 做到这一步, 仅仅只是让Emacs看起来像个IDE, 实际上还有很多功能, 例如像Smart Completion, Symbol References, Code Generation, UML Diagrams等功能都要动手配置.emacs文件才可以完成.

 

以下的配置可以利用DECET让你更好的编写代码:(这些代码必须放在加载CEDET之后和ECB之前)

(require 'semantic-ia)

(require 'semantic-gcc)

;; Enable template insertion menu
(global-srecode-minor-mode 1)            

(setq-mode-local c-mode semanticdb-find-default-throttle
         '(project unloaded system recursive))

(defun my-semantic-hook ()
  (imenu-add-to-menubar "TAGS"))

(add-hook 'semantic-init-hooks 'my-semantic-hook)

(require 'semanticdb)

(global-semanticdb-minor-mode 1)

(defun my-cedet-hook ()
  (local-set-key [(control return)] 'semantic-ia-complete-symbol)
  (local-set-key "/C-c?" 'semantic-ia-complete-symbol-menu)
  (local-set-key "/C-c>" 'semantic-complete-analyze-inline)
  (local-set-key "/C-cp" 'semantic-analyze-proto-impl-toggle))
(add-hook 'c-mode-common-hook 'my-cedet-hook)

(defun my-c-mode-cedet-hook ()
 (local-set-key "." 'semantic-complete-self-insert)
 (local-set-key ">" 'semantic-complete-self-insert))
(add-hook 'c-mode-common-hook 'my-c-mode-cedet-hook)

 

 

更多的信息请参阅:
http://ecb.sourceforge.net/

http://cedet.sourceforge.net/


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值