Eclipse Mars - 一个特定文件无法在比较编辑器中打开?

时间:2016-04-14 18:44:09

标签: javascript eclipse svn compare subclipse

上周突然间,单个javascript文件将不再在比较编辑器中打开。

  • 我正在运行最新的Mars Eclipse
  • 我正在运行最新的Subclipse
  • 我与回购同步,并看到更改的文件
  • 当我双击或选择比较时,我会看到一个空白的白页,其中包含"正在初始化..."或一个空白的灰页
  • 只有一个特定的文本.js文件...项目中的所有其他文件,其他项目差别很好。
  • 该文件为37,880字节
  • 我删除了subversion设置文件,并重新创建了
  • 我已检查首选项并忽略空白

只有这一个文件......它是node.js项目的主文件。它曾经差别很好,上周突然间这一个文件将不再发散并抛出此异常。

当我查看日志时,我看到以下异常:

  

!ENTRY org.eclipse.ui 4 0 2016-04-14 12:38:08.535   !MESSAGE未处理的事件循环异常   !堆栈0   org.eclipse.swt.SWTException:无法执行runnable(java.lang.IllegalArgumentException)       在org.eclipse.swt.SWT.error(SWT.java:4491)       在org.eclipse.swt.SWT.error(SWT.java:4406)       在org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)       在org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4155)       在org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3772)       at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine $ 4.run(PartRenderingEngine.java:1127)       在org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)       在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)       在org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)       在org.eclipse.ui.internal.Workbench $ 5.run(Workbench.java:694)       在org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)       在org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)       在org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)       在org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)       在org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)       在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)       在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)       在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)       在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)       at java.lang.reflect.Method.invoke(Unknown Source)       在org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)       在org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)       在org.eclipse.equinox.launcher.Main.run(Main.java:1515)

     

引起:java.lang.IllegalArgumentException       在org.eclipse.wst.jsdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2490)       at org.eclipse.wst.jsdt.core.dom.ASTConverter.convertToVariableDeclarationStatement(ASTConverter.java:2696)       在org.eclipse.wst.jsdt.core.dom.ASTConverter.checkAndAddMultipleLocalDeclaration(ASTConverter.java:319)       在org.eclipse.wst.jsdt.core.dom.ASTConverter.convert(ASTConverter.java:436)       在org.eclipse.wst.jsdt.core.dom.ASTConverter.convert(ASTConverter.java:1175)       在org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.convert(JavaScriptUnitResolver.java:262)       在org.eclipse.wst.jsdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:887)       在org.eclipse.wst.jsdt.core.dom.ASTParser.createAST(ASTParser.java:647)       在org.eclipse.wst.jsdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:284)       在org.eclipse.wst.jsdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:243)       在org.eclipse.compare.structuremergeviewer.StructureCreator.internalCreateStructure(StructureCreator.java:121)       at org.eclipse.compare.structuremergeviewer.StructureCreator.access $ 0(StructureCreator.java:109)       在org.eclipse.compare.structuremergeviewer.StructureCreator $ 1.run(StructureCreator.java:96)       在org.eclipse.swt.custom.BusyIndi​​cator.showWhile(BusyIndi​​cator.java:70)       在org.eclipse.compare.internal.Utilities.runInUIThread(Utilities.java:859)       在org.eclipse.compare.structuremergeviewer.StructureCreator.createStructure(StructureCreator.java:102)       在org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ StructureInfo.createStructure(StructureDiffViewer.java:155)       在org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ StructureInfo.refresh(StructureDiffViewer.java:133)       at org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ StructureInfo.setInput(StructureDiffViewer.java:104)       at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:342)       在org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ 2.run(StructureDiffViewer.java:74)       在org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ 6.run(StructureDiffViewer.java:322)       在org.eclipse.swt.custom.BusyIndi​​cator.showWhile(BusyIndi​​cator.java:70)       at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:319)       at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:307)       在org.eclipse.wst.jsdt.internal.ui.compare.JavaStructureDiffViewer.compareInputChanged(JavaStructureDiffViewer.java:143)       在org.eclipse.compare.structuremergeviewer.StructureDiffViewer.inputChanged(StructureDiffViewer.java:278)       在org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:292)       at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1701)       在org.eclipse.compare.CompareViewerSwitchingPane.setInput(CompareViewerSwitchingPane.java:277)       在org.eclipse.compare.internal.CompareStructureViewerSwitchingPane.setInput(CompareStructureViewerSwitchingPane.java:132)       在org.eclipse.compare.CompareEditorInput.feedInput(CompareEditorInput.java:747)       在org.eclipse.compare.CompareEditorInput.createContents(CompareEditorInput.java:555)       在org.eclipse.compare.internal.CompareEditor.createCompareControl(CompareEditor.java:462)       在org.eclipse.compare.internal.CompareEditor.access $ 6(CompareEditor.java:422)       在org.eclipse.compare.internal.CompareEditor $ 3.run(CompareEditor.java:378)       在org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162)       在org.eclipse.ui.internal.UISynchronizer $ 3.run(UISynchronizer.java:154)       在org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)       在org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)       ......还有23个

2 个答案:

答案 0 :(得分:14)

我没有解决方案,但我遇到了同样的问题并找到了解决方法。我关掉了#34;自动打开结构比较"在" General"中的eclipse偏好中 - > "比较/补丁&#34 ;.然后我就可以在比较编辑器中打开文件了。

答案 1 :(得分:1)

这看起来像Eclipse bug 390913已经开放了一段时间,但似乎没有取得任何进展。