2010-08-18 9 views
17

Ho eseguito Eclipse Helios 3.6 utilizzando gli IDE Java/CFEclipse e trovando alcuni errori molto strani e aggravanti durante il tentativo di modificare i file Javascript. Dopo che il file .js raggiunge una certa dimensione (~ 250 linee di codice), Eclipse si bloccherà casualmente ogni volta che tento di selezionare, copiare o incollare selezioni o salvare. Facendo clic dopo il blocco, la barra "help edit source ... help" viene disattivata e facendo nuovamente clic si visualizza il messaggio "non risponde" visualizzato nell'intestazione del programma. Il blocco poi va via dopo altri 5-10 secondi di attesa. Questo è il caso per tutti i file JavaScript che provo a modificare, anche se quelli più brevi non rimangono così lunghi e non visualizzano il messaggio "(non risponde)".Eclipse è impiccato in copia/incolla nei file JavaScript

Ho pensato che fosse un problema con le opzioni di convalida Javascript/completamento automatico e di conseguenza li abbiamo disattivati; tuttavia, il problema di blocco del copia-incolla persiste ancora. Ho anche provato l'IDE di Javascript - lo stesso problema. È un problema con la gestione Javascript di Eclipse, periodo? Qualcun altro ha commesso errori come questi? E se si tratta fondamentalmente di un problema di Eclipse, qualcuno potrebbe suggerire un editor Javascript/Coldfusion migliore?

EDIT: Per ulteriori informazioni, output di registro dal più recente appendere:

!ENTRY org.eclipse.wst.jsdt.ui 4 2 2010-08-18 11:25:54.699 
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.wst.jsdt.ui". 
!STACK 0 
java.lang.NullPointerException 
    at org.eclipse.wst.jsdt.internal.compiler.lookup.ArrayBinding.getExactMethod(ArrayBinding.java:233) 
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.findExactMethod(Scope.java:401) 
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getMethod(Scope.java:1813) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:307) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.Expression.resolve(Expression.java:477) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.Block.resolve(Block.java:89) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.ForStatement.resolve(ForStatement.java:280) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.Block.resolve(Block.java:89) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.ForStatement.resolve(ForStatement.java:280) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.Block.resolve(Block.java:89) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:191) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:337) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:139) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:291) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:362) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:394) 
    at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:859) 
    at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:527) 
    at org.eclipse.wst.jsdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:862) 
    at org.eclipse.wst.jsdt.core.dom.ASTParser.createAST(ASTParser.java:647) 
    at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:581) 
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
    at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:574) 
    at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:509) 
    at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:150) 
    at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:135) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 

!ENTRY org.eclipse.wst.jsdt.ui 4 0 2010-08-18 11:25:54.824 
!MESSAGE Error in JSDT Core during AST creation 
!STACK 0 
java.lang.NullPointerException 
    at org.eclipse.wst.jsdt.internal.compiler.lookup.ArrayBinding.getExactMethod(ArrayBinding.java:233) 
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.findExactMethod(Scope.java:401) 
    at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getMethod(Scope.java:1813) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:307) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.Expression.resolve(Expression.java:477) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.Block.resolve(Block.java:89) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.ForStatement.resolve(ForStatement.java:280) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.Block.resolve(Block.java:89) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.ForStatement.resolve(ForStatement.java:280) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.Block.resolve(Block.java:89) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:191) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:337) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:139) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:291) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:362) 
    at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:394) 
    at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:859) 
    at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:527) 
    at org.eclipse.wst.jsdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:862) 
    at org.eclipse.wst.jsdt.core.dom.ASTParser.createAST(ASTParser.java:647) 
    at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:581) 
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
    at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:574) 
    at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:509) 
    at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:150) 
    at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:135) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 
+0

ho notato la "AST" di cui parla il completamento automatico appendere prima ho girato che fuori, anche. Mi chiedo se questo restringe il colpevole? – grantwparks

+0

PHPStorm> Eclipse –

+0

È necessario disattivare "Segna occorrenze". Trova la mia risposta qui: http://stackoverflow.com/questions/20392791/eclipse-hangs-on-copy-cut-for-javascript-files/24282723#24282723 –

risposta

7

Ok, penso di aver trovato una soluzione forza bruta per questo. Sono andato su windows> preferences> javascript> [tutti i sottomenu] e ho deselezionato tutte le cose che potevo sopportare per deselezionare. L'ho fatto un paio di settimane fa e da allora è stato appeso solo una volta (penso che non fosse correlato perché ho dovuto forzare la chiusura dopo 5 minuti).

3

La prima volta ha incontrato come Eclipse hangs on copy/cut for JavaScript files, e https://github.com/Nodeclipse/nodeclipse-1/issues/159

sintesi attuale:

  • le dimensioni contano: grande progetto può causare Eclipse JSDT di congelare (questo è vecchio problema come @andreialecu ha raccolto https://github.com/Nodeclipse/nodeclipse-1/issues/159#issuecomment-68098716)
  • hammer soluzione al 100% è rimuovere JsNature per quell'un progetto
  • più sottile è disabilitare solo alcune funzionalità JSDT
    Window>Preferences>JavaScript>Editor>Mark Occurrences e forse anche Window->Preferences->General->Editors->Text Editors->Hyperlinking
  • consigliato da manutentori JSDT (per ulteriori osservazioni): (da @vrubezhny)
    • ottenere la versione impostazioni della memoria disponibile
    • aumento ultima JSDT
  • filtri utilizzo di risorse per nascondere più file in cartelle come build/dist/bower/vendor (per @ppartida)

E in generale:

  • prestare attenzione quello passo che avete preso quando si lavora con qualsiasi software.
  • esperimento con piccoli cambiamenti

Si prega di aggiungere altre risposte qui (la prima questione sollevata 18 agosto '10)

+0

Nella mia situazione (Eclipse 4.5 su OS X) in Window -> Preferenze-> Generale-> Editor-> Editor di testo-> Solo collegamento ipertestuale (Elemento JavaScript; Comando; Editor HTML) risolve il problema –

+0

L'occorrenza del segno è un grosso problema, mangia molte risorse ... –

14

Per me la soluzione è stata disabilita questa opzione ...

Preferenze/JavaScript/Editor/Typing {} Quando si incolla/Aggiornamento importazioni

+0

grazie per questo risposta, appeso su copia stava diventando MOLTO fastidioso – ossys

+0

ha funzionato per me. Grazie. – manikanta

+0

Ha funzionato anche per me, grazie, +1. –

Problemi correlati