提问者:小点点

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


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

  1. 我启动Eclipse,内容辅助工作正常;
  2. 我想在我的Swing项目中创建一个线边界;
  3. 我键入Line边界面板边界=new Li并点击Ctrl空间;
  4. 没有弹出窗口,状态栏上写着红色“没有可用的完成”;
  5. 我在内容辅助工作正常的元素上尝试了Ctrl Space 2秒前,它不再工作了。
  6. 我在其他项目上尝试同样的事情,在关闭并重新打开它之后,在清理它和内容辅助工作正常之后,在我尝试使用Line边界构造函数之前,它崩溃了。

我所尝试的:

  1. 在“偏好”中重置为默认值-

我没有尝试重新安装Eclipse。我使用的版本是EclipseIDEforJavaDevelopers(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)

它还在继续,我不知道发布长堆栈跟踪的约定是什么


共3个答案

匿名用户

我也有。窗户-

通过单击底部的“恢复默认值”按钮,可以自动检查“Java提案”。

匿名用户

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

匿名用户

我也遇到了同样的问题。实际上,我弹出了内容辅助,但它小于几个像素。(谁缩小了这个,为什么缩小了,完全不知道…)但是如果你看到一些奇怪的东西(在我的例子中,那是字母“Rp”,但我想它可以是任何东西),通常内容辅助应该出现,试着扩大它,你可能会把它拿回来。祝你好运。