自动补全:emacs完美的C++的自动补全



1CVS cedet最新代码1.04代码补全很慢

cvs -z3 -d:pserver:[email protected]:/cvsroot/cedet co -P cedet

2命令行运行

touch `find -name "Makefile"`//(注意是左引号)
make bootstrap
3,命令行运行

g -E -v -P dummy.cpp
会找到很多头文件dummy.cpp是个空文件然后

4在.emacs加入

(eval-after-load "semantic-c" ;;e:/emacs/home 是我 $HOME
'(dolist (d (list "/usr//c/4.1.0"
"/usr//c/4.1.0/x86_64-suse-linux"
"/usr//c/4.1.0/backward"
"/usr/local/"
"/usr/lib64/gcc/x86_64-suse-linux/4.1.0/"
"/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/"
"/usr/"
))
(semantic-add-system- d)))
;;下面配置下semantic分析结果文件存放目录注意这个目录是要自己建立
(q semanticdb-default-save-directory
(expand-file-name "~/.emacs.d/semanticdb"))
;;头文件查找目录定义好了下面对 c-mode 做些小小定义:
(add-hook 'c-mode-common-hook
'(lambda
(require 'cedet)
(ede-minor-mode t)
;;;;以下3个按机器适用强劲程度排列最下面对机器需求最低 3选
;; (semantic-load-enable-gaudy-code-helpers)
;; (semantic-load-enable-code-helpers)
(semantic-load-enable-minimum-features)
;;;;这 3个按键绑定按个人喜欢启用除了第个可以修改成自己喜欢按键的外另外两个都没有修改意义
;;;;反正主要补全就靠 semantic-complete-analyze-inline了以后偷摸骗抢都靠它了
;;;;semantic-complete-self-in也是semantic-complete-analyze-inline
(local--key (kbd "M-/") 'semantic-complete-analyze-inline)
(local--key "." 'semantic-complete-self-insert)
(local--key ">" 'semantic-complete-self-insert)
(c-toggle-auto-hungry-state 1)
(c--style "K&R")))


OK在代码中可以尝试下了M-/补全或者在结构体后输入.或->也会有代码提示出来非常方便
Tags:  ajax自动补全 vim自动补全 myeclipse自动补全 自动补全

延伸阅读

最新评论

发表评论