Eclipse在JavaScript文件中复制/粘贴时挂起

Eclipse在JavaScript文件中复制/粘贴时挂起,javascript,eclipse,copy-paste,jsdt,Javascript,Eclipse,Copy Paste,Jsdt,我一直在使用Java/CFEclipseIDE运行EclipseHelios3.6,并在尝试编辑Javascript文件时发现了一些非常奇怪和严重的错误。当.js文件达到一定大小(大约250行代码)后,每当我尝试选择、复制粘贴选择或保存时,Eclipse都会随机挂起。挂起开始后单击将导致“文件编辑源…帮助”栏变白,再次单击将导致程序标题中显示的窗口(无响应)消息。等待5-10秒后,挂起就消失了。我尝试编辑的所有JavaScript文件都是这种情况,尽管较短的文件挂起的时间不长,也不会显示“(无响

我一直在使用Java/CFEclipseIDE运行EclipseHelios3.6,并在尝试编辑Javascript文件时发现了一些非常奇怪和严重的错误。当.js文件达到一定大小(大约250行代码)后,每当我尝试选择、复制粘贴选择或保存时,Eclipse都会随机挂起。挂起开始后单击将导致“文件编辑源…帮助”栏变白,再次单击将导致程序标题中显示的窗口(无响应)消息。等待5-10秒后,挂起就消失了。我尝试编辑的所有JavaScript文件都是这种情况,尽管较短的文件挂起的时间不长,也不会显示“(无响应)”消息

我认为Javascript验证/自动完成选项有问题,因此关闭了这些选项;但是,复制粘贴挂起问题仍然存在。我也尝试过Javascript IDE——同样的问题。这是EclipseJavaScript处理的问题吗?还有人犯过这样的错误吗?如果这是一个基本的Eclipse问题,有人能推荐一个更好的Javascript/Coldfusion编辑器吗

编辑:有关详细信息,请记录最新挂起的输出:

!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)

好吧,我想我找到了一个暴力解决方案。我进入windows>preferences>javascript>[所有子菜单],然后尽可能多地取消选中。几周前我就这么做了,从那以后它只挂了一次(我认为这与我在5分钟后被迫退出无关)。

第一次见面时,和

当前摘要:

  • 大小问题:大型项目可能导致EclipseJSDT冻结(这是@andreialecu收集的旧问题)
  • hammer 100%的解决方案是删除该项目的JsNature
  • 更微妙的是只禁用一些JSDT功能
    Window>Preferences>JavaScript>Editor>Mark引用
    甚至可能
    Window->Preferences->General->Editors->Text Editors->Hyperlinking
  • JSDT维护人员推荐(用于进一步观察):(作者@vrubezhny)
    • 获取最新的JSDT版本
    • 增加可用内存设置
  • 使用资源筛选器在build/dist/bower/vendor(by@ppartida)等文件夹中隐藏更多文件
一般来说:

  • 注意在使用任何软件时所采取的步骤
  • 做些小变化的实验
请在此添加更多答案
(2010年8月18日提出的第一个问题)

对我来说,解决方案是禁用此选项


Preferences/JavaScript/Editor/Typing{When pasting}/Update imports

在我关闭自动完成挂起之前,我注意到在自动完成挂起中提到的“AST”。我想知道这是否缩小了罪犯的范围?你应该禁用“标记发生”。在这里找到我的答案:在我自己的情况下(OSX上的Eclipse4.5),在窗口->首选项->常规->编辑器->文本编辑器->仅取消选中超链接(JavaScript元素;命令;HTML编辑器)解决了问题谢谢这个答案,挂起拷贝对我来说非常烦人。谢谢