-
Notifications
You must be signed in to change notification settings - Fork 136
FAQ
Frequently Asked Questions for Java Development Tools (JDT)
You may find your answer in one the following FAQ collection
The navigation bar is called the Breadcrumb. To disable the breadcrumb, click Toggle Java Editor Breadcrumb in the main toolbar. Since 3.7, you can also choose Hide Breadcrumb from the context menu of a breadcrumb item. More details on the Java editor breadcrumb can be found in Eclipse help.
Yes, the batch compiler can be invoked outside Eclipse. These options exist:
-
Invocation from a plain command line. More details can be found in the Java development user guide.
Options listed there may also be available via the other approaches. -
In Ant builds using the
javac
compiler adapter, see Using the ant javac adapter -
In Maven builds using
tycho-compiler-jdt
, see Tycho/FAQ#Can_I_use_the_Tycho_compiler_support_in_non-OSGi_projects,_too?
You can disable smart insert mode (Edit > Smart Insert Mode), alternatively you can also configure the Smart Insert Mode (Windows > Preferences > Java > Editor > Typing).
Go to Preferences > Java > Editor > Content Assist and paste "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz." (note the dot after z) into the "Auto activation triggers for Java:" field.
Check your default proposal generators by navigating to:
Window > Preferences > Java > Editor > Content Assist > Advanced
Ensure the top-most table (defining the default content assist list) has your desired proposal generators. You'll likely want "Java Proposals"
The argument names are fetched from the source or javadoc and if Eclipse cannot find them then it can only suggest arg0, arg1, etc. To solve the problem you can
-
Use a JDK, the sources are bundled with a JDK but not with a JRE (see also IRC FAQ).
-
Another solution is to have the Javadoc installed locally. Eclipse can also fetch it from the web but this can timeout for slow connections in which case you get arg0, arg1, etc.
-
You can also configure Eclipse to insert the best guessed names, see Windows > Preferences > Java > Editor > Content Assist, select 'Insert best guessed names'.
The Java builder compiles the Java files in the source folders and copies the rest of un-filtered resources to the output folder. You can modify the list of filtered resources at:
Window > Preferences > Java > Compiler > Building > Output folder
Note that these can also be configured per project.
You can, sort of - http://www.eclipse.org/forums/index.php/mv/msg/277485/782414/
I do not want to use the Eclipse builder, is there some way for me to tell Eclipse to use my program when building my project?
- open the project's properties
- go to 'Builders' page
- click 'New...'
- choose your program
Also, don't disable auto-build but rather disable the other builder(s) in the project properties.
You may find your answer in the Java Development Tool API section of The Official Eclipse FAQs.
JDT Core has no dependency on UI side, however it requires a
runtime-workbench. Hence you can use it in an Eclipse headless
application or include all the dependent jar files in the class path of
your application. (You will have to use ASTParser.setSource()
and
ASTParser.setEnvironment()
to be able to parse non Eclipse Java
projects.)
org.eclipse.jdt.core.dom.CompilationUnit.findDeclaringNode(IBinding)
org.eclipse.jdt.core.dom.IBinding.getJavaElement()
Look for a 'resolveBinding()' (or similarly named method) method in a subtype of ASTNode. Note that not all subtypes of ASTNode have a corresponding binding, e.g. MethodDeclaration, Expression and VariableDeclaration have one but IfStatement and ForStatement do not.
If you only need the binding key and not the binding object itself, look for a 'getKey()' method in a subtype of IJavaElement. This method returns the binding key, which can be useful in many situations e.g. see next point. Note that not all subtypes of IJavaElement have a corresponding binding, e.g. IType and IMethod have one but IPackageFragment and IImportContainer do not.
If you really need the binding objects you can use 'org.eclipse.jdt.core.dom.ASTParser.createBindings(IJavaElement[], IProgressMonitor)'. Note that this operation is slightly expensive, compared to just getting the binding key, as the bindings have to be created.
org.eclipse.jdt.core.dom.CompilationUnit.findDeclaringNode(String) - The string parameter is the binding key, see previous point.
Consider browsing through the frequently asked questions on Stackoverflow
-
FAQs on
Stackoverflow
- Questions with tag jdt
-
FAQs on
Stackoverflow
- Questions with tag eclipse-jdt
Ask a question on the Official JDT forum, however search for topics that might be related before asking!