m_a_khan
m_a_khan

Reputation: 1571

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 suggestion isn't working, after doing a refresh, the problem resolved.

Upvotes: 32

Views: 42700

Answers (9)

Frederick Haug
Frederick Haug

Reputation: 255

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.

Upvotes: 0

Chris Dennett
Chris Dennett

Reputation: 22721

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.

alt text
(source: teradata.com)

Upvotes: 10

Dave Berry
Dave Berry

Reputation: 11

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.

Upvotes: 1

Witold Kaczurba
Witold Kaczurba

Reputation: 10485

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.

enter image description here

Upvotes: 0

bronze
bronze

Reputation: 1031

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

Upvotes: 103

Kraagenskul
Kraagenskul

Reputation: 464

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:

Shows Eclipse Include without 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.

Upvotes: 1

VonC
VonC

Reputation: 1323115

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

alt text

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).

Upvotes: 11

tony gil
tony gil

Reputation: 9554

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.

Upvotes: 18

widmore
widmore

Reputation: 21

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.

Upvotes: 2

Related Questions