我在做Emacs的C開發。如果我有一個打開多個函數的源文件,並且「標記」處於函數調用,例如int n = get_number(arg);
有沒有什麼辦法可以「跳轉到」該函數的實現?例如到int get_number(int *arg) { ... }
如何在Emacs中進行C開發時跳轉到功能?
我在Eclipse中完成了一些Java開發,並且缺少了這個功能,因爲我不習慣Emacs,但我想學習。
我在做Emacs的C開發。如果我有一個打開多個函數的源文件,並且「標記」處於函數調用,例如int n = get_number(arg);
有沒有什麼辦法可以「跳轉到」該函數的實現?例如到int get_number(int *arg) { ... }
如何在Emacs中進行C開發時跳轉到功能?
我在Eclipse中完成了一些Java開發,並且缺少了這個功能,因爲我不習慣Emacs,但我想學習。
您必須創建一個標籤文件。
在Unix下,您有etags
程序,該程序能夠理解C
,C++
,Java
...的語法,並創建Emacs可以使用的tag
文件。
而是old page(2004)提供了更多信息。
跳轉到功能使用M-。 (這是Meta-Period)並鍵入函數的名稱。如果您只需按回車鍵 Emacs將跳轉到與光標所在的單詞 相匹配的函數聲明。
不,它不是跳轉到聲明,而是跳到實現。 – 2014-06-22 16:18:46
有幾個「標籤」系統允許(有一個與emacs捆綁在一起,有GNU全局,沒有與emacs捆綁在一起,但與它集成並具有一些優勢)。與Eclipse相比,您需要構建標籤文件。
然後是語義/ EDE,它現在與emacs捆綁在一起,它應該提供一個解決方案,而不需要明確建立一個數據庫。我最近沒有嘗試過使用它。當我這樣做,它有性能問題,我發現設置是痛苦的。 (這可能是由於我正在從事一項大型工作 - 幾十萬條線 - 老一些 - 有些事情可以追溯到80年代中期 - 這個項目沒有重組它的可能性)。
哇,那應該是Emacs的地方.. 我喜歡Emacs讓我們編碼的方式。非常有趣...:) – swdev 2011-03-03 06:24:21
我真的很喜歡cscope,但etags可能也適用。
我認爲語義模式應該會給你同樣的結果。儘管我還沒有嘗試跳轉到另一個文件,但在一個文件中它非常出色。轉到變量,發出擊鍵C-c,j,它將跳轉到變量的定義。回到上一行使用C-uC-空間。要顯示參考符號,使用按鍵C-C,克
這真的幫助了我。 我還沒有試過它跳轉到另一個文件,因爲我當前的項目是一個修改的Java程序,我們正在使用預處理器(一個非標準的java進程)。所以我認爲這是問題所在。
任何成功與語義模式???
謝謝
什麼是您的操作系統? – 2011-02-09 14:31:55
@ ring0:這是Mac OS X. – Jonas 2011-02-09 15:34:48