2012-10-14 36 views
5

我已經閱讀了Alex Ott的fantastic guide to CEDET for Emacs,我想我知道如何正確設置我的EDE項目。Emacs CEDET:跳到符號

然而,當我嘗試使用命令semantic-complete-jump-local (C-c , j)跳轉到本地符號(例如:main()函數C++),我得到的錯誤[no match]即使我從.cpp文件中調用這個命令,其中的符號被定義。

此外,當我嘗試用semantic-complete-jump-global (C-c , J)跳轉到一個符號與不同文件的多個定義(如多main()功能),CEDET抱怨與[not unique]但它並沒有給我一個方法來選擇我想看哪個符號。找到我感興趣的符號的唯一方法是循環遍歷所有選項,使用<TAB>緩衝區,直到找到我感興趣的那個。有沒有辦法從我可以選擇的位置獲取符號列表?理想情況下,獲得與Emacs helm(以前稱爲Anything)提供的自動完成列表類似的列表非常棒。

這是全部用Emacs 24.2.1在Linux上與CEDET 1.1

+0

您正在使用哪種版本的CEDET? –

+0

感謝@AlexOtt,我剛剛更新了OP版本信息。 –

回答

5

你試過用semantic-ia-fast-jump命令嗎?它不僅使用語義,還使用其他數據源來計算跳轉的位置。我剛剛嘗試過,它正確跳轉到變量,這是在父類中聲明的,在層次結構中高3個等級。

+0

謝謝亞歷克斯! '語義ia快速跳躍'效果很好,但它需要我在要跳轉到的定義的符號上有點(光標)。相反,我想跳轉到可以鍵入小型緩衝區的符號(即通過我的項目中定義的符號進行導航的機制)。很高興看到所有可能的符號列表,我可以瀏覽以選擇我想要的符號。理想情況下,這可能是某種類型的增量自動完成列表,當您鍵入並優化符號的名稱時(如Emacs Helm所做的那樣),該列表會更新。不知道這是否可能。 –

+0

我認爲,應該可以編寫這樣的功能,雖然它需要一些編碼 –

+0

謝謝亞歷克斯。同時,還有哪些其他機制可用於導航,跳轉或預覽符號定義? –