No completions available, strange Eclipse behavior

2020-05-30 03:17发布

I think I tried every suggested solution, but this Eclipse auto-complete problem is quite particular:

  1. I launch Eclipse, content assist works fine;
  2. I want to create a LineBorder in my Swing project;
  3. I type LineBorder panelBorder = new Li and hit Ctrl+Space;
  4. No popup appears and in the status bar it writes in red "No completion available";
  5. I try Ctrl+Space on the elements where content assist worked fine 2 secs earlier, it doesn't work anymore.
  6. I try the same thing on other project, on the same project after closing and reopening it, after cleaning it and content assist works just fine before I try using LineBorder constructor, then it crashes.

What I tried:

  1. Reset to defaults in 'Preferences->Java->Editor->Content Assist->Advanced';
  2. Check every single checkbox in the same menu;
  3. Create a new workspace and try it there;
  4. Delete .index files and 'savedIndexNames.txt' in .metadata/.plugins/org.eclipse.jdt.core;
  5. Check for the duplicate libraries.

What I didn't try is reinstalling Eclipse. The version I use is Eclipse IDE for Java Developers (Juno).

Nothing seems to work.

UPDATE:

Checked the logs as iGili suggested. There are some exceptions raised at the time of failure:

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)

and it goes on, I don't know what is the convention for posting long stack traces

13条回答
Root(大扎)
2楼-- · 2020-05-30 03:30

This checkbox "java proposals" will be ticked until I have failed and got "No completions available". After that, it will show as unticked the next time I am opening the settings.

查看更多
祖国的老花朵
3楼-- · 2020-05-30 03:34

I had the same issue just now with Eclipse version 2019-06 (4.12). For me a Project clean solved the problem.

查看更多
Ridiculous、
4楼-- · 2020-05-30 03:39

Windows -> Preferences -> Java -> Editor -> Content Assist -> Advanced ( Java Proposals) need to be choosen.

查看更多
甜甜的少女心
5楼-- · 2020-05-30 03:39

I couldn't expand sysout this morning. After a couple of wasted hours, I found that I was trying to put System.out.println() outside a method. When I did it inside a method, it all worked perfectly.

查看更多
Summer. ? 凉城
6楼-- · 2020-05-30 03:40

None of these answers helped me: Java Proposals was ticked, and restoring defaults didn't do anything. It started working only after I restarted Eclipse.

查看更多
Lonely孤独者°
7楼-- · 2020-05-30 03:41

I had the same problem but in only one particular file in my project (completion worked fine on other files). I'm also using Eclipse Juno.

I fixed the problem by removing some warnings due to unused imports in the file where completion failed... and it started working again!

查看更多
登录 后发表回答