分类: LINUX
2012-10-17 17:50:22
ecb提供了很多可视化的代码阅读功能。安装ecb之前,必须安装cedet。
1、安装Cedet套件:
1.1 下载Cedet
请到Cedet主页:, 下载Cedet套件cedet-1.0pre6.tar.gz
1.2 解压Cedet
# tar -zvxf cedet-1.0pre6.tar.gz
解压完后会在当前目录多出一个cedet-1.0pre6的目录.
1.3 编译Cedet
进入到cedet-1.0pre6目录:
# cd cedet-1.0pre6
编译:
# make EMACS=emacs
如果这里没有安装texinfo, 会出现makeinfo命令未找到的出错. 请把texinfo安装就行了.
更多的编译过程, 请参阅cedet-1.0pre6目录下的INSTALL文件.
1.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请参阅:
2 安装Ecb
2.1 下载Ecb
请到Ecb主页:, 下载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://blog.csdn.net/yaowenjue/article/details/4699806