1,CVS cedet的最新代碼,1.04代碼補(bǔ)全很慢。
cvs -z3 -d:pserver:anonymous@cedet.cvs.sourceforge.net:/cvsroot/cedet co -P cedet
2,命令行運(yùn)行
touch `find -name "Makefile"`//(注意是左引號(hào))
make bootstrap
3,命令行運(yùn)行
g++ -E -v -P dummy.cpp
會(huì)找到很多頭文件,dummy.cpp是個(gè)空文件,然后
4,在.emacs加入
(eval-after-load "semantic-c" ;;e:/emacs/home 是我的 $HOME
’(dolist (d (list "/usr/include/c++/4.1.0"
"/usr/include/c++/4.1.0/x86_64-suse-linux"
"/usr/include/c++/4.1.0/backward"
"/usr/local/include"
"/usr/lib64/gcc/x86_64-suse-linux/4.1.0/include"
"/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/include"
"/usr/include"
))
(semantic-add-system-include d)))
;;下面配置一下semantic分析結(jié)果文件的存放目錄。注意這個(gè)目錄是要自己建立的。
(setq semanticdb-default-save-directory
(expand-file-name "~/.emacs.d/semanticdb"))
;;頭文件的查找目錄定義好了,下面對(duì) c-mode 做一些小小的定義:
(add-hook ’c-mode-common-hook
’(lambda()
(require ’cedet)
(ede-minor-mode t)
;;;;以下3個(gè)按機(jī)器適用的強(qiáng)勁程度排列,最下面的對(duì)機(jī)器需求最低。三選一。
;; (semantic-load-enable-gaudy-code-helpers)
;; (semantic-load-enable-code-helpers)
(semantic-load-enable-minimum-features)
;;;;這三個(gè)按鍵綁定按個(gè)人喜歡啟用,除了第一個(gè)可以修改成自己喜歡的按鍵之外,考試,大提示另外兩個(gè)都沒(méi)有修改的意義。
;;;;反正主要的補(bǔ)全就靠 semantic-complete-analyze-inline了,以后偷摸騙搶都靠它了。
;;;;semantic-complete-self-inset也是調(diào)用semantic-complete-analyze-inline的。
(local-set-key (kbd "M-/") ’semantic-complete-analyze-inline)
(local-set-key "." ’semantic-complete-self-insert)
(local-set-key ">" ’semantic-complete-self-insert)
(c-toggle-auto-hungry-state 1)
(c-set-style "K&R")))
OK,在代碼中可以嘗試一下了。M-/補(bǔ)全,或者在結(jié)構(gòu)體后輸入.或->也會(huì)有代碼提示出來(lái),非常方便。
cvs -z3 -d:pserver:anonymous@cedet.cvs.sourceforge.net:/cvsroot/cedet co -P cedet
2,命令行運(yùn)行
touch `find -name "Makefile"`//(注意是左引號(hào))
make bootstrap
3,命令行運(yùn)行
g++ -E -v -P dummy.cpp
會(huì)找到很多頭文件,dummy.cpp是個(gè)空文件,然后
4,在.emacs加入
(eval-after-load "semantic-c" ;;e:/emacs/home 是我的 $HOME
’(dolist (d (list "/usr/include/c++/4.1.0"
"/usr/include/c++/4.1.0/x86_64-suse-linux"
"/usr/include/c++/4.1.0/backward"
"/usr/local/include"
"/usr/lib64/gcc/x86_64-suse-linux/4.1.0/include"
"/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/include"
"/usr/include"
))
(semantic-add-system-include d)))
;;下面配置一下semantic分析結(jié)果文件的存放目錄。注意這個(gè)目錄是要自己建立的。
(setq semanticdb-default-save-directory
(expand-file-name "~/.emacs.d/semanticdb"))
;;頭文件的查找目錄定義好了,下面對(duì) c-mode 做一些小小的定義:
(add-hook ’c-mode-common-hook
’(lambda()
(require ’cedet)
(ede-minor-mode t)
;;;;以下3個(gè)按機(jī)器適用的強(qiáng)勁程度排列,最下面的對(duì)機(jī)器需求最低。三選一。
;; (semantic-load-enable-gaudy-code-helpers)
;; (semantic-load-enable-code-helpers)
(semantic-load-enable-minimum-features)
;;;;這三個(gè)按鍵綁定按個(gè)人喜歡啟用,除了第一個(gè)可以修改成自己喜歡的按鍵之外,考試,大提示另外兩個(gè)都沒(méi)有修改的意義。
;;;;反正主要的補(bǔ)全就靠 semantic-complete-analyze-inline了,以后偷摸騙搶都靠它了。
;;;;semantic-complete-self-inset也是調(diào)用semantic-complete-analyze-inline的。
(local-set-key (kbd "M-/") ’semantic-complete-analyze-inline)
(local-set-key "." ’semantic-complete-self-insert)
(local-set-key ">" ’semantic-complete-self-insert)
(c-toggle-auto-hungry-state 1)
(c-set-style "K&R")))
OK,在代碼中可以嘗試一下了。M-/補(bǔ)全,或者在結(jié)構(gòu)體后輸入.或->也會(huì)有代碼提示出來(lái),非常方便。