2012-07-04 20 views
57

Pracuję nad względnie małymi (100-300 liniami) plikami Javascript w Eclipse i okresowo robi się naprawdę zdenerwowany jakimś fragmentem kodu i wyskakuje ten błąd za każdym razem, gdy umieszczam kursor na ta linia. Błąd jest:Błąd Eclipse ciągle wyskakuje podczas edycji Javascript

'Requesting JavaScript AST from Selection' has encountered a problem. 
An internal error occured during "Requesting JavaScript AST from selection". 
java.lang.NullPointerException 

Chociaż jestem konwersji to:

if(p){ 
    // enter code here 
} else { return false; } 

w tym:

if(p){ 
    // enter code here 
} return false; 

błąd wyskakuje kilka razy. Za każdym razem zatrzymuje moje pisanie i wymaga, aby kliknąć przycisk OK. Następnie wpisuję dwa kolejne znaki i błąd pojawia się ponownie.

Jakieś pomysły, jak zapobiec błędowi lub wyłączyć JavaScript AST?

Jest to na Eclipse Java EE, Indigo Service Release 2. Jest to prawie płaska instalacja, tylko dwie wtyczki są zainstalowane i nie są przeznaczone dla SVN i nie mają nic wspólnego z Javascriptem.

+1

Możesz śledzić błąd [tutaj Bug # 342461] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=342461) – Andrew

+3

Mam ten sam problem. Eclipse jest prawie bezużyteczny do edycji javascript w swoim obecnym stanie. Chciałbym, żeby był sposób na wyłączenie tego, co go powoduje. Wolałbym mieć funkcjonalny notatnik niż nakręcany generator alertów. –

+2

Znalazłem lewę! Po wyświetleniu okna błędu nie zamykaj go. Po prostu przeciągnij go na bok, skup się na głównym oknie, a nowe błędy nie zmienią fokusu. – BishopZ

Odpowiedz

39

Początkowo myślałem, że to tylko sztuczka, ale działa tak dobrze, musiałem opublikować ją jako faktyczną odpowiedź.

Po wyświetleniu okna błędu nie należy go zamykać. Po prostu przeciągnij go na bok, skup się na głównym oknie i kontynuuj edycję.

Gdy błąd się powtórzy Eclipse nie zmienia fokusu z powrotem do komunikatu o błędzie. Focus pozostaje w oknie edycji i możesz kontynuować edycję dokumentu.

+1

Ta głupia odpowiedź jest w rzeczywistości lepszym rozwiązaniem. Nie musisz wyłączać niczego, co chciałbyś zachować, a będziesz klikać dużo "w porządku", jeśli musisz poczekać na naprawienie błędu. – Redsandro

+1

, zwłaszcza że "Mark Occurrences" jest cenną funkcjonalnością, a wyłączenie go utrudnia inne zadania. Dziękuję za komentarz. – BishopZ

+2

Po prostu niesamowity, tak skomplikowany program i nie ma pola wyboru do wyłączenia wszystkich ostrzeżeń: S ... działa, więc dostaję mój głos !!! –

78

Jeszcze lepsza odpowiedź (od zgłoszenia błędu związanego przez Cliff Ribaudo, komentarz nr 10 i inne):

Wyłącz Przełącz Mark zdarzeń (Alt + Shift + O lub ikonę pędzla na pasku narzędzi, który grzejniku , pokaże ci twój aktualny stan).

Dzięki Cliff!

Zmieniano:

Via Preferences

+1

Jestem trochę zaniepokojony tym, że off "Mark Occurrences" może zawierać inne cechy, które chciałbym zachować Nie mogę znaleźć żadnego z przykładów, które są prawdziwe, ale martwię się jeszcze. Jakieś przemyślenia na ten temat Czy wiesz jakie zalety "Mark Occurrences" zapewnia dla programistów JavaScript? – BishopZ

+1

Po prostu wyłącza funkcję wyróżniania innych wystąpień dowolnej wariacji ble, itd. masz kursor. A więc: var foo = 17; ... var bar = findOuterOtter (foo); // pozostaw kursor tutaj ......^ Podświetliłoby zarówno deklarację, jak i wszystkie odniesienia do "foo". Nigdy nie znalazłem, by działało bardzo dobrze na JavaScript, i podejrzewałem, że przyczyniło się to do powolności, które czasami były pokazywane (ale nie jestem przekonany ani w żaden sposób teraz, gdy go wyłączyłem). –

+0

// pozostaw kursor tutaj ......^ (Niestety, nie mogę uzyskać tego, aby poprawnie sformatować kod w komentarzach, obrazek kursora w ostatnim "foo"). –

0

Paradoksalnie, rozwiązanie było dla mnie, aby zainstalować inną wtyczkę. Po zainstalowaniu VJET i skonfigurowaniu projektu JavaScript jako projektu obsługującego technologię VJET problem zniknął.

0

prostu zastąpić w pliku xml .project (która leży w katalogu domowym obszaru roboczego Eclipse.

<?xml version="1.0" encoding="UTF-8"?> 
<projectDescription> 
    <name>your Project Name</name> 
    <comment></comment> 
    <projects> 
    </projects> 
    <buildSpec> 
    </buildSpec> 
    <natures> 
    </natures> 
</projectDescription> 
0

Byłem ostatnio otrzymuję ten błąd. Piszę skrypty Groovy. Poprawkę do mnie było zaktualizować Groovy wtyczki.

0

byłem coraz ten sam błąd z gc overhead limit exceeded opisem w sekcji szczegóły błędu.Aby podjąć działanie, dodałem następujące elementy w konfiguracji i problem został rozwiązany.

Xms512m 
Xmx2048m 

Ref: GC overhead limit exceeded problem

Krótko mówiąc, dla mnie to było zaćmienie problem z pamięcią.

Powiązane problemy