2010-08-18 13 views
17

He estado ejecutando Eclipse Helios 3.6 usando los IDE de Java/CFEclipse, y encontré algunos errores muy extraños y agravantes al tratar de editar archivos de Javascript. Después de que el archivo .js alcanza un determinado tamaño (~ 250 líneas de código), Eclipse se bloquea aleatoriamente cada vez que intento seleccionar, copiar y pegar selecciones, o guardar. Al hacer clic después de que se inicie el bloqueo, la barra de "fuente de edición de archivos ... ayuda" se blanquea, y al hacer clic de nuevo, aparece el mensaje "(no responde) de Windows" que se muestra en el encabezado del programa. El ahorcamiento se va después de otros 5-10 segundos de espera. Este es el caso para todos los archivos JavaScript que trato de editar, aunque los más cortos no se cuelgan tanto y no muestran el mensaje "(no responde)".Eclipse está colgado en copiar/pegar en archivos de JavaScript

He pensado que era un problema con las opciones de validación/autocompletar de Javascript, y en consecuencia las he desactivado; sin embargo, el problema de copiar y pegar aún persiste. También probé el IDE de Javascript: el mismo problema. ¿Es esto un problema con el manejo de Javascript de Eclipse, punto? ¿Alguien más ha recibido errores como estos? Y si se trata de un problema fundamentalmente de Eclipse, ¿alguien podría sugerir un mejor editor de Javascript/Coldfusion?

EDIT: Para obtener más información, ingrese la salida de la última Colgar:

!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

me di cuenta de la "AST" que se menciona en el autocompletar colgar antes de cumplir que fuera, también. Me pregunto si eso reduce al culpable. – grantwparks

+0

PHPStorm> Eclipse –

+0

Debe desactivar la "Marca de ocurrencias". Encuentra mi respuesta aquí: http://stackoverflow.com/questions/20392791/eclipse-hangs-on-copy-cut-for-javascript-files/24282723#24282723 –

Respuesta

7

Ok, creo que he encontrado una solución a esta fuerza bruta. Entré en windows> preferences> javascript> [all sub menus] y simplemente desmarqué todas las cosas que pude estrenar para desmarcar. Lo hice hace un par de semanas y solo se suspendió una vez desde entonces (creo que no estaba relacionado ya que tuve que dejar de fumar después de 5 minutos).

3

La primera vez que se reunió como Eclipse hangs on copy/cut for JavaScript files y https://github.com/Nodeclipse/nodeclipse-1/issues/159

Resumen actual:

  • el tamaño importa: proyecto grande puede causar Eclipse JSDT para congelar (esto es cuestión de edad como @andreialecu ha recogido https://github.com/Nodeclipse/nodeclipse-1/issues/159#issuecomment-68098716)
  • martillo solución 100% es eliminar JsNature para ese proyecto
  • más sutil es desactivar solo algunas funciones JSDT
    Window>Preferences>JavaScript>Editor>Mark Occurrences y tal vez incluso Window->Preferences->General->Editors->Text Editors->Hyperlinking
  • recomendado por los mantenedores JSDT (para mayor observación): (por @vrubezhny)
    • obtener la versión
    • aumentar los ajustes de la memoria disponible más reciente JSDT
  • filtros uso de los recursos para ocultar más archivos en carpetas como build/dist/bower/vendor (por @ppartida)

Y generalmente:

  • preste atención qué paso ha tomado al trabajar con cualquier software.
  • experimento con pequeños cambios

Por favor, añadir más respuestas aquí (la primera cuestión planteada Ago 18 de '10)

+0

En mi propia situación (Eclipse 4.5 en OS X) en Window -> Preferencias-> General-> Editores-> Editores de texto-> Hipervínculos desmarcar solamente (Elemento de JavaScript; Comando; Editores de HTML) resuelve el problema –

+0

Marcar Ocurrencias es un gran problema, come muchos recursos ... –

14

Para mí la solución era desactivar esta opción ...

Preferencias/JavaScript/Editor/Typing {} Al pegar/actualización de las importaciones

+0

gracias por esto respuesta, colgar en la copia se estaba poniendo MUY molesto – ossys

+0

Funcionó para mí. Gracias. – manikanta

+0

Funcionó para mí también, gracias, +1. –

Cuestiones relacionadas