IntelliJ IDEA Productivity Enhancements: Essential Plugins, Live Templates, and Configuration Tips
Recommended Plugins
Plugins can be installed directly through the Settings panel by searching the marketplace, or by manually importing plugin packages downloaded from the JetBrains repository.
Chinese (Simplified) Language Pack
This plugin localizes the IntelliJ IDEA interface into simplified Chinese, making the IDE more accessible for native speakers.
CamelCase
A utility for quickly converting between naming conventions. It allows developers to toggle between styles such as snake_case (my_variable) and camelCase (myVariable) with a simple shortcut, ensuring consistent code style across projects.
Configuration Settings for Better Experience
Enable Multi-line Editor Tabs
By default, IntelliJ IDEA displays editor tabs in a single row. When working with numerous files simultaneously, tabs overflow and become difficult to navigate. Enabling multi-line tabs improves file visibility significantly.
Navigate to Settings > Editor > General > Editor Tabs and configure the tab placement to show multiple lines. This prevents the need to scroll through tabs horizontally and provides a comprehensive overview of all open files.
Visualize Whitespace Characters
Distinguishing between spaces and tab characters is difficult in the default configuration. Enable whitespace visualization by going to Settings > Editor > General > Appearance and checking the options to show whitespaces. This is particularly useful when working on projects with strict formatting requirements.
Custom TODO Highlighting
Standard TODO comments blend into code and can be easily overlooked during development. Configuring custom TODO patterns with distinctive colors makes pending tasks more visible.
// FIXME: Critical bug that needs immediate attention
// HACK: Temporary workaround requiring future refactoringIn Settings > Editor > TODO, add new patterns with unique color schemes. Assign high-contrast colors to urgent markers like FIXME or custom tags specific to your workflow. This ensures critical items stand out in the TODO tool window.
Custom Keyboard Shortcuts
Split Editor Tab Shortcut
Comparing code between files often requires splitting the editor. Instead of right-clicking tabs and selecting "Split Right," assign a direct shortcut for faster access.
Go to Settings > Keymap and search for "Split Right." Assign a convenient key combination such as Alt + R to streamline the splitting process.
Efficiency Boosters with Live Templates
Live templates reduce repetitive typing by expanding abbreviations into full code blocks. IntelliJ IDEA provides built-in template variables that enhance customization:
$END$: Defines cursor position after template expansion$SELECTION$: Used in surround templates for wrapping selected code
MyBatis XML Code Completion
List Iteration Template:
<if test="${collectionName} != null and ${collectionName}.size() > 0">
AND ${column} IN
<foreach collection="${collectionName}" item="element" open="(" close=")" separator=",">
#{element}
</foreach>
</if>String Parameter Validation:
<if test="${paramName} != null and ${paramName} != ''">
AND ${column} = #{${paramName}}
</if>Java Stream Operations
Stream operations are frequently used in modern Java development. Create templates for common stream patterns:
${sourceList}.stream().map(${className}::${getterMethod}).collect(Collectors.toList())Configure the variables using expressions like complete() and typeParameterOf() for intelligent code completion.
Structured Logging Template
For consistent log formatting with context information:
log.info("${contextMarker}#{}#{}#{}", this.getClass().getSimpleName(), Thread.currentThread().getStackTrace()[1].getMethodName(), ${selectedVariable});This template automatically inserts class and method names, making log searching and debugging more efficient.
Asynchronous Thread Pool Execution
Wrap code blocks for asynchronous execution:
${executorService}.execute(() -> {
${selectedCode}
});Interface Method Declaration
Quickly generate interface method signatures from implementations:
${methodName}(${parameters});Configure ${methodName} with the methodName() expression to automatically capture the method name.
Column Selection Mode
Column selection enables vertical text editing across multiple lines, essential for bulk modifications with regular patterns.
Activation methods:
Ctrl + Shift + Clickfor column selection- Mouse wheel button drag
Ctrl + Shift + Alt + Jto select all occurrences
Use case: When mapping Excel columns to entity properties using annotations like @ExcelProperty, column selection allows rapid sequential numbering across multiple fields simultaneously.
Troubleshooting Common Issues
Keyboard Shortcut Conflicts
Shortcuts may stop working due to conflicts with system applications or input methods.
Common culprit: Input method editors often override shortcuts. For example, Ctrl + Shift + F (Find in Files) frequently conflicts with Chinese input method's simplified/traditional character toggle.
Solution: Navigate to the input method settings and disable or reassign the conflicting shortcut.