开发者

Eclipse autocomplete not working in some Java files

I have noticed that autocomplete is not working in some of java files in Eclipse. Also, the files where autocomplete is not working, display a hollow "J" as the icon for the Java file. The files where autocomplete is working, icon for java file is a filled "J"

I am wondering if someone can point out what went wrong all of suddent, why the change in icons and why autocomplete and syntax highlighting is turned-off in the files with a hollow "J" icon?

Thanks.

update

Basically, I was doing what VonC has suggested but Eclipse was not refreshing that it why I was thinking that VonC's sugge开发者_如何学JAVAstion isn't working, after doing a refresh, the problem resolved.


Since this question is highly ranked on Google, I will add a solution to fix general auto complete issue, not for 'hollow J' ones.

Try Window (Windows/Linux) or Eclipse (OS X) -> Preferences -> Java -> Editor -> Content Assist -> Restore Defaults

also

Content Assist -> Advanced -> Restore Defaults


some answers (restore defaults) above do not work for some adt bundle installs as of jan '13.

in those cases, go to

Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced

and tick on the JAVA PROPOSAL options.


In this following picture, MyClass.java has a hollow J, because it is explicitly excluded from the sources to build:

Eclipse autocomplete not working in some Java files

Could you go to the properties of the project, "Java Build Path" Section, "Source" tab and see if some exclusion filter has been set ?
It is usual for instance to define:

**/Test*.java

to exclude at first building any unit-test class (when you have a large set of sources and do not want to be presented with Test classes during auto-completion, or do not want them considered during source searches).


Those with a hollow J aren't part of the build path of the project, so they can't participate in the normal build process and therefore auto-complete won't be enabled for these files (and other Java editor features!). You must add the folders with the Java files to be built to the build path using the 'source path' section of the project properties. This can be accessed by right clicking on a project in the project navigator / package explorer and going to Properties. See http://www.informit.com/articles/article.aspx?p=367962 for details.

Additionally, if the files aren't part of a Java project in the first place, you must create a project and move the files in, or put the files in an existing one. Again, make sure these file are under a source directory as described by that section of the project properties.

Eclipse autocomplete not working in some Java files


(source: teradata.com)


I cope with the issue by deleting the file if autocomplete does not work. Just before copying the source code. Then I have recreated the java file with the same name. Pasted the source code previously copied.


As an addendum to the @VonC answer, make sure that the Java files are part of the Inclusion pattern. I had a case where a build process was creating the project while only including .js files and not the Java files:

Eclipse autocomplete not working in some Java files

You can manually edit the inclusions via the Edit button. In my case, a fix was made to the build script to make it permanent.


Neither Restoring Defaults or my build path (file was already in package directory w/other files where auto-complete was working) fixed problem. Fix for me was to close the file explicitly (right click on file name in tab) and re-open. Interestingly, just re-starting Eclipse didn't work either.


Make sure you have the right directory structure. I believe that:

  • Hollow J icon beside Java file - will not be build
  • Normal J icon beside Java file - is a file to be build.

I made a mistake when I created webapp artefact. By default it does not create folder for Java, but for resources. I mistakenly put my sources there. Have a look - see the difference.

Eclipse autocomplete not working in some Java files


I was able to get this fixed in Visual Studio Code, VSCode but entering crtl-shift-p and typing in clean. When I did that I ran the "Java: Clean Java Language Sever Workspace" command. This fixed my autocomplete issue for me.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜