Can I add JavaDoc to a package easily with Eclipse? - eclipse

I use javadoc to document my classes and methods. I would like to add some overview information to my packages, too. I like how Eclipse creates a stub of a matching Doc Comment for each class or method once I type /**<Enter>. Does Eclipse have an easy way to generate a package.html file, too?

Update 4 years later (Oct. 2013)
javabeangrinder's answer (upvoted) mentions the following trick:
To create a package-info.java file in an existing package:
Right click on the package where you want a package-info.java.
Select new->package.
Check the Create package.info.java check box.
Click on Finish
Original answer (May 2009)
There is no template or wizard to easily create a package.html file.
As mmyers said in his comment, since Java1.5, the correct file to create would be package-info.java.
That file can be used not only for javadocs, but also for package-level annotations (as illustrated here).
There is an opened Bug (#86168) for demanding a wizard for the creation of package-info.java (since the class wizard does not allow the package-info name).
The reflections on that topic are on since... 2005! The problem is that any solution should
be implemented in a way that it also helps with 1.4 code.
The current workaround is to create a package-info.java as a text file.
From that point forward, package-info.java behaves as a normal Java class, and Eclipse places a package-info.class file in the output folder.
The Javadocs are correctly built using package-info.java, and not the package.html file.
(source: developpez.com)
Note (in response to Strawberry's comment):
bug 77451 (2004!, for package.html)
bug 163633 and bug 163926 (2006, for package-info.java)
both wish a preview of the package overview in package-info.java in the Javadoc
view.
So far, no patch has been proposed/implemented.
There is simply not enough demands for that feature to be added.

In eclipse
Since package-info.java isn't a valid identifier for a class it cannot be created as a class in Eclipse.
I found that when you create a new package there is a check box to check if you want a package-info.java.
To create a package-info.java file in an existing package:
Right click on the package where you want a package-info.java.
Select new->package.
Check the Create package.info.java check box.
Click on Finish

The JAutodoc plugin does a great job of this, as well as all your other documentation needs. Install and configure the plugin and right click the package and click JAutodoc > Add Package Javadoc
There are configurations and templates available for the .java or .html package documentation.
This plugin also does a great job of standardizing all your Javadoc needs, with a great deal of customization.
http://jautodoc.sourceforge.net/

There's a plugin that seems to create package.html files. I haven't used it but someone landing here might find it useful.
http://sourceforge.net/projects/package-javadoc/

Related

Eclipse How To Import External Library's Documentation

When we import the external library to eclipse Java project, we can use the auto-correction feature of eclipse for the imported methods from new libraries but we can't see what the methods specifically do. We have to import library's documentation.
Question1: How can I import documentation into eclipse project?
Question2: What does Java Documentation look like?
Question3: Which file format does Java documentation use?
Right click on your project->properties->java build path
select the libraries (its generally .jar file)
click on the dropdown of the libraries to expand the settings-> select source attachment none and click on edit
select the source to the doc ( java documents generally represented by JavaDoc)
click okay.
Question1: How can I import documentation into eclipse project?
In the project explorer, right-click on the library and select Properties. In the resulting dialog, choose "Javadoc Location" and complete the information.
Question2: What is Java Documentation looks like?
A set of directories with HTML files for each class. There is typically an index.hml at the root, plus often a package-list file too. Eclipse searches for these when you "validate" the location.
Question3: Which file format java documentation using?
Eclipse accepts a URL (to a file or a web page), a ZIP or a JAR.
In your package explorer (and most likely on other places as well) you can see your jar file (the external library). Right click on that and choose 'properties'. There you've got the options to attach the sources and the javadoc. After you've done that you can view their javadoc as you view your own (i.e. hover, 'javadoc-view', F3 ...)
Formatted text
Javadoc http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html
as far as i know for your Question1: How can i import documentation into eclipse project?
suppose you are using AXIS.jar and u want to get its doc properties then :
In the Package Explorer view expand your project and its library folder for the Axis library.
Right-click the Axis jar and select Properties.
In the Properties dialog, select Javadoc Location in the tree on the left.
With the Javadoc URL option selected, click Browse.
Navigate to the appropriate folder (see table that follows) and click OK twice to exit the Properties dialog.
Question2: What is Java Documentation looks like? and Question3:Which file format java documentation using?
HTML,zip or jar i guess :))
and
COvayurt, you cannot see what methods do specifically because you have added libraries for those methods not the java docoumentation for those libraries, so in order to add java doc for libraries simply provide the path of your docs location(if you have got docs for those libraries).
right click on your project then under properties set the javadoc path.
java documentation are html files created from the standard classes.you can create java doc for your own project too. see this link
and if you want to see standard java api documentation here-it-is

Eclipse plugin to colorize/visually flag entries in the Package Explorer?

I am looking for a way to colorize entries in Eclipse' Package Explorer:
In bigger projects you have dozens of files in a package all listed underneath each other. This makes it hard to find the file you look for (e.g. for right-click operations). So it would be nice if I could manually colorize some entries.
Does a plugin for this exist?
This is one that I was using before. It lets you set rules and tints icons accordingly:
Label Decorator
One way to have Eclipse filter the classes you see is to use Eclipse Mylyn. You create tasks that you work on and Mylyn will remember the packages and classes associated with a certain task. It will then filter out all other classes/packages. This gives you an editor that only shows the information relevant to a specific task.
I suggested Mylyn for a different problem aswell and in that answer I gave a bit more information.

To modify a core eclipse plugin

In order to modify an eclipse plugin, what are the steps to find its editable code ?
I read and debug source provided with eclipse distribution but to try a fix in org.eclipse.jdt.internal.corext.codemanipulation behavior I need to make it editable.
Well, the source repository is available at eclipse.org, the plugin compiled with the source should be available from the standard eclipse update site.
I'm guessing you are considering changing the source, recompiling and using your plugin instead of the standard one? There is a different way to change functionality, its with fragments. For example, look at a question I asked earlier, follow the links in my text and Andrews answer for more information.

Add functionality to all Eclipse TextEditors

I need to add some functionality to eclipse text editors. The goal is to get a Graphics Context or add a SWT Canvas to any and all Eclipse AbstractTextEditors and package these modifications within a plug-in (so by installing the plugin I provide, the editor modification will work for the Java Editor, XML Editor, plain text editor, etc.). Are there any extension points that would suffice for this purpose, or is my best bet with a fragment? Any help is appreciated.
I would recommend looking at the source code for AbstractTextEditor to see if an extension point exists for this purpose. If an extension point exists, it will be evident in that class source.
I would wager that such extension point does not exist. You are left with opening an enhancement request and in the meantime patching the plugin containing AbstractTextEditor plugin to alter the source of that file. A fragment isn't going to do the trick. Another alternative to consider is to learn and apply a bytecode weaving framework such as AspectJ (http://eclipse.org/ajdt/).

How to make a new Eclipse project template?

I am using a kind of framework where every time I make a new Java project. I have to arrange the files in the appropriate packages and reference the appropriate external JAR libraries. How do I make a new project template like in the New Project dialog under a new folder?
I've just done a bit of research on this for our own nefarious purposes, and found the answer.
You need to create an Eclipse plugin that uses the org.eclipse.ui.newWizards package. You can define your own category or use an existing one once you find the category ID. To create a new project wizard rather than a new resource wizard, you need to set the "project=true".
Also, your plugin must contain a class that implement org.eclipse.ui.INewWizard. Clicking on the class link from the plugin.xml editor will do the trick.
That class must do all the work in the performFinish override, and must return true to indicate that it actually did its thing and the wizard can close. This is where you create files, directories, set natures, and so forth.
You need to write an Eclipse plugin for that, and concentrate on New Project Wizard.
Writing Eclipse plugins is covered in Stack Overflow question How to write a plugin for Eclipse?.