29

I have some method:

public int getSomeField()

I want to generate javadoc like this:

/**
* Gets {someField}
*
* @return value of {someField}
*/

Where {someField} is placeholder for field name. It is possible to create this templates for Intellij Idea (may be as live template)?

Cherry
  • 31,309
  • 66
  • 224
  • 364

7 Answers7

35

Bring up the Generate menu (Cmd+N on Mac, Alt+Insert on Windows)

Generate menu

Click the ellipsis in the top right hand corner.

Generate Getters menu

Click the plus in the top left corner and create a new template. Create new template dialog

Copy the contents of the old template into the new template and add the following lines to the top of it.

/**
* Gets $field.name
*
* @return value of $field.name
*/

enter image description here

Now when you generate the getter use the 'New Template' and you should get your getter with the JavaDoc.

Select New Template

enter image description here

Max
  • 2,036
  • 2
  • 18
  • 27
Will Humphreys
  • 2,677
  • 3
  • 25
  • 26
11

You generate Javadoc by placing the caret above the method. Then you type /** and press Enter.

Unfortunately the template can't be changed and there is a request for that: http://youtrack.jetbrains.net/issue/IDEA-28206

maba
  • 47,113
  • 10
  • 108
  • 118
9

This will get you most of the way there.

File | Settings... | Live Templates

Press the green plus to add a new custom template.

Abbrevation: getter

Template text:

/**
 * Gets $FIELD$
 *
 * @return value of $FIELD$
 */
public $RET$ get$FIELD$()
{
    $END$
}

Applicable in Java: declaration.

Type getter where you would a method and tab complete.

The only shortcoming is I don't know how to make the first character of $FIELD$ capitalized in get$FIELD$ but none of the other locations.

Here is an image for reference:

IntelliJ Template "getter"

kuporific
  • 10,053
  • 3
  • 42
  • 46
3

If you want to generate the JavaDoc after the method was written (using /**), there is currently no way to customize this. Vote for issue IDEA-97658: Edit template for javadoc stub if you'd like to see this implemented.

Sebastian
  • 503
  • 5
  • 11
0

Surely you can add a live template for such javadoc. The easiest way to do it is to select the whole comment and invoke "Save as live template" action (Tools menu). See http://www.jetbrains.com/phpstorm/webhelp/creating-and-editing-live-templates.html for more details.

Peter Gromov
  • 17,615
  • 7
  • 49
  • 35
0

I tried the methodName() expression, but this only works while inside a method, you want the method outside of it, in the javadoc.

Steef
  • 569
  • 5
  • 21
0

For completeness, to change the setter template in a similar fashion you can add this:

/**
 * Sets $field.name
 *
 * @param $paramName value of $field.name
 */

after the #set($paramName = $helper.getParamName($field, $project)) line.

This will take into account the potential parameter prefix/suffix rules from the project config.