Any way to auto generate ALL Javadoc comments in Eclipse?
For a whole project, may be not, but you can at least:
- go to the Package Explorer View
- expand the class you want to generate comment on (open each method)
- select all the opened elements in the class from that Package Explorer Tree
- alt+shift+J and voilà: comments generated on the class, and every method
The only reason it is not practical for the all project is:
- you need to open every class you want to generate comments on
- once a first set of methods have been commented, you still need to repeat the process if you have written new methods.
That being said, another approach is described in the article "The Problem of Incomplete Javadocs" from March, 30th 2010, advocating for an extended Javadoc view.
The extended Javadoc View is essentially an aggregator of different information sources for a single code element like a class, method, field or parameter. It is designed as a replacement for the existing Eclipse Javadoc.
The interesting part comes with the other tabs in the view: Subclassing Directives and Subclassing Patterns.
These tabs contain mined information about how developers typically extended the selected code element.
- Subclassing tab:
subclassing directives are generalizations of frequently made observations in example code like "Subclasses of Wizard always override its method
addPages()
" or "Reimplementors
ofDialog.createContents()
may call its super implementation".
- Subclassing Patterns Tab
Subclassing patterns try to group observed extensions of a base class into typical extension patterns, i.e., they cluster subclasses by similarity to find patterns in data.
I was also looking for an auto javadoc tool for eclipse and found one called JAutodoc.
This tool generates comments pretty well and requires only minor changes manually in some places (if you require). In my opinion, this tool can save approximately 75% of the time spent in writing comments.
You may visit here for detailed instructions on downloading and integrating it with eclipse.