163

Eclipse (3.4.2 with PyDev) は、非同期リソース (IDE の外部で編集されたファイル) を、私が使用した他の IDE とは異なる方法で処理します。そこでは、エディターが開いているリソースのみが非同期と見なされます。 . Eclipse では、どのリソースも非同期になる可能性があります。

これは、Eclipse の外部でファイルが変更された後に検索を実行すると、開いているエディターがない場合でも、ファイルが同期していないことを示すエラー ダイアログが表示されることを意味します。私が知る限り、グローバルな更新コマンドはありません。そのため、エラー ダイアログでプロジェクト名 (複数のプロジェクトがあります) を読み取って、それぞれに対して右クリック + 更新を実行する必要があります。

Refresh Automaticallyで設定を確認しましたSettings > General > Workspaceが、効果がありません。Eclipse が非アクティブなリソースを常にディスクからロードするようにする方法はありますか?

4

13 に答える 13

201

この問題は、Eclipse 3.7 (Indigo) で修正される予定です。「自動更新」は最終的にリソースを同期に戻しますが、更新フックは Windows にのみ存在するため、Linux と Mac OS ではファイルシステムを定期的にポーリングする必要があります。

3.7 から、新しい設定Settings > General > Workspace > Refresh On Access(別名、Lightweight Refresh) があります。この設定により、Eclipse はリソースが「同期していない」ことを検出すると、リソースを自動的に更新します。ファイルを開く、読み取る、または検索するときに、非同期エラーの発生を防ぎます。

参照: https://bugs.eclipse.org/303517

于 2011-05-18T18:19:19.443 に答える
29

Project Explorer でプロジェクト ノードをクリックして F5 キーを押すか、右クリックして [更新] を選択すると、そのプロジェクトのすべてのリソースが更新されると思います。また、複数のプロジェクトを CTRL キーを押しながらクリックすると、複数のプロジェクトを同時に更新できるはずです。

プロジェクトを 1 回クリックし、CTRL+A ですべてを選択し、F5 を押すだけで、必要なことを正確に実行できます。つまり、すべてを更新します。

機会があればこれをテストする必要がありますが、これが過去に同様の問題を克服した方法だと思います。


この回答が定期的に反対票を投じていることに気付きました。この質問は、Eclipse の特定のバージョンである 3.4.2 に言及していることを指摘したいと思います。James Blackburn's answer で述べられているように、Eclipse のバージョン 3.7 Indigo まで、同期していないリソースを自動的に更新する方法は実際にはありませんでした。この回答で説明されている方法は、バージョン 3.4.2 (および 3.7 Indigo より前の他のバージョン) でこれを実現する唯一の方法です。

于 2009-07-31T13:48:57.760 に答える
24

Eclipse IDE では非同期の問題がよくあるため、このオプションを確認する必要があります。ウィンドウ -> 設定 -> ワークスペース -> ネイティブ フックまたはポーリングを使用して更新します。

于 2015-11-14T07:25:41.230 に答える
6

Eclipse Helios には、[設定] > [一般] > [ワークスペース] に組み込みの更新機能があります。自動ビルドを無効にするのと同じ場所にあります。自動更新を選択します。同じ機能を持つプラグインは、Andrei Loskutov の Filesync Plugin です。更新サイトのアドレスはhttp://andrei.gmxhome.de/eclipse/です。インストール中に、Eclipse 3.5-3.7 プラグイン > FileSync を選択します。

于 2011-04-02T12:33:03.563 に答える
5

Java 7 にファイルシステム フック用の API があることを考えると、更新は Eclipse でより適切に処理できると考えられるでしょう。

編集: 実際には、このメカニズムを使用するプラグインがあります: https://github.com/psxpaul/EclipseJava7Refresher

于 2013-04-24T05:36:24.043 に答える
4

The global refresh actually exists in plain Eclipse without any plugins and without selecting every project in your workspace.

Basically you need to deselect everything in your project explorer and hit F5. To do that Ctrl+click the selected resource in the project explorer and hit F5.

于 2012-08-10T11:44:22.883 に答える
4

グローバルな更新があります - パッケージ エクスプローラーで何も (またはすべて) を選択した状態で F5 キーを押します (または空のスペースを右クリックして [更新] を選択します)。もちろん、大規模なプロジェクトの場合、これにはかなり時間がかかる可能性があります。

于 2009-07-31T13:52:16.150 に答える
3

Eclipse では、グローバル リフレッシュが実際に欠落しています。すべてのプロジェクトを選択して更新 (F5 など) を実行する上記の手順は、選択に含まれるプロジェクトを閉じている場合は機能しません。つまり、私のように多くのプロジェクトの 1/2 を閉じている場合、手動で Ctrl キーを押しながら数十のプロジェクトをクリックすることになります。これはかなり痛いです。Eclipse がクローズされたプロジェクトを単純に無視することを望みます。

于 2011-07-08T13:13:20.347 に答える
2

はい、アクセス時の更新はかなり遅れています...これに対する回答や同様の質問は、通常、グローバルな自動更新を有効にすることを提案しました。これは、大規模なリモートプロジェクトでは時間がかかる可能性があります。実際、Refresh on Accessは元の(<3.x)デフォルトの動作であるはずだと言う人がいます...

于 2011-07-01T11:16:02.660 に答える
2

おそらく、Eclipse サイトに機能要求を追加する必要があります。

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

古いリソースを自動的に更新するための設定を追加することは素晴らしい考えだと思います.

于 2009-08-01T03:39:55.917 に答える
2

空のバッチファイルを実行する新しい「外部ツール」実行構成を作成することで、これを解決することができました。実行構成では、完了時にワークスペースを更新することができます。次に、Practical Macro を使用して、1) 最後の外部ツール実行構成を実行し (ワークスペースを更新)、2) 最後のデバッグ実行構成を実行する (アプリを実行する) マクロを作成しました。[コンソールの割り当て] をオフにすると、完了した外部ツール エントリがデバッグ ウィンドウに表示されません。

于 2011-08-23T20:50:56.523 に答える
1

他の人が提案したソリューションが実際に正しい場合でも、Eclipse 用の「すべて更新」プラグインがあります。更新ページを更新サイトの Eclipse リストに追加するだけで、IDE にインストールできます。

于 2010-02-19T14:30:49.347 に答える