I think I tried every suggested solution, but this Eclipse auto-complete problem is quite particular:
- I launch Eclipse, content assist works fine;
- I want to create a LineBorder in my Swing project;
- I type
LineBorder panelBorder = new Li
and hit Ctrl+Space; - No popup appears and in the status bar it writes in red "No completion available";
- I try Ctrl+Space on the elements where content assist worked fine 2 secs earlier, it doesn't work anymore.
- 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:
- Reset to defaults in 'Preferences->Java->Editor->Content Assist->Advanced';
- Check every single checkbox in the same menu;
- Create a new workspace and try it there;
- Delete .index files and 'savedIndexNames.txt' in .metadata/.plugins/org.eclipse.jdt.core;
- 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
I had the same. Windows -> Preferences -> Java -> Editor -> Content Assist -> Advanced. Make sure "Java Proposals" checkbox is ticked at default content assist list (1st panel of the pop up).
By clicking "Restore Defaults" button at the bottom "Java Proposals" could be checked automatically.
Go back to the Advanced Content Assist preference page and Restore Defaults. Close the dialog using the OK button.
I had the same problem. Actually I had the content assist pop up, but that was smaller than a couple of pixels.(Who shrunk this and why was it shrunk no idea whatsoever...) But if you see something strange(in my case, that was the letters 'Rp', but I guess it can be anything) where normally the content assist should appear, try to expand it, and you might get it back. Good luck.
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.
What worked for me was to create a new workspace and copy all the projects to that workspace. The issue now only occurs on the previous workspace.
I think you are running into a known defect in 3.6. see here
try to download a newer release- it is fixed since 3.7
[edit] I just realized that you've wrote 'Juno'- are you using the latest (4.2.2)?
I just fixed the same problem in Juno switching workspace and then switching back. Other solutions didn't work.
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!
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.
Go to Eclipse → Preferences → Java → Editor → Content Assist → Restore Defaults
and then Project → Clean
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.
Windows -> Preferences -> Java -> Editor -> Content Assist -> Advanced ( Java Proposals) need to be choosen.
I had the same issue just now with Eclipse version 2019-06 (4.12). For me a Project clean solved the problem.
来源:https://stackoverflow.com/questions/15728776/no-completions-available-strange-eclipse-behavior