2012-01-31 53 views
6

我已經安裝了Eclipse CDT &插件上新安裝了Ubuntu中找到的聲明。索引設置爲「快速索引」,建議使用(「全索引」似乎有邊際差異)。Eclipse CDT的索引不工作的項目

在如此多的地方,如果我按'F3'('show declaration')在任何class名稱或包含文件名稱上,遊標保持靜止不動,並且不會導致聲明。但是,它適用於標準文件和符號,如stdio.h,std::vector等。

例如,我有2個文件,

/home/myself/Workspace/Project/X/Y/include/file.h 
/home/myself/Workspace/Project/X/src/file.cpp 

我不能看到file.cpp顯示任何class或變量被內部居住的file.h任何聲明。即使在#include"file.h"上按'F3',我也無法去file.h

Eclipse工作在C++項目在Project文件夾中創建Workspace文件夾中創建。爲了存儲包含路徑,我在Eclipse中遵循了這個過程:

Project - > Properties - > C/C++ General - > Paths and Symbols - > Library and Paths - > Add「/ Project/X/Y /包括/ file.h」(使用‘工作區’和‘文件系統’選項卡兩者)

但仍沒有運氣。我在互聯網上做了足夠的搜索,所以找不到任何有用的東西。請注意,我只使用eclipse進行代碼瀏覽,而不是現在構建代碼。

回答

14

好,我知道它的工作。其實無論包括路徑我已經包含在Paths and Symbols是多餘的,他們有什麼區別應有盡有下Workspace/Project將被索引。

解決方案是非常奇怪的,它與可伸縮性,我從this link知道。在Eclipse中去,

窗口 - >首選項 - > C/C++ - >編輯 - >可擴展性 - > 「啓用伸縮性模式時......」

設置一個龐大的數字,例如作爲500000並按下「確定」。問題解決了!對於我的情況,實際設置值爲5000,我看到的源文件是16k+行。

+1

當你有一個很大的C++文件時,這是一個不好的跡象。 嘗試重構一點,以幫助您理智。 – 2012-10-16 17:10:40

+2

謝謝,它幫助! – StarDust 2014-02-14 20:04:01

+3

@Captain輕子:或者它只是你使用SWIG包裝(或其他自動生成的代碼),或硬件設備驅動程序的標題,或'sqlite.h'一個標誌,或者......你明白了吧。這不是一個壞的跡象。 – Tibo 2015-05-04 10:22:33