Boost Your Java Productivity with IntelliJ Live Templates: A Complete Guide
This article explains what IntelliJ Live Templates are, how they work, and provides a step‑by‑step guide with common built‑in templates, custom template creation, surrounding templates, and variable usage to dramatically speed up repetitive Java coding tasks.
Live Templates are a feature in IntelliJ IDEA that lets you insert predefined code snippets by typing short abbreviations, optionally with context‑aware variables, to reduce repetitive typing and improve development efficiency.
For example, typing psfs and pressing Enter expands to public static final String, saving you from manually typing the full declaration.
Common Live Templates
main and psvm
Insert a main method quickly.
public static void main(String[] args) {
}Variable Declarations
psfs
public static final Stringpsfi
public static final intprsf
private static finalSt
StringConsole Output
sout
Print a line to the console.
System.out.println();souf
Print formatted text.
System.out.printf();Loop Iteration
fori
Creates a for‑loop with the cursor positioned at the condition.
for (int i = 0; i < ; i++) {
}iter
Iterates over a collection with a for‑each loop.
List<String> array = new ArrayList<>();
for (String s1 : array) {
}itco
Iterates using an iterator.
List<String> array = new ArrayList<>();
for (Iterator<String> iterator = array.iterator(); iterator.hasNext(); ) {
String next = iterator.next();
}Surround Templates
After selecting code, press option + command + j (Mac) or use the Code → Surround With menu (Windows) to wrap the selection with a template such as a Callable implementation or read/write lock handling.
Custom Templates
You can create your own templates for frequently used code, such as a StopWatch timing snippet, by opening Settings → Editor → Live Templates → Java, clicking the plus sign, and defining the abbreviation, description, and template text with placeholders like $MESSAGE$ and $SELECTION$.
StopWatch stopWatch = new StopWatch("$MESSAGE$");
stopWatch.start();
$SELECTION$
stopWatch.stop();
System.out.printf("Execution time %s%n", stopWatch.toString());When the template is expanded, the cursor lands on $MESSAGE$ for you to customize the label, and the selected code is inserted at $SELECTION$.
Supported Template Variables
Live Templates can include context variables such as $CLASS_NAME$ and $METHOD_NAME$ to automatically insert the current class or method name. For example, the built‑in soutm template expands to:
System.out.println("$CLASS_NAME$.$METHOD_NAME$");Refer to the official IntelliJ documentation for a full list of predefined variables and functions.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
macrozheng
Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
