2009-12-02 50 views
17

我正在使用Vim開發一個C++項目,並且我最近花了很多時間瀏覽現有代碼以獲取它。爲了使瀏覽更容易,我在Vim中設置了ctags和cscope來跳轉到定義並找到引用。在Vim中查找對C++類成員的定義/引用

但是,我發現他們都不足以知道成員變量/函數屬於哪個類。例如:

class Square; 
... 

Square a; 
... 
a.rotate(); 

試圖找到rotate()定義將彈出成員函數從其他類太像三角。我在Vim中使用g]來調出匹配標籤列表,幸運的是ctags列出了每個條目的相關類。但是,如果有200個具有相同成員函數的類,則追查正確的標記會很麻煩。

而且,如果我在一個函數定義:

Square::rotate() 
{ 
    ... 
} 

試圖使用cscope查找調用rotate()帶來了三角形的和其他類旋轉功能的調用。

因此,我發現自己跳到Visual Slickedit時不時地找到定義或引用成員函數或成員變量。有沒有什麼辦法可以在老年人中完成這項工作Vim

回答

1

我在過去尋找比cscope更好的解決方案,但從未發現過什麼。最後,cscope可能缺乏智能並不是那麼麻煩。

問題是市場上沒有強大而開放的intellisense庫。也許CodeInsight

3

SrcExpl可能是您需要的插件。嘗試一下。

1

你可以嘗試taglist插件,儘管它仍然有一些延伸遭受與內置ctag支持相同的問題。它的工作原理與SrcExpl所做的一樣。