2010-03-24 4 views
81

Que fait Eclipse lors de l'exécution du processus d'espace de travail? Puis-je le désactiver parce qu'il prend beaucoup de temps à compléter et je ne sais pas si c'est nécessaire. MerciDésactiver le processus de création d'espace de travail dans Eclipse

+12

Aussi ce qui est exactement la construction de l'espace de travail? –

+13

J'aimerais savoir pourquoi ce processus doit vous empêcher de faire quoi que ce soit d'autre dans Eclipse. –

Répondre

93

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

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

Mais je recommande d'abord pour vérifier:

  • si un projet Clean all/Construire résultat dans le même genre de longue attente (après la désactivation de cette option)
  • si vous avez (cette fois avec la construction activé automatiquement) certaines options de validation, vous pouvez désactiver pour voir si elles ont une influence sur le temps global de compilation (Preferences/Validations ou Preferences/XML/... si vous avez WTP installé)
  • si une nouvelle installation d'Eclipse référençant le même espace de travail (voir this eclipse.ini pour plus) résultats dans le même je quest (avec la construction automatiquement activé)

Notez que est sur interrompre un (trop long) bug 329657 (ouvert en 2011, en cours en 2014) construire, au lieu de annulation il:

Il existe une différence importante entre l'interruption de construction et l'annulation.

  • Lorsqu'une construction est annulée, elle gère généralement ce en éliminant l'état de construction incrémentale et de laisser la prochaine construction soit une reconstruction complète. Cela peut être assez coûteux dans certains projets.
    En tant qu'utilisateur, je pense que je préfèrerais attendre que la construction incrémentielle de 5 secondes se termine plutôt que d'annuler et entraîner une reconstruction de 30 secondes par la suite.

  • L'idée avec interruption est qu'un générateur peut gérer plus efficacement l'interruption en sauvegardant son état intermédiaire et en reprenant l'invocation suivante.
    En pratique, cela est difficile à implémenter, donc la limite la plus commune est quand nous vérifions l'interruption avant/après l'appel de chaque générateur dans la chaîne.

 

+0

Voir aussi ce fil comme un exemple de réinstallation réussie d'éclipse: http://dev.eclipse.org/newslists/news.eclipse.webtools/msg08521.html – VonC

+0

Cette réponse est incorrecte. Project -> Build Automatically a toujours été désélectionné mais il décide toujours de rafraîchir l'espace de travail, m'empêchant complètement de faire quoi que ce soit dans cette gigantesque base de code que je ne peux pas réduire dans le temps que je dois accomplir des tâches pour les clients. –

13

Vous pouvez passer à la génération manuelle afin de pouvoir contrôler quand cela est fait. Assurez-vous simplement que Project > Build Automatically à partir du menu principal n'est pas cochée.

+0

Merci, je me demandais juste si vous pouviez également me dire ce qu'est exactement l'espace de travail de construction? –

+2

Voir la réponse de VonC :) –

2

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

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