CEDET 是一個很好用的套件.說是套件,因爲裏面集成了很多組件.具體見下文的介紹.
### 首先,請仔細閱讀下文:
http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html
### 補充
1. 有些頭文件使用 special preprocessor macros or some other trickery which Semantic cannot parse . 所以,需要 將需要的 marco 在配置中手工進行 map ,然後, 對指定的文件進行處理 :
map :
(add-to-list 'semantic-lex-c-preprocessor-symbol-map '("SOMESYMBOL" . ""))
(add-to-list 'semantic-lex-c-preprocessor-symbol-file '"/PATH/someheader.h")
2. Semantic 和 SemanticDB 對code進行語法分析,結果進行緩存,直到文件被修改. Senator 利用 他們的成果,進行 navigation .
semantic 和 senator 都可以 navigation , 但是 senator 主要基於 tag (猜測用的是 regular expression) .
semantic 的 semantic-ia-fast-jump 比 semantic-complete-jump 能夠處理更復雜的 name . 因此,雖然兩者都是處理的 project 級別的跳轉.
senator 的 next/previous tag 和 go-to-up-reference 能夠追溯到 文件頭.
3. 暫時到這裏.下面是對 EDE 的一個細緻的分析.
http://epsilonvectorplusplus.wordpress.com/2012/04/27/a-functional-introduction-to-cedet-ede/