How to generate a void method in IntelliJ IDEA?
In Eclipse, when I type main
ctr+space, it will generate a static void main
method for me. And when I type methodName
ctr+space, smart code completion will suggest generating the method named methodName
.
How can I auto-generate a void method in IntelliJ?
To create a new method from usage in the code like:
...
someMethodName()
...
AltEnter on the red code:
It's also possible to type void methodName()
and use Complete Statement (CtrlShiftEnter), it will become:
void methodName() {
|
}
You could create your own Live Template as @Makoto answered, but programming by intention seems to be more natural. When you don't have a method, you write code that will use it, then create the method from the intention action - this way IDEA will generate the method signature automatically according to the parameters and return type in the not yet existing method usage, like String result = someMethod(stringParam);
.
Finally, it is worth nothing that in IntelliJ IDEA main()
method can be generated using psvm
Tab.
IntelliJ IDEA 15
Generate a main
method
-
Default:
Type
psvm
(public static void main) > press Tab -
Use the template from Eclipse (
main
instead ofpsvm
)-
File > Settings or press Ctrl + Alt + S
-
Editor > Live Templates
-
From the right side, click on the "+" sign > Live Template
-
Add the following details:
- Abbreviation:
main
- Description:
main() method declaration
-
Template text:
public static void main(String[] args){ $END$ }
You will see the new template added in Others.
- Abbreviation:
-
Click on Define
-
Select Java > Press on OK
Type
main
in your Java code > press Tab
-
Generate a void
method
-
Type your method name followed by parentheses (+ the arguments, if you use them) - E.g.:
m()
orm(1,2)
> Press Alt + Enter > Click on "Create method ..." (or press Enter if it is already selected)
Type the abbreviation of the main() method template:
Press the template invocation key. By default, it is Tab. The abbreviation expands to the main() method.
IntelliJ makes use of Live Templates to do its code completion. It's then a matter of deciding what shorthand name you wish to use to name your void method.
Here's an example. Create a live template in Settings > Live Templates, then select the "Other" box. Hit the + on the right, then give your template a shorthand keystroke name.
Here's the one that I typed up. With the two different variables $NAME$
and $ARGS$
, I can tab between them when I need to fill them in. $END$
is where the cursor ends when I'm done tabbing through the other two variables.
void $NAME$ ($ARGS$) {
$END$
}
The shorthand name I used is pmeth
. So, every time I type pmeth
into IntelliJ in a Java file, then hit Tab, this method is filled in, and my cursor automatically starts at $NAME$
.