2009-07-31 112 views
145

Eclipse(3.4.2和PyDev)處理不同步的資源(在IDE之外編輯過的文件)與我使用的其他IDE不同,它只打開編輯器的資源被認爲是失效的-同步。在Eclipse中,任何資源都可能不同步。Eclipse可以自動刷新資源嗎?

這意味着當我在Eclipse之外的任何文件發生更改後執行搜索時,出現一個錯誤對話框,告訴我文件不同步,即使它們沒有打開的編輯器。據我所知,沒有全局刷新命令,所以我不得不在錯誤對話框中讀取項目名稱(我有幾個項目),併爲它們中的每一個都進行右鍵單擊+刷新。

我檢查了Settings > General > Workspace中的Refresh Automatically設置,但這沒有效果。有什麼辦法讓Eclipse始終只從磁盤加載非活動資源?

+0

Eclipse 3.7+的最新答案在第二個答案中。 – 2013-11-25 13:14:21

+0

您甚至可以使用遠程系統資源管理器(RSE)與遠程文件同步 – 2015-12-16 11:44:52

+2

[eclipse,外部編輯器編輯的刷新文件]的可能重複(http://stackoverflow.com/questions/13470311/eclipse-refresh-files-edited @byoris, – Boris 2017-02-22 15:38:55

回答

186

此問題將在Eclipse 3.7(Indigo)中修復。雖然「自動刷新」最終會使資源重新同步,但刷新掛鉤僅適用於Windows,因此在Linux和Mac OS上,它必須定期輪詢文件系統。

從3.7開始,新的偏好Settings > General > Workspace > Refresh On Access(又稱輕量級刷新)。此首選項會導致Eclipse在發現它們「不同步」時自動刷新資源。打開,閱讀或搜索文件時,它將防止發生不同步錯誤。

參見:https://bugs.eclipse.org/303517

30

我想如果您在Project Explorer中單擊項目節點並按F5或右鍵單擊並選擇刷新,該項目的所有資源都將被刷新。另外,如果你CTRL +點擊多個項目,你應該可以同時刷新多個項目。

只需單擊一個項目,按CTRL + A即可選擇所有內容,而F5應該按照您的需要進行操作 - 刷新所有內容。

當我有機會的時候,我將不得不測試一下,但我相信這就是我過去克服類似問題的方法。


我注意到,這個答案通常是越來越投票。我想指出,這個問題涉及特定版本的Eclipse:3.4.2。實際上沒有自動方法來刷新不同步的資源until version 3.7 Indigo of Eclipse,如in James Blackburn's answer所述。這個答案中描述的方法是在3.4.2版本(以及3.7版本以前的任何其他版本)中實現這一點的唯一方法。

+13

請注意,刷新多個選定的項目將無法工作,如果其中任何項目關閉 - 您需要先取消選擇關閉的項目。或者,在Package Explorer或Navigator視圖中選擇* no *項目時,按F5將刷新所有打開的項目(按住Ctrl單擊以取消選擇,單擊空白空間不起作用)。 – 2010-07-16 01:08:19

+70

對任何人都沒有冒犯之處,但爲什麼對於如何讓Eclipse自動執行某些操作的問題的接受答案是如何手動執行的? – Srekel 2011-06-24 14:50:39

5

有一個全局刷新 - 在包資源管理器中沒有任何(或全部)選擇,並按F5(或右鍵單擊空白區域並選擇刷新)。當然,如果你有大型項目,這可能需要相當長的時間。

3

也許你應該在Eclipse站點添加功能請求:

https://bugs.eclipse.org/bugs/

我認爲這將是一個偉大的想法添加偏好自動刷新過時資源。

1

即使其他人提出的解決方案確實是正確的,您仍然可以使用Eclipse的「Refresh All」插件。只需將Update page添加到您的Eclipse更新站點列表中即可將其安裝到您的IDE中。

4

Eclipse Helios在首選項>常規>工作區中擁有內置刷新功能。它在您禁用自動構建的同一個位置。自動選擇刷新。具有相同功能的插件是Andrei Loskutov的Filesync插件。更新站點地址是:http://andrei.gmxhome.de/eclipse/。在安裝過程中,選擇Eclipse 3.5-3.7插件> FileSync。

2

是,刷新上訪問是姍姍來遲......這些問題的答案,以類似這種詢問通常建議使全球自動刷新,這可能需要一個年齡大的遠程項目。 實際上,有些人會說,刷新訪問應該是原來的(< 3.x)默認行爲...

3

在Eclipse中真正缺少全局刷新。如果您選擇了已關閉的項目,則選擇所有項目然後運行刷新(例如F5)的上述過程不起作用。這意味着,如果您擁有我的許多項目中的1/2,您會發現自己通過幾十個項目手動按住Ctrl單擊。這很痛苦。我希望Eclipse會忽略已關閉的項目。

2

我設法通過創建一個新的「外部工具」運行配置來執行空白批處理文件來解決這個問題。在運行配置中,您可以在完成時刷新工作區。然後,我使用實際宏創建了一個宏,1)執行最後一個外部工具運行配置(刷新工作區),然後2)執行最後一個調試運行配置(運行我的應用程序)。如果取消選中「分配控制檯」,則完成的外部工具條目不會顯示在調試窗口中。

4

全局刷新實際上存在於純Eclipse中,沒有任何插件,也沒有選擇工作區中的每個項目。

基本上你需要取消選擇你的​​項目瀏覽器中的所有內容,然後按F5。要做到這一點Ctrl +在項目瀏覽器中單擊所選資源,然後按F5。

11

失步的問題是在Eclipse IDE中常見的,所以你必須選中此選項窗口 - 使用本機>刷新 - >首選項 - >工作區掛鉤或投票。