没有完成可用,奇怪的Eclipse行为

时间:2013-03-31 11:11:47

标签: java eclipse content-assist

我想我尝试了所有建议的解决方案,但这个Eclipse自动完成问题非常特别:

  1. 我启动Eclipse,内容辅助工作正常;
  2. 我想在Swing项目中创建一个LineBorder;
  3. 我输入LineBorder panelBorder = new Li并按Ctrl + Space;
  4. 没有弹出窗口,状态栏中显示红色“无法完成”;
  5. 我尝试在内容辅助工作2秒之前正常工作的元素上使用Ctrl + Space,它不再起作用了。
  6. 我在其他项目上尝试相同的事情,在关闭并重新打开它之后在同一个项目上,在清理它之后,内容辅助在我尝试使用LineBorder构造函数之前工作正常,然后崩溃。
  7. 我尝试了什么:

    1. 重置为'首选项 - > Java->编辑器 - >内容辅助 - >高级'中的默认值;
    2. 检查同一菜单中的每个复选框;
    3. 创建一个新工作区并在那里试用;
    4. 删除.metadata / .plugins / org.eclipse.jdt.core中的.index文件和'savedIndexNames.txt';
    5. 检查重复的库。
    6. 我没有尝试重新安装Eclipse。我使用的版本是Eclipse IDE for Java Developers(Juno)。

      似乎没什么用。

      更新:

      检查日志为iGili建议。 在失败时提出了一些例外:

      org.eclipse.e4.core.di.InjectionException: org.eclipse.core.commands.ExecutionException: While executing the action, an exception occurred
      Caused by: org.eclipse.core.commands.ExecutionException: While executing the action, an exception occurred
      Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
          at org.eclipse.jdt.internal.codeassist.InternalCompletionProposal.findConstructorParameterNames(InternalCompletionProposal.java:257)
          at org.eclipse.jdt.internal.codeassist.InternalCompletionProposal.findParameterNames(InternalCompletionProposal.java:1456)
          at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.appendUnboundedParameterList(CompletionProposalLabelProvider.java:113)
          at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.createMethodProposalLabel(CompletionProposalLabelProvider.java:272)
          at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.createStyledLabel(CompletionProposalLabelProvider.java:570)
          at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.computeDisplayString(LazyJavaCompletionProposal.java:262)
          at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.getStyledDisplayString(LazyJavaCompletionProposal.java:238)
          at org.eclipse.jface.text.contentassist.CompletionProposalPopup.handleSetData(CompletionProposalPopup.java:841)
          at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$24(CompletionProposalPopup.java:831)
          at org.eclipse.jface.text.contentassist.CompletionProposalPopup$3.handleEvent(CompletionProposalPopup.java:593)
          at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
          at org.eclipse.swt.widgets.Table.checkData(Table.java:1166)
          at org.eclipse.swt.widgets.Table.wmNotifyChild(Table.java:6749)
          at org.eclipse.swt.widgets.Control.wmNotify(Control.java:5534)
          at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:1896)
          at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:5086)
          at org.eclipse.swt.widgets.Control.windowProc(Control.java:4584)
          at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
          at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1627)
          at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2069)
          at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989)
          at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
          at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2440)
          at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:564)
          at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:430)
          at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623)
      

      然后继续,我不知道发布长堆栈跟踪的惯例是什么

13 个答案:

答案 0 :(得分:65)

我也一样。 Windows - >偏好 - > Java - >编辑 - >内容辅助 - >高级。确保在默认内容辅助列表(弹出的第一个面板)中勾选“Java Proposals”复选框。

点击底部的“恢复默认值”按钮,可以自动检查“Java Proposals”。

答案 1 :(得分:4)

返回“高级内容辅助”首选项页面和“恢复默认值”。使用“确定”按钮关闭对话框。

答案 2 :(得分:2)

我遇到了同样的问题。实际上我弹出了内容辅助,但是这个数字小于几个像素。(谁缩小了这个,为什么它缩水不知道......) 但是,如果你看到一些奇怪的东西(在我的情况下,这是字母'Rp',但我想它可以是任何东西)通常内容辅助应该出现,尝试扩展它,你可能会得到它。祝好运。

答案 3 :(得分:1)

这些答案都没有帮助我:Java提案被勾选,恢复默认值没有做任何事情。它在我重新启动Eclipse之后才开始工作。

答案 4 :(得分:1)

对我有用的是创建一个新工作区并将所有项目复制到该工作区。现在问题只出现在以前的工作区中。

答案 5 :(得分:0)

我认为你在3.6中遇到了一个已知的缺陷。见here

尝试下载更新版本 - 自3.7以来已修复

[edit] 我刚才意识到你写过'Juno' - 你使用的是最新的(4.2.2)吗?

答案 6 :(得分:0)

我刚刚修改了Juno切换工作区中的相同问题,然后切换回来。其他解决方案无效。

答案 7 :(得分:0)

我遇到了同样的问题但在我的项目中只有一个特定的文件(完成在其他文件上工作正常)。我也在使用Eclipse Juno。

我通过删除因完成失败的文件中未使用的导入而导致的一些警告来解决问题...然后它又开始工作了!

答案 8 :(得分:0)

这个复选框“java提案”将被勾选,直到我失败并获得“无可用完成”。之后,下次打开设置时,它将显示为未打开。

答案 9 :(得分:0)

转到 Eclipse→首选项→Java→编辑器→Content Assist→恢复默认值

然后 项目→清理

答案 10 :(得分:0)

今天早上我无法扩展sysout。浪费了几个小时之后,我发现我试图将System.out.println()放在方法之外。当我在一个方法中执行此操作时,一切都完美运行。

答案 11 :(得分:0)

Windows->首选项-> Java->编辑器-> Content Assist->高级(Java建议)。

答案 12 :(得分:0)

我刚刚在Eclipse版本2019-06(4.12)中遇到了相同的问题。对我来说,干净的项目解决了这个问题。