跳轉(1)

CEDET 是一個很好用的套件.說是套件,因爲裏面集成了很多組件.具體見下文的介紹.

適用於 C/C++/Java .

### 首先,請仔細閱讀下文:

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")

但是,對於 namespace 來講 , 還沒有解決方案. 雖然, 這種方式很常見.


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/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章