2010-08-18 36 views
17

我一直在使用Java/CFEclipse IDE運行Eclipse Helios 3.6,並在嘗試編輯Javascript文件時發現一些非常奇怪和令人煩惱的錯誤。在.js文件達到特定大小(〜250行代碼)之後,Eclipse會在我嘗試選擇,複製粘貼選擇或保存時隨機掛起。在掛起開始後單擊將導致「文件編輯源...幫助」欄被清除,再次點擊會導致程序頭中顯示窗口「(無響應)」消息。等待5-10秒後,掛繩就會消失。對於我嘗試編輯的所有JavaScript文件,情況都是如此,儘管較短的文件不會掛起很長時間,也不會顯示「(無響應)」消息。Eclipse在JavaScript文件中複製/粘貼時被掛起

我以爲這是一個Javascript驗證/自動完成選項的問題,並相應地關閉了這些;但是,複製粘貼掛起問題仍然存在。我也嘗試過Javascript IDE - 同樣的問題。這是Eclipse的JavaScript處理問題嗎?有沒有人得到這樣的錯誤?如果這是一個基本的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) 
+0

我注意到在自動完成中提到的「AST」掛之前,我打開那個斷了。我想知道這是否縮小了罪魁禍首? – grantwparks 2011-06-21 03:23:35

+0

PHPStorm> Eclipse – 2014-01-05 16:25:40

+0

您應該禁用「標記發生」。找到我的答案在這裏:http://stackoverflow.com/questions/20392791/eclipse-hangs-on-copy-cut-for-javascript-files/24282723#24282723 – 2015-04-17 05:46:49

回答

7

好吧,我想我找到了一個蠻力解決這個。我進入了Windows>首選項> javascript> [所有子菜單],只是沒有檢查儘可能多的東西,因爲我可以胃口取消選中。我幾個星期前就這麼做了,從那以後只剩下一次(我認爲這是無關緊要的,因爲我必須在5分鐘後強制退出)。

3

第一次見面的Eclipse hangs on copy/cut for JavaScript fileshttps://github.com/Nodeclipse/nodeclipse-1/issues/159

當前摘要:

  • 大小事項:大項目可能導致的Eclipse JSDT凍結(這是@andreialecu收集https://github.com/Nodeclipse/nodeclipse-1/issues/159#issuecomment-68098716老問題)
  • 錘100%的解決方案是爲該項目刪除JsNature
  • 更微妙的是禁用只有一些JSDT功能
    Window>Preferences>JavaScript>Editor>Mark Occurrences ,甚至Window->Preferences->General->Editors->Text Editors->Hyperlinking
  • 由JSDT維護者(進一步觀察)建議:(由@vrubezhny)
    • 獲得最新版本JSDT
    • 增加可用內存設置
  • 使用資源過濾器在build/dist/bower/vendor等文件夾中隱藏更多文件(by @ppartida)

一般:

  • 請注意您使用任何軟件時採取了哪些步驟。
  • 實驗變化不大

請在這裏添加更多的答案 (首次發行募集8月18日'10)

+0

在我自己的情況(在OS X的Eclipse 4.5 4.5)在窗口 - >首選項 - >常規 - >編輯 - >文本編輯 - >超鏈接取消選中(JavaScript元素;命令; HTML編輯器)解決問題 – 2015-05-12 15:08:26

+0

標記發生是一個大問題,吃了很多資源... – 2015-12-01 09:27:42

14

對我來說,解決辦法是禁用此選項...

首選項/ JavaScript的/編輯/打字{粘貼時} /更新進口

+0

感謝您的答案,掛在副本上變得非常討厭 – ossys 2015-08-15 00:33:30

+0

爲我工作。謝謝。 – manikanta 2015-09-22 13:42:22

+0

也爲我工作,謝謝+1。 – 2015-12-02 14:31:01