2012-07-04 13 views
57

Sto lavorando su file Javascript relativamente piccoli (100-300 linee) in Eclipse e periodicamente si arrabbia davvero per qualche pezzo di codice e fa apparire questo errore ogni volta che posiziono il cursore su quella linea. L'errore è:Errore di Eclipse visualizzato costantemente durante la modifica di Javascript

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

Mentre sto convertendo questo:

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

in questo:

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

l'errore compare più volte. Ogni volta che si arresta la digitazione e mi richiede di fare clic sul pulsante OK. Quindi digito altri due caratteri e l'errore ricompare.

Qualche idea su come prevenire l'errore o disabilitare qualsiasi cosa sia JavaScript AST?

Questo è su Eclipse Java EE, Indigo Service Release 2. È quasi un'installazione piatta, solo due plug-in installati e nessuno dei due è per SVN e non ha nulla a che fare con Javascript.

+1

È possibile tenere traccia del bug [qui Bug # 342461] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=342461) – Andrew

+3

Ho lo stesso problema. Eclipse è quasi inutilizzabile per la modifica di JavaScript nel suo stato attuale. Vorrei che ci fosse un modo per disabilitare qualsiasi cosa lo causasse. Preferirei avere un blocco note funzionale piuttosto che un generatore di allarme truccato. –

+2

Ho trovato un trucco! Quando viene visualizzata la finestra di errore, non chiuderla. Basta trascinarlo di lato, concentrarsi sulla finestra principale, e i nuovi errori non cambieranno la messa a fuoco. – BishopZ

risposta

39

All'inizio ho pensato che fosse solo un trucco, ma funziona così bene, ho dovuto postarlo come una risposta reale.

Quando viene visualizzata la finestra di errore, non chiuderla. Basta trascinarlo di lato, concentrarsi sulla finestra principale e continuare a modificare.

Quando l'errore si verifica di nuovo, Eclipse non modifica il focus sul messaggio di errore. L'attenzione rimane nella finestra di modifica e puoi continuare a modificare il documento.

+1

Questa stupida risposta è in realtà la soluzione migliore. Non devi disabilitare nulla che preferiresti mantenere abilitato e farai clic su molto "ok" se devi aspettare che il bug sia corretto. – Redsandro

+1

soprattutto perché "Mark Occurrences" è una funzionalità preziosa e la sua disattivazione rende più difficili tutti i tipi di altre attività. Grazie per il commento. – BishopZ

+2

Semplicemente incredibile, un software così complesso e non ha una casella di spunta per disabilitare tutti gli avvisi: S ... funziona, quindi ottieni il mio voto !!! –

78

Una risposta ancora migliore (dal bug report collegati da Cliff Ribaudo, commento # 10 e altri):

Spegnere Toggle Mark occorrenze (Alt-Shift-O o l'icona pennello sulla barra degli strumenti, che comodamente , ti mostrerà il tuo stato attuale).

Grazie Cliff!

Modificato:

Via Preferences

+1

Sono un po 'preoccupato che girando off "Mark Occurrences" potrebbe essere il diablocco di alcune altre funzionalità che vorrei mantenere.Non riesco a trovare alcun esempio di ciò che è vero, ma mi preoccupo ancora.Qualsiasi idea su questo? Sai quali vantaggi "Mark Occurrences" fornisce agli sviluppatori di Javascript? – BishopZ

+1

Sta semplicemente disabilitando la funzione di evidenziare altre occorrenze di qualsiasi variazione ble, ecc hai il tuo cursore. Quindi: var foo = 17; ... var bar = findOuterOtter (foo); // lascia qui il cursore ......^ Evidenzierebbe sia la dichiarazione che tutti i riferimenti a "pippo". Non ho mai trovato che funzionasse molto bene per JavaScript, e ho sospettato che aggiungesse alla lentezza che a volte mostrerebbe (ma non sono ancora convinto in entrambi i modi ora che l'ho spento). –

+0

// lascia il cursore qui ......^ (Mi dispiace, non riesco a farlo per formattare correttamente il codice nei commenti, visualizzare il cursore nell'ultimo "pippo"). –

0

Ironia della sorte, la soluzione per me è stato quello di installare un altro plugin. Dopo aver installato VJET e configurato il mio progetto JavaScript come progetto abilitato per VJET, il problema è scomparso.

0

basta sostituire il codice XML nel file .project (che si trova nella home directory dello spazio di lavoro Eclipse.

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

Sto ottenendo questo errore ultimamente. Sto scrivendo script Groovy. La correzione di me è stato quello di aggiornare il plugin Groovy.

0

mi è stato sempre lo stesso errore con gc overhead limit exceeded descrizione in dettaglio la sezione di errore.Per agire su di esso ho aggiunto il seguito nella configurazione e nel problema risolto.

Xms512m 
Xmx2048m 

Rif: GC overhead limit exceeded problem

Insomma, per me è stato eclissi problema di memoria.

Problemi correlati