Disabilita il processo dell'area di lavoro dell'edificio in Eclipse


87

Cosa fa Eclipse quando è in esecuzione il processo di creazione dell'area di lavoro? Posso disabilitarlo perché il completamento richiede molto tempo e non so se sia necessario. Grazie


12
Inoltre, cos'è esattamente lo spazio di lavoro della costruzione?
Super Cat

15
Mi piacerebbe sapere perché questo processo deve impedirti di fare qualsiasi altra cosa in Eclipse.
Tony Topper

Risposte:


102

La creazione dell'area di lavoro riguarda la creazione incrementale di qualsiasi evoluzione rilevata in uno dei progetti aperti nell'area di lavoro attualmente utilizzata.

Puoi anche disabilitarlo tramite il menu " Project / Build automatically".

Ma consiglierei prima di controllare:

  • se un progetto Pulisci tutto / Crea risulta nello stesso tipo di lunga attesa (dopo aver disabilitato questa opzione)
  • se hai (questa volta con la creazione attivata automaticamente) alcune opzioni di convalida che potresti disabilitare per vedere se hanno un'influenza sul tempo di compilazione globale ( Preferences / Validationso Preferences / XML / ...se hai installato WTP)
  • se una nuova installazione di eclipse che fa riferimento allo stesso spazio di lavoro (vedi questo eclipse.ini per ulteriori informazioni) provoca lo stesso problema (con la creazione attivata automaticamente)

Si noti che il bug 329657 (aperto nel 2011, in corso nel 2014) riguarda l' interruzione di una build (troppo lunga), invece di annullarla :

C'è un'importante differenza tra build interrupt e cancel.

  • Quando una build viene annullata, in genere lo gestisce scartando lo stato di build incrementale e lasciando che la build successiva sia una ricostruzione completa. Questo può essere piuttosto costoso in alcuni progetti.
    Come utente, penso che preferirei aspettare che la build incrementale di 5 secondi finisca piuttosto che annullarla e provocare una ricostruzione di 30 secondi in seguito.

  • L'idea con l'interrupt è che un builder potrebbe gestire l'interrupt in modo più efficiente salvando il suo stato intermedio e riprendendo alla successiva chiamata.
    In pratica questo è difficile da implementare, quindi il limite più comune è quando controlliamo gli interrupt prima / dopo aver chiamato ogni builder nella catena.

 


Vedi anche questo thread come esempio di reinstallazione di eclipse riuscita: dev.eclipse.org/newslists/news.eclipse.webtools/msg08521.html
VonC

1
Questa risposta non è corretta. Progetto -> Costruisci automaticamente è sempre stato deselezionato, ma decide ancora in modo casuale di aggiornare l'area di lavoro, impedendomi completamente di fare qualsiasi cosa in questa gigantesca base di codice che non posso ridurre nel tempo che ho per completare le attività per i clienti.
Spencer Williams

15

Puoi passare alla compilazione manuale in modo da poter controllare quando questo è fatto. Assicurati solo che Project > Build Automaticallydal menu principale sia deselezionato.


Grazie, mi chiedo solo se puoi anche dirmi cosa significa esattamente lo spazio di lavoro di costruzione?
Super Cat

3

se necessario programmatico da un codice PDE o JDT:

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

0

Per chiunque si trovi in ​​un problema in cui la compilazione automatica è deselezionata ma il progetto è ancora in fase di costruzione. Assicurati che il tuo progetto non sia distribuito sul server nella scheda del server e che venga detto di rimanere sincrono.


Vale la pena menzionare brevemente come determinare se il "detto di rimanere sincrono" è in vigore - non vedo alcuna menzione di questo nella scheda dei miei server, ad esempio, né quando controllo il menu contestuale delle proprietà sul server ..
Razzle
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.