web-dev-qa-db-fra.com

Désactiver le processus de création d'espace de travail dans Eclipse

Que fait Eclipse lorsque le processus de création d'un espace de travail est en cours d'exécution? Puis-je le désactiver parce que cela prend beaucoup de temps et je ne sais pas si c'est nécessaire. Merci

87
Super Cat

La création d'un espace de travail concerne la construction incrémentielle de toute évolution détectée dans l'un des projets ouverts de l'espace de travail actuellement utilisé.

Vous pouvez également le désactiver via le menu "Project / Build automatically ".

Mais je recommanderais d'abord de vérifier:

  • si un projet Nettoyer tout/Générer entraîne le même genre d’attente longue (après avoir désactivé cette option)
  • si vous avez (cette fois avec la construction automatiquement activée) des options de validation que vous pouvez désactiver pour voir si elles ont une influence sur le temps de compilation global (Preferences / Validations, ou Preferences / XML / ... si vous avez installé WTP)
  • si une nouvelle installation Eclipse référençant le même espace de travail (voir , cet Eclipse.ini pour plus) entraîne le même problème (avec bâtiment automatiquement activé)

Notez que bug 329657 (ouvert en 2011, en cours en 2014) correspond à environ interruption une (trop longue) construction, au lieu de annulation le:

Il y a une différence importante entre une interruption de construction et une annulation.

  • Lorsqu'une génération est annulée, cela est généralement traité en ignorant l'état de la génération incrémentielle et en laissant la prochaine génération être une reconstruction complète. Cela peut être assez coûteux dans certains projets.
    En tant qu’utilisateur, je préférerais attendre la fin de la construction incrémentielle de 5 secondes plutôt que d’annuler et d’obtenir une reconstruction après 30 secondes.

  • L’idée avec interruption est qu’un constructeur puisse gérer plus efficacement l’interruption en sauvegardant son état intermédiaire et en reprenant lors de la prochaine invocation.
    En pratique, cela est difficile à mettre en œuvre et la limite la plus commune est le contrôle des interruptions avant/après l'appel de chaque générateur de la chaîne.

102
VonC

Vous pouvez passer à la construction manuelle pour pouvoir contrôler quand cela est fait. Assurez-vous simplement que Project > Build Automatically dans le menu principal est décochée.

15
Chry Cheng

si nécessaire par programme à partir d'un code PDE ou JDT:

public static void setWorkspaceAutoBuild(boolean flag) throws CoreException 
{
IWorkspace workspace = ResourcesPlugin.getWorkspace();
final IWorkspaceDescription description = workspace.getDescription();
description.setAutoBuilding(flag);
workspace.setDescription(description);
}
3
taitelman