Wyłącz proces tworzenia obszaru roboczego w Eclipse


87

Co robi Eclipse, gdy jest uruchomiony proces tworzenia obszaru roboczego? Czy mogę go wyłączyć, ponieważ jego wykonanie zajmuje dużo czasu i nie wiem, czy jest to konieczne. Dziękuję Ci


12
Na czym dokładnie polega tworzenie przestrzeni roboczej?
Super Cat

15
Bardzo chciałbym wiedzieć, dlaczego ten proces musi uniemożliwić Ci robienie czegokolwiek innego w Eclipse.
Tony Topper

Odpowiedzi:


102

Budowanie obszaru roboczego polega na przyrostowym budowaniu dowolnej ewolucji wykrytej w jednym z otwartych projektów w aktualnie używanym obszarze roboczym.

Możesz go również wyłączyć za pomocą menu „ Project / Build automatically”.

Ale radziłbym najpierw sprawdzić:

  • jeśli projekt Wyczyść wszystko / Kompiluj skutkuje tym samym rodzajem długiego oczekiwania (po wyłączeniu tej opcji)
  • jeśli masz (tym razem z automatycznie aktywowanym budowaniem) jakieś opcje walidacji, które możesz wyłączyć, aby zobaczyć, czy mają one wpływ na globalny czas kompilacji ( Preferences / Validationslub Preferences / XML / ...jeśli masz zainstalowany WTP)
  • jeśli nowa instalacja eclipse odwołująca się do tego samego obszaru roboczego (zobacz ten eclipse.ini, aby uzyskać więcej informacji), spowoduje ten sam problem (z automatycznie aktywowanym budowaniem)

Zwróć uwagę, że błąd 329657 (otwarty w 2011, trwający w 2014) polega na przerwaniu (zbyt długiej) kompilacji, zamiast jej anulowania :

Istnieje ważna różnica między przerwaniem kompilacji a anulowaniem.

  • Anulowanie kompilacji zwykle rozwiązuje ten problem, odrzucając stan kompilacji przyrostowej i pozwalając następnej kompilacji na pełną przebudowę. W niektórych projektach może to być dość kosztowne.
    Jako użytkownik myślę, że wolałbym raczej poczekać na zakończenie 5-sekundowej kompilacji przyrostowej, niż anulować i spowodować późniejszą 30-sekundową odbudowę.

  • Idea z przerwaniami polega na tym, że konstruktor może wydajniej obsługiwać przerwania, zapisując jego stan pośredni i wznawiając je przy następnym wywołaniu.
    W praktyce jest to trudne do zaimplementowania, więc najczęstszą granicą jest sprawdzenie przerwania przed / po wywołaniu każdego buildera w łańcuchu.

 


Zobacz także ten wątek jako przykład udanej ponownej instalacji zaćmienia: dev.eclipse.org/newslists/news.eclipse.webtools/msg08521.html
VonC

1
Ta odpowiedź jest nieprawidłowa. Projekt -> Buduj automatycznie zawsze był odznaczony, ale wciąż losowo decyduje się na odświeżenie obszaru roboczego, całkowicie uniemożliwiając mi robienie czegokolwiek w tej gigantycznej bazie kodu, czego nie mogę skrócić w czasie, który muszę wykonać dla klientów.
Spencer Williams

15

Możesz przełączyć się na kompilację ręczną, aby kontrolować, kiedy to się stanie. Tylko upewnij się, że Project > Build Automaticallyw menu głównym nie jest zaznaczone.


Dzięki. Zastanawiasz się, czy możesz mi też powiedzieć, na czym dokładnie polega tworzenie przestrzeni do pracy?
Super Cat

3

w razie potrzeby programowo z kodu PDE lub 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

Dla każdego, kto napotka problem, w którym opcja kompilacji automatycznej nie jest zaznaczona, ale projekt nadal jest budowany. Upewnij się, że projekt nie jest wdrożony na serwerze na karcie serwera i ma pozostać synchroniczny.


Warto pokrótce wspomnieć, jak określić, czy obowiązuje zasada „kazano zachować synchronizację” - nie widzę o tym żadnej wzmianki na przykład w mojej karcie serwerów ani gdy sprawdzam menu kontekstowe właściwości na serwerze.
Razzle
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.