web-dev-qa-db-fra.com

Eclipse peut-il actualiser les ressources automatiquement?

Eclipse (3.4.2 avec PyDev) traite les ressources désynchronisées (les fichiers édités en dehors de l'EDI) différemment des autres IDE que j'ai utilisés, où seules les ressources avec des éditeurs ouverts sont considérées comme désynchronisées. . Dans Eclipse, toute ressource peut ne pas être synchronisée.

Cela signifie que lorsque j'effectue une recherche après la modification d'un fichier en dehors de Eclipse, un message d'erreur me dit que les fichiers ne sont pas synchronisés, même s'ils n'ont pas d'éditeurs ouverts. Autant que je sache, il n'y a pas de commande d'actualisation globale. Je suis donc obligé de lire les noms de projet (j'ai plusieurs projets) dans la boîte de dialogue d'erreur, puis d'effectuer un clic droit + d'actualisation pour chacun d'eux.

J'ai vérifié le Refresh Automatically réglage dans Settings > General > Workspace, mais cela n'a aucun effet. Existe-t-il un moyen de faire en sorte qu'Eclipse charge simplement les ressources non actives à partir du disque?

154
DNS

Ce problème sera résolu dans Eclipse 3.7 (Indigo). Alors que " Actualiser automatiquement " finit par rétablir la synchronisation des ressources, le crochet d'actualisation n'existe que pour Windows. Par conséquent, sous Linux et Mac OS, il doit interroger le système de fichiers périodiquement.

De 3.7, il y a une nouvelle préférence Settings > General > Workspace > Refresh On Access (alias Lightweight Refresh). En raison de cette préférence, Eclipse actualise automatiquement les ressources lorsqu'il découvre qu'elles ne sont pas synchronisées. Lors de l'ouverture, de la lecture ou de la recherche de fichiers, cela évite les erreurs désynchronisées.

Voir aussi: https://bugs.Eclipse.org/303517

195
James Blackburn

Je pense que si vous cliquez sur le nœud du projet dans l’explorateur de projet et appuyez sur F5 ou faites un clic droit et sélectionnez Actualiser, toutes les ressources de ce projet seront actualisées. De plus, si vous appuyez sur CTRL + plusieurs projets, vous devriez pouvoir actualiser plusieurs projets en même temps.

Un simple clic sur un projet, un CTRL + A pour tout sélectionner, et un F5 doit faire exactement ce dont vous avez besoin - tout rafraîchir.

Je devrai le tester lorsque j'en aurai l'occasion, mais je crois que c'est ainsi que j'ai surmonté des problèmes similaires dans le passé.


J'ai remarqué que cette réponse est régulièrement votée. J'aimerais souligner que la question fait référence à une version spécifique d'Eclipse: 3.4.2. En fait, il n'existait aucune méthode automatique pour actualiser les ressources désynchronisées jusqu'à la version 3.7 d'Indigo d'Eclipse , comme indiqué dans la réponse de James Blackburn . La méthode décrite dans cette réponse est la seule méthode permettant d'atteindre cet objectif dans la version 3.4.2 (et toute autre version antérieure à 3.7 Indigo).

28
Thomas Owens

Un problème de manque de synchronisation est courant dans Eclipse IDE), vous devez donc cocher cette option windows -> préférence -> Espace de travail -> actualisation à l'aide de points d'ancrage ou d'interrogation natifs.

16
DON

Étant donné que Java 7 a une API pour les points d'ancrage du système de fichiers, on pourrait penser que l'actualisation pourrait être mieux gérée dans Eclipse.

Edit: En fait, un plugin utilise ce mécanisme: https://github.com/psxpaul/EclipseJava7Refresher

4
bronsted

Eclipse Helios possède une fonctionnalité d'actualisation intégrée dans Préférences> Général> Espace de travail. C'est au même endroit que vous désactivez les builds automatiques. Sélectionnez rafraîchir automatiquement. Un plugin avec les mêmes fonctionnalités est le plugin Filesync d’Andrei Loskutov. L'adresse du site de mise à jour est la suivante: http://andrei.gmxhome.de/Eclipse/ . Pendant l'installation, sélectionnez les plug-ins Eclipse 3.5-3.7> FileSync.

4
user466206

Il y a une actualisation globale - rien (ou tout) n'est sélectionné dans l'explorateur de package et appuyez sur F5 (ou cliquez avec le bouton droit de la souris sur un espace vide et sélectionnez Actualiser). Bien sûr, cela pourrait prendre un peu de temps si vous avez de gros projets.

4
Michael Borgwardt

Peut-être devriez-vous ajouter une demande de fonctionnalité sur le site Eclipse:

https://bugs.Eclipse.org/bugs/

Je pense que ce serait une bonne idée d’ajouter une préférence pour le rafraîchissement automatique des ressources périmées.

3
David

L'actualisation globale existe réellement dans Eclipse, sans aucun plug-in et sans sélectionner chaque projet de votre espace de travail.

En gros, vous devez tout désélectionner dans l'explorateur de votre projet et appuyer sur F5. Pour ce faire, Ctrl + cliquez sur la ressource sélectionnée dans l'explorateur de projet et appuyez sur F5.

3

Une actualisation globale est vraiment manquante dans Eclipse. La procédure ci-dessus consistant à sélectionner tous les projets, puis à exécuter une actualisation (par exemple, F5) ne fonctionne pas si vous avez fermé des projets inclus dans votre sélection. Cela signifie que si vous avez la moitié de vos nombreux projets clôturés comme moi, vous vous trouvez manuellement en appuyant sur Ctrl-clic sur vos dizaines de projets. C'est assez douloureux. J'aimerais que Eclipse ignore tout simplement les projets fermés.

3
Karol

Oui, l'actualisation de l'accès est attendue depuis longtemps ... ces réponses à des questions similaires suggèrent généralement l'activation de l'actualisation automatique globale, ce qui pourrait prendre un âge pour de grands projets distants. En fait, il y a ceux qui diraient que Refresh on Access aurait dû être le comportement par défaut d'origine (<3.x) ...

2
MikeW

J'ai réussi à résoudre ce problème en créant un nouvel outil externe "config", qui exécute un fichier de commandes vide. Dans la configuration d'exécution, vous pouvez lui demander d'actualiser l'espace de travail une fois terminé. Ensuite, j'ai créé une macro à l'aide de Practically Macro qui 1) exécute la dernière configuration de l'outil externe config (actualise l'espace de travail), puis 2) exécute la dernière configuration de débogage config (exécutant mon application). Si vous décochez "Allocate console", l'entrée de l'outil externe terminée ne s'affichera pas dans la fenêtre de débogage.

2
NateS

Même si les solutions proposées par d’autres perso sont effectivement correctes, vous avez un plugin " Refresh All " pour Eclipse. Ajoutez simplement le page de mise à jour à votre liste de sites de mise à jour Eclipse pour l'installer dans votre environnement de développement.

1
Romain Linsolas