153 plugins in category «Code editing»


  • Append Class Name at each end of the declared var name(s)
  • 声明的变量名称后追加类型词尾,避免(尤其是Android开发中)声明的view变量名带大量类型简写的丑陋规则

private static ListView _test
then press shortcut key (default is "ALT+C"),you will get
private static ListView _testListView

eg2:(move the caret to current code line)

private Map<String,Object> aa,bb,cc;
press shortcut key (default is "ALT+ B"),then you will get
private Map<String,Object> aaMap,bbMap,ccMap;


activate-power-mode for IDEA.
  • 根据Atom的插件activate-power-mode的效果移植到IDEA上

Android Preioc Plugin

Plugin for generating PreIOC injections from selected layout XMLs in activities/fragments/adapters.

Android Property Initializer

This plugin helps you to generate dumb android specific code.
  • InjectViews
Please feel free to contact me and ask any questions or suggest some features.

Android Resource Type Organiser

Organise @id resource type in layout xml properly.

Angular 2 TypeScript Live Templates

Angular 2 TypeScript Live Templates

Angular Material 2, Flex layout 1, Teradata Covalent 1 & Material icon live templates

Angular Material 2, Flex layout 1, Teradata Covalent 1 & Material icon live templates

Documentation can be found here

Have a problem, raise an issue here

Follow us on Twitter: @1tontech

Angular Templates

Adds a bunch of live templates for different angular snippets. They are all grouped inside Angular Template group.

Apache Camel IDEA Plugin

Plugin for Intellij IDEA to provide a set of small Apache Camel related capabilities to the code editor. The plugin includes:
  • Code completion for Camel endpoints in Java, Groovy, Kotlin, Scala, XML, properties or yaml files (ctrl + space)
  • Code completion for Camel property placeholders (cursor after {{)
  • Endpoint options filtered to only include applicable options when used as consumer vs producer only mode
  • Quick navigation to other Camel routes routing to this route by clicking the Camel icon in the gutter
  • Intention to add new Camel endpoint (alt + enter in empty string)
  • Quick documentation for Camel endpoints and external link to Camel component opening in web browser (ctrl + j and shift-F1)
  • Show endpoint information in tooltip when hovering mouse over from/to etc in Java route builders
  • Supports 3rd party Camel components (if they have been properly built with Camel JSon schema metadata)
  • Attempts to use same version as camel-core dependency from the loaded project (may require download over internet)
  • Real time validation for Camel endpoints in Java, Groovy, Kotlin, Scala, XML (underline errors in red)
  • Real time validation for Camel simple language in Java, XML and Groovy (underline errors in red)
  • Inspection (analyze code) to validate Camel endpoints and Simple language in Java, Groovy, Kotlin, Scala, and XML
  • Preference page to customize property ignore list from property completion
  • Preference page to exclude property/yml files from property completion
  • Supports Maven, Gradle, and SBT based projects

Append String


Assert Deluxe

AssertDeluxe is a plugin for IntelliJ IDEA that simplifies creation of custom assertion classes in Java. Let's say you have a simple POJO called Person. With AssertDeluxe you can press ALT+Insert to generate Custom Assertion Class to have nice and easy to read assertions in your tests.

So instead to write assertions like:


you can write:


Auto filling Java call arguments

In source code, create a method or constructor call and place the cursor into the empty braces. Open the intentions drop down menu and select the "Auto fill call parameters"


Auto-Align allows you to align your code with a pretty print alignment


var hi={
  field : 'val',
  heel: 'red'
var hi    = {
  field    : 'val',
  heel     : 'red'


Auto-completes nasty long constructors which would otherwise require digging through javadocs

Bootstrap 4 & Font awesome

Bootstrap 4 & Font awesome live templates/snippets

Documentation can be found here

Release notes can be found here

Have a problem, raise an issue here

Follow me on Twitter: @thekalinga


Intellij Idea plugin to generate Java Builder for a class.
Alt + Insert -> Generate Builder...

Builder Deluxe

BuilderDeluxe is a plugin for IntelliJ IDEA that automates creation of builder classes for POJOs. Let's say you have a class Person with fields age, firstName and lastName. With BuilderDeluxe you can press ALT+Insert to generate builder class and use it that way:

Person person = person().withFirstName("John").withLastName("Doe").withAge(42).build();

Builder plugin

Generates a static nested Builder for a class.


Switch easily between CamelCase, camelCase, snake_case and SNAKE_CASE. See Edit menu or use SHIFT + ALT + U.

Check My Vars

Generate code according to Annotation

Configure template to generate code depending on annotation and type of parameter.
For example, code like:
public void minMaxNumber(@MinMax(min = 1, max = 5)int nb) {

Can generate this:
public void minMaxNumber(@MinMax(min = 1, max = 5)int nb) {
if (nb < 1 || nb > 5) {
throw new IllegalArgumentException("nb value must be between 1 and 5 (inclusive)");

Action is available under "Generate..." menu.
On first use, the plugin will ask you to generate a sample if it found nothing to generate.

Future release will include a support for javadoc tag as an alternative to Annotation, so JDK 1.4 or earlier users can use this plugin


Automatically insert whitespace between CJK (Chinese, Japanese, Korean), half-width English, digit and symbol characters.

1.Shortcut Key:Ctrl + Shift + Y(Windows/Linux)、Command + Shift + Y(Mac)
2.Toolbar:Code -- ChineseTypography

我常用 IntelliJ IDEA 进行写作,开发此插件可以快速对文章内容的中文、英文、符号之间增加空格,增加文章可读性。

方法一:选中内容,按快捷键:Ctrl + Shift + Y(Windows/Linux)、Command + Shift + Y(Mac)
方法二:选中内容,点击工具栏:Code -- ChineseTypography

Github 项目地址: https://github.com/judasn/ChineseTypography-IDEA-Plugin

Clojure Pretty Symbol

Pretty symbols for your Clojure development with IntelliJ IDEA-based IDEs


By dubik
CodeCompletionLive cycles through several completions. By default it is binded to Ctrl-Shift-Alt-U but it's better to rebind it to for example Ctrl-Space. To do that open Keymap from Settings, under Plug-ins - CodeCompletionLive you will see one action CodeCompletionLiveAction, bind it to a new shortcut. First it checks Smart Code Completion (Ctrl-Shift-Space) if no suggestion available it checks Basic Code Completion (Ctrl-Space) if still IDEA could find anything it triggers Class Name Completion (Ctrl-Alt-Space).


Allows locking of classes, methods and regions of code to protect improtant parts of the code from accidental change

CodeLock 1.2

Updated version of codelock by Gil Tzadikevitch (updated with Gil's permission) which runs with Intellij IDEA 12. Allows locking of classes, methods and regions of code to protect important parts of the code from accidental change. Removed unused CodeGraph dependencies and updated API calls to make it work with the latest versions of Intellij products.

Codic Plugin

codic plugin for the IntelliJ platform products
This plugin automatically generates (translate Japanese to English) naming using codic API.


Commenting (Ctrl-/, Ctrl-Shift-/) in custom file types (e.g. properties, rb, cs, bat, sh, pl, py, cpp, vm, sql).

Comparison chain generator

By yole
Enter short description for your plugin here.
most HTML tags may be used

Comparison chain generator

Enter short description for your plugin here.
most HTML tags may be used

CoolSharp Code Section Generator

This plugin is a section of code automatically makes the source code.
// [final/static_property]====================[START]===================[final/static_property]
// [final/static_property]=====================[END]====================[final/static_property]
// [private/protected/public_property]========[START]=======[private/protected/public_property]
// [private/protected/public_property]=========[END]========[private/protected/public_property]
// [interface/enum/inner_class]===============[START]==============[interface/enum/inner_class]
// [interface/enum/inner_class]================[END]===============[interface/enum/inner_class]
// [inherited/listener_method]================[START]===============[inherited/listener_method]
// [inherited/listener_method]=================[END]================[inherited/listener_method]
// [life_cycle_method]========================[START]=======================[life_cycle_method]
// [life_cycle_method]=========================[END]========================[life_cycle_method]
// [private_method]===========================[START]==========================[private_method]
// [private_method]============================[END]===========================[private_method]
// [public_method]============================[START]===========================[public_method]
// [public_method]=============================[END]============================[public_method]
// [get/set]==================================[START]=================================[get/set]
// [get/set]===================================[END]==================================[get/set]
For more details, look at the repo on GitHub

Course Hero Helper Plugin

Code Generation:
- Service Injector: Inject Symfony2 services via annotations (@InjectParams)
- Service Test Generator: Generate test skeleton for Symfony2 services
- API Doc adder: Add API docs quickly


Adds option for a JSONObject and Cursor constructor.
You can choose JSONObject Constructor from the Generate(Alt+insert) menu
Constructor is only supporting the basic data types and Strings in this version

Dashboard Integration Plugin

Generating log step/verify based on test information from Dashboard.

Databinding Support

Intellij plugin that support Android Data Binding Library. This plugin has following features:
  • Convert non-databinding layout to databinding layout
  • Add data tag
  • Add import tag
  • Add variable tag
  • Wrap with @{}
  • Wrap with @={}
  • Switch between @{} and @={}
  • Jump from a class to layouts that the instance is binded


Send events to the Deckard app. Deckard will show useful information and pointers while you are working.


1. Inside your IDE, select Preferences -> Plugins -> Browse Repositories....

2. Search for deckard.

3. Click the green Install Plugin button and confirm the installation.

4. Re-launch your IDE.

5. Start the Deckard app from deckard.ai.

6. Double-click on code, or use Cmd+D or Ctrl-D to refresh the content shown in Deckard.

7. Switch to Deckard with Cmd+Tab or Alt-Tab, and click on links, or use the up and down arrows to navigate easily around your project.


Plugins contains several tools related to working with class declarations. I hope you find these tools useful. They are:
  • Add Super - an intention in Declaration section that allows to add super class (or super interface) to existing class or interface. Along with extension, an appropriate editor action exists too (invoked via ALT-I in default keymap).
  • New Java Type - editor action that allows quickly create new top-level Java type (class, interface, annotation or enum) directly working in editor (via ALT-N in default keymap). Action lets you specify name of type as well as package whether that class should be located (by default, package of currently open file is used).
  • Implement/Override - a small tool that allows to implement AND override methods from super classes/interfaces via single action - (invoked via ALT-M in default keymap) Actually, I never could understand why IDEA treats these operations as different ones. This tools works similarly to built-in "Override Methods" and "Implement methods", except that in the list it shows all methods that may be overriden and implemented. Also, this tool allows you to filter list to view only abstract methods.


The plug-in Equalizer is intended for making your code more beautiful and readable via equalizing lines which contains '='.

Djaneiro for PyCharm

This was originally a pure port of the Djaneiro plugin for Sublime Text, but new features have been added not found in the original plugin.

It's a collection of live templates for common patterns encountered when building Django applications (with a couple generic python uses) specifically useful for models, forms, widgets, views, and templates.

For example, the following expansions for models and forms can be made:

    mchar<TAB--> $FIELDNAME$ = models.CharField($name$ , max_length=50)$END$
    fchar<TAB--> $FIELDNAME$ = forms.CharField($ARGS$)$END$

Where each variable between dollar signs($) (e.g., $FIELDNAME$, $NAME$, etc) is a stopping point for the cursor each time enter is pressed.

The abbreviations generally adhere to the following conventions:

  • Model field templates are prefixed by 'm' with the exception of `fk`, `m2m`, and `o2o` fields
  • Form field templates are prefixed by 'f'
  • Widgets are prefixed by 'w'
  • Settings are prefixed by 's'
  • Template templates have no prefix, nor do generic python templates

For a full listing of the abbreviations, see the github repo: https://github.com/brmc/pycharm-djaneiro/tree/master/docs

DolphinPlattform Intellij Plugin

Delivers a Getter-/ Setter-Provider for DolphinPlattform Properties and ObservableLists

Dto-Wrapper-Builder Generator

This plugin generates builder, dtos or special wrappers for given interfaces or classes.


Intellij/Phpstorm PHP plugin to allow a dynamic return type from ALL method/function calls, not just static methods.
It can use either the instance type of the passed parameter, string lookup or ::class. It can also use masking and custom javascript callbacks to massage the return type to enable aliasing.
Internal signature resolution has been completely reworked to allow better chaining/stability of results. It should also play nicely with other plugin service providers etc. It can be configured for :
  • Instance method calls
  • Static method calls
  • Function calls
Full documentation with examples on github page for custom manipulation with rhino javascript versus the old mask methodology can be found here :-

Demo environment which is used to verify edge case are catered for ( example dynamicReturnTypeMeta.json etc. ) can be found here :-

Accepts the following to calculate return type
  • Parameter object instance( eg. new \DOMDocument() as a parameter instance value will infer a
    DOMDocument will be returned )
  • Parameter string type ( eg. '\DOMDocument' as a parameter string value will infer a DOMDocument
    will be returned )
  • Class constants that resolve to __CLASS__ will resolve similar to the ::class feature in 5.5 behaves.
Configuration Example dynamicReturnTypeMeta.json configuration in project root
"methodCalls": [
"class": "\\Phockito",
"method": "mock",
"position": 0
"class": "\\Phockito",
"method": "verify",
"position": 0
"class": "\\Phockito",
"method": "maskExample",
"position": 0
"mask": "Test%sModel"
"functionCalls": [
"function": "\\verify",
"position": 0
"function": "\\mock",
"position": 0
"function": "\\maskExample",
"position": 0
"mask": "Test%sModel"

Position is the parameter index to infer the return type from.
Classes and function names must be fully qualified with a leading \ as per example.
Static method calls should behave the same as instance calls.

Eclipse Actions

By dgt79
Plugin that offers some actions as Eclipse IDE does.


Tab in intellij with the same behavior as in eclipse
most HTML tags may be used


eddy helps write code. If you make mistakes, eddy will try to understand you anyway and propose proper Java. If eddy isn't sure what you meant, it'll show you options.

For examples of what eddy can do, see the instructions page. To report an issue, use the issue tracker or ask a question on the mailing list.

Eddy is open source and provided under the terms of the simplified BSD license. You can check out the code and contribute to our github repository.

Emoji Support Plugin

Intellij plugin for supporting auto-complete for Emoji. This plugin heavily rely on emoji-cheat-sheet.com

Enclosing Plugin

Plugin for enclosing selection with specified character (NetBeans analog)
Characters used for enclosing ', ", (, {, [, `.

Change notes

  • Support multi-caret mode
  • Plugin does not work in "Column selection mode".
  • Compatible with other JetBrains products


Enforces bracket newline style as you type.

Escape String to Unicode

Escapes selected strings to unicode

Extended Code Sense

Provides some platform code-sense functionality enhancements.

Field Constant Generator for DB

Generate field constant string for db query.
save your time

Fields to Enumeration Generator

This plugin will generate an inner enumeration to reflect all available fields. Just use "ALT + INSERT" and select "Generate Property Enums"

  • This is related to the project moprhium [https://github.com/sboesebeck/morphium] the caching mongodb POJO Object Mapper. When querying mongodb, you usually need to define the field you are looking for as string - which kind of breaks the whole abstraction.
    • Original Author is Stephan Bösebeck (sboesebeck)
      Publisher is Daniel Merwin (Free Universe Games)

File Template Variables

This plugins allow to specify or override any variables in the File Template functionality per Project

Finder Restarter

Plugin that restarts Finder every time Idea gains focus(to fix Smart code completion)

Fold Other Methods

The plugin provides an action to fold all the methods but the current one.


Generating class fields and methods by custom templates for selected fields.
With this plugin you can create your own "Generate Action" (Alt+Insert) (e.g. like standart Getter/Setter generation).
Code will be generated by your own predefined template for this action.
You can create any number of actions.
Supported features:
  • Can be added custom generate-actions.
  • Generate fields by custom templates.
  • Generate methods by custom templates.
  • Generate getter-method if it need for your template.
  • Specifying generation template with vars from selected field context.

Default shortcuts:
  • Code -> Generate (Alt + Insert) -> [YourAction] - Generate fields and methods by template specified for selected action
  • Settings Menu (Ctrl+Alt+S) -> FuGen - Plugin properties

Please note: This plugin is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

Galen Specs Language Support

This plugin enables smart editing of Galen Specs Language files.


Plugin for generating javadoc comments for setters and getters, with the common generating dialog behavior. Templates can changed in the IDE settings menu under JavaDoc Generator. The template syntax is based on velocity.

Generate toMap

Generate toMap method


helps you to create Fluent Interface property accessor methods.


By Roar

Adds an option to generate a copy constructor to the generate menu (alt + ins).

The action will generate a copy constructor taking an instance of the same class and copying over every field. If there is a copy constructor available in the superclass it will be called as well.

Also adds a number of inspections that generate warnings if a copy constructor might be faulty (e.g. not all fields copied or superclass constructor not invoked).


By jowan
Can input, can be selected to auto generator findViewById code in Activity or etc, support ButterKnife(version 8.4.0), support ViewHolder.


Adds a new menu Generate Properties in the generate menu (alt + ins) to generate getter, setter and property name constants of fields. See https://github.com/thomedw/genprop

GivWenZen Plugin

Plugin for IntelliJ that provides support for legacy library: GivWenZen

Global File Template Variables

This plugins allow to specify or override any variables in the File Template functionality per Project

Go to layout xml

This plugin parses your android file (Activity or Fragment) to navigate to the corresponding inflated layout xml file

Gradle Dependencies Helper

library is searched in Smart Code Completion by Maven repository


Plugin for transformation accidentally copy&paste dependencies

Groovy Method Completion

This plugin lets you auto complete your super classes method declarations in Groovy language as well as quickly create Getter and Setters for their fields.

Guava equals, hashCode and toString generator

Generates equals and hashCode, as well as toString, utilising the Guava libraries
ALT+INSERT : equals & hashCode and toString options will be shown.

Given a class with the following fields:
private int field1;
private String field2;
private long field3;

The following methods would be generated:

public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    TestHarness that = (TestHarness) o;

    return Objects.equal(this.field1, that.field1) &&
            Objects.equal(this.field2, that.field2) &&
            Objects.equal(this.field3, that.field3);

public int hashCode() {
    return Objects.hashCode(field1, field2, field3);

public String toString() {
    return Objects.toStringHelper(this)
            .add("field1", field1)
            .add("field2", field2)
            .add("field3", field3)

Hakuna Matata Postfix Completion

By m3n0R
The main purpose of the plugin is adding postfix completion and live templates we can use in our day to day development.

Available live templates:
  • prsf – Inserts ''private static final'' statement –
  • prsfi – Inserts ''private static final int'' statement –
  • prsfs – Inserts ''private static final String'' statement –
  • ifElse – Inserts ''if else'' statement –
  • time – Inserts ''Timber.e(exception, String)'' statement –
  • timd – Inserts ''Timber.d(String)'' statement –
  • timv – Inserts ''Timber.v(String)'' statement –
  • timm – Inserts ''Log method name and its arguments'' statement –
  • timw – Inserts ''Timber.w(Exception, String)'' statement –
  • timi – Inserts ''Timber.i(String)'' statement –
  • timr – Inserts ''Log result of this method'' statement –
  • timwtf – Inserts '' Timber.wtf(Exception, String)'' statement –

Available postfix completion templates:
  • .emptyCheck
  • .newInstanceWithAssignment
  • .newInstanceReplacement
  • .ifElse
  • .assertEquals
  • .assertNotEquals
  • .assertSame
  • .assertNotSame
  • .assertThat
  • .assertTrue
  • .assertFalse
  • .whenThen
  • .whenThenCallRealMethod
  • .whenThenAnswer
  • .whenThenReturn
  • .whenThenThrow
  • .verify
  • .verifyNoMoreInteractions
  • .verifyZeroInteractions
  • .doNothingWhen
  • .doReturnWhen
  • .doThrowWhen
  • .mock

Do you want more information about the live templates and postfix completions included in the plugin?
Have a look to the repository's README file


This plugin converts xml layouts and java classes into a compatible format to enable harply integration
Any nested layout with include tag is currently not supported

Haskell Conceal

Make your haskell code more readable with IntelliJ IDEA-based IDEs

Hide Tool Windows Ex

This plugin adds the functionality to hide tool windows when the developer start typing. It has the same functionality to hide (all/side) tool windows including restorin the windows.

Hungry Backspace Reloaded

Modifies BackSpace key to hungrily delete whitespace.
Updated version of https://plugins.jetbrains.com/plugin/162


Plugin for generating Javadoc for getters, setters, default constructors, private default constructors and overriding classes. Javadoc generation is based on templates, which you can freely adapt to suit your preferences.

Inc Dec Value

Increment and decrement numbers (integer and floating point) and string casing (upper, lower, capitalize).


Inject LOG_TAG Plugin

Generate LOG_TAG field to use for android.util.Log.

Injection for AppCode

Dynamic Objective-C Code Injection for App Code.
Requires Injection for Xcode plugin to work.


Adds a Builder action to the Generate menu (Alt+Insert) which generates an inner builder class as described in Effective Java

Input Language Locker

Blocks unwanted input language changes while working in IDEs WARNING: Only for Windows!

Insert Final Modifier

Insert final modifier automatically based on Code style issues inspection of Intellij

IntelliJ Oracle WebCenter Sites Plugin

This is a UNOFFICIAL Oracle WebCenter Sites 11g plugin for IntelliJ .
This is still an alpha version


Plug-in that transforms Java strings with constant values to SQL text and replaces constants with their values. Just put cursor to the SQL string in your code and press the button in the plugin window > SQL is ready to use: [[ int value = 1; String sql = "select " + value + " from dual"; ]] >> Plugin >> select 1 from dual

Java8 Generators

Enhanced Java toString(), hashcode() and equals() methods generator. Java 8 native features are used. No additional dependencies.

JavaDoc Editor

JavaDoc Editor

Javadoc Helper

Provide following actions:

  • Set configurable javadoc class tags (like @version $Id$)
  • Add @Override tag to method which overrides
  • Add {@inherited} on javadoc method or remove javadoc which is same as parent

Actions are available under Editor popup menu, Project popup and Edit menu.
You can right-clic on a folder to launch an action recursively.

Look at plugin "JavaDoc Sync Plugin" for others actions related to javadoc

Javadoc Utility

This simple plugin provides the following javadoc features:
  • Generating getters and setters with javadoc (rus/eng) (press ALT+G).
  • Add @inheritDoc tag to the method which overrides (press ALT+I).
All plugin features are available in the generate menu.

Jindent - Source Code Formatter

Jindent is a powerful source code formatter for Java which empowers you to transform any foreign Java source code to meet your preferred coding style or any common Java code convention. Furthermore Jindent can format, generate and complete Javadoc comments on demand.


Sorters for javascript.

Find the options under the Code Menu.
  • Sort js imports
  • Sort selected lines
  • Sort switch cases

Jump Source Spec

Easy to swap between source and test file.


Left or right justify columns of selected text. This makes it easy to format repetitive lines of code into easy to read tables. This only works when indenting with spaces, not tabs.

To use:

  1. Select a rectangular block of text (alt-click and drag)
  2. Choose Left Justify under the Edit menu. All the whitespace on the left is moved to the right.
  3. Choose Right Justify under the Edit menu. All the whitespace on the right is moved to the left.

KonaWorks PowerPack

A pack with the following tools:

  • Group Modules (Project View) - Group some or all of your modules easily by: type, parent directory, name prefix/xuffix, DevKit (JDK/SDK), VCS type or language level
  • Array Indexer (Editor) - Show 'array element index' hint (Alt+mouse over).
  • Editor Gutter Context Menu (Editor) - menu for Editor with several actions available.
  • Insert Into (Editor) - A new code action to easily insert an expression inside a string literal (Ctrl+Alt+Insert).
  • Javadoc Roots (Navigation) - Easily navigate to any of the Javadoc roots available to your project (Shift+Ctrl+F1).
  • Tool Windows (Navigation) - 'Jump to ToolWindow...' popup (Alt+F12).
  • Open Editors (Navigation) - 'View Open Editors' popup (Ctrl+Shift+E).
  • CVS Log inspections (Inspections) - Reports files that contain CVS Log keywords

Legacy API hider

This plugin completely hides deprecated items from completion list.


Lineage: High Powered Class Creation
* Use Lineage to extend and implement classes and interfaces much faster and with more flexibility by invoking an intention or using a keyboard shortcut.
* Lineage replaces the Create from Usage quick fixes with its own, so you can specify visibility, abstractness and location faster and easier.
* Paste classes into your project structure from examples found on the web or other external source files.
* The standard Create Class functionality has been expanded and improved.
* Extended Highlight Usages: Invoke it on an import keyword to see where in the file import statements are used.

All features are accessible via the keyboard.

List Path

Show the list of the path items in the String and insert when enter pressed. i.e show "/home" folder content. press CTRL L + CTRL P

LiveTemplate ScriptEngine Macro

A plugin for enhanced live template scripting support. Check out the GitHub repository and wiki for more information and usage instructions.

Mac's Code Generation And Action Plugin

This plugin was written to try to add a few bells and whistles to IntelliJ that are conducive to laziness and good coding style.
More information can be found here: https://github.com/champgm/IntelliJCodeGenerationPlugin/blob/master/README.md

Makefile support

Support for UNIX Makefiles

Math folding

Folds Math static methods into mathematical symbols.

  • Math.sqrt(4) into √4
  • Math.pow(4 - 10, 3) into (4 - 10)³
  • Math.sqrt(Math.abs(10 - a) + Math.cbrt(5 + Math.pow(5, 3))) into √(|10 - a| + ∛(5 + 5³))

Minimal Cake Pattern Generator

Generate boilerplate of Minimal-Cake-Pattern.

Modifier Modifier Plugin

Allows you to quickly change the modifiers (static, final, etc.) of one or more fields, methods, variables, and classes using hotkeys.

Provides hotkeys for toggling each Java modifier for the current method, field, variable, or class, as well as for cycling through private, default, protected, and public.


Structure aware (PSI API) element moving.


MVP classes generator

This plugin generates required presenter and view classes for a Fragment or Activity easing the burden to create those classes manually.


Following classes are required for the generated classes to have correct inheritance. It's in pipeline to auto generate these files also, if not found. You can specify your own names for the following required Base classes and interfaces using the Settings icon.

  • For New Fragment :
    • Scene - common interface for all fragments
    • Presenter - common interface for all Fragment Presenters.
    • BaseFragment - abstract base Fragment class which every fragment will inherit from.
    • BasePresenterImpl implements FragmentPresenter - base abstract class from which all Fragment Presenters will inherit.
  • For New Activity :
    • ActivityScene - interface for all activities.
    • ActivityPresenter - common interface for all Activity Presenter.
    • BaseActivity - abstract base class for all activities.
    • BaseActivityPresenterImpl implements ActivityPresenter - Base Abstract implementation of Activity Presenter which all Activity Presenters will subclass.

How to use?
  • From inside of any Activity or Fragment open generate menu(ALT + INSERT, CMD/CTRL + N).
  • Choose create mvp option.
  • Select the appropriate packages for the API and Implementation Generation.
  • Press OK, voila! your files are generated.


A plugin that helps you to create classes and interfaces for MVP. Click 'Generate' --> 'Mvp Helper' in Contract or Presenter class. For more detail see the link below.

Notation Converter

Plugin adds ability to convert the selected name between camel case (used in field's names) and uppercase underscore (used in constant's names). Works similar to 'Toggle case' action. E.g. 'MY_NAME' -> 'myName'. Usage:
  • ALT+SHIFT+U on a name (shortcut).
  • Edit -> Camel Case / Underscore Conversion (from Edit menu).

Old Town Workflow Plugin

Plugin for OldTown Workflow

Options completion plugin

By woru
Options completion plugin
Parses phpDocumentor's hash description (https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md#7-describing-hashes) and shows supported keys.
What's new:
  • Support for multiple types in key definition

  • Complete array keys for function parameters
  • Show elements type in completion

OS Workflow Support

Support for working with OS Workflow configuration files.


Tiny plugin to grow the current pane in a split pane editor window. Mapped in Default OSX default key mapping to ctrl+KEYPAD4 and ctrl+KEYPAD6 (cursor key) resizes through 30% - 70%. ctrl+KEYPAD5 Centers the splitter ctrl+KEYPAD8 and ctrl+KEYPAD2 will move the tool pane window up and down.

Phalcon auto-complete

Provides autocompletions for Phalcon framework

PHP Advanced AutoComplete

Adds auto-completion support for various built-in PHP functions and methods, where parameter is a string literal.

The following functions are currently supported:

  • header/header_remove
    HTTP response headers, status codes, charsets, mime-types, locations, and much more

  • File and folder related functions and methods (fopen, file_get_contents, dir...)
    Files and/or folders paths relative to the current file (completion and reference)

  • date
    Format characters and common format strings

  • htmlentities/htmlspecialchars
    Supported charsets

  • mb_string functions
    Charset, where required; types for mb_get_info and supported languages for mb_language

  • ini_get/ini_set/ini_restore/get_cfg_var
    Known INI variable names

  • extension_loaded
    Known PHP extensions

  • fopen/popen/SplFileInfo::openFile
    File modes

  • mysql_connect/mysqli_connect/mysqli/PDO
    Hostnames, database names and usernames from data sources defined in project

  • mysql_select_db/mysqli_select_db/mysqli::select_db
    Database names from data sources defined in project

  • mysqli_change_user/mysqli::change_user
    Usernames and database names from data sources defined in project

  • mysql_set_charset/mysqli_set_charset/mysqli::set_charset
    Supported charsets for MySQL

Important: You have to start a string literal and press Ctrl + Space to activate the completion popup

If you have further suggestions/ideas, just send me an e-mail.

Commend and rate this plugin here

PHP Class Templates

Provides additional file templates for php development
  • PHP Exception Class (With selection which Exception Class to extend)
  • PHP Class From Template (New file from File Templates with defined file extension class.php
PHP Class From Template Usage

PHP Class From Template uses File Templates with file extension "class.php"

PHP composer.json support

PHP composer.json support
Donate using PayPal or Bitcoin

This plugin adds auto completion and inspections support for composer.json file in PHP projects.

PHP PSR-4 Namespace Detector

Adds detection of PSR-4 Namespace prefixes based on composer.json properties: autoload, autoload-dev


1.UpperCase. (delete)
2.Want to Generate With Final, but not work.
3.Constructor Without Line

Postfix Completion

The basic idea is to prevent caret jumps backward while typing code, let you start with the some expression, explore some APIs, think about what you are going to do and after finish with statement of some type.

Available templates:

  • .if – checks boolean expression to be true – if (expr)
  • .else – checks boolean expression to be false – if (!expr)
  • .var – initialize new variable with expression – T x = expr;
  • .null – checks nullable expression to be null – if (expr == null)
  • .notnull – checks expression to be non-null – if (expr != null)
  • .not – negates value of inner boolean expression – !expr
  • .for – iterates over collection – for (T item : collection)
  • .while – uses expression as loop condition – while (expr)
  • .arg – helps surround argument with invocation – method(expr)
  • .cast – surrounds expression with cast – (SomeType) expr
  • .new – produces instantiation expression for type – new T()
  • .fori – surrounds with loop – for (int i = 0; i < expr.length; i++)
  • .forr – reverse loop – for (int i = expr.length - 1; i >= 0; i--)
  • .field – introduces field for expression – _field = expr;
  • .par – surrounds outer expression with parentheses – (expr)
  • .return – returns value from containing method – return expr;
  • .switch – switch over integral/enum/string values – switch (expr)
  • .throw – throws exception of 'Throwable' type – throw new Exception();
  • .assert – creates assertion from boolean expression – assert expr;
  • .synchronized – produces synchronized block – synchronized (expr)
  • .instanceof – surrounds expression with instanceof – expr instanceof SomeType ? ((SomeType) expr). : null

Other features:

  • Template expansion by [Tab] key in editor (like live templates)
  • Support for IDEA chained code completion (st.new => new SomeType())
  • Works inside code fragments, like evaluate expression debugger window
  • Settings page to disable/enable particular postfix templates

QML support

Support for Qt QML


Quick compare tool.


Rainbow highlighting identifiers and delimiters for IntelliJ IDEA-based IDEs

Runtime java completion

Runtime completion


SBJspClass : edit jsp files as java Class


Convert Android ButterKnife Zelezny generated @BindView code to Scala lazy val declaration.



Section Block Comment Generator

Generates large block comments for sectioning in Java files.

SEL Editor

An IDEA plugin for the SEL language


Manage SerialVersionUID field for Serializable class efficently.
If you have any comments, please send them to: support


The plugin is used for cooperation, when A write some code, then B want to change the code, then the comment will enwrap the selected code.we can add some good comment to tell others why we change the code. .


Support for Signals (https://github.com/robertpenner/as3-signals/wiki)

Simple Helpers

This is a plugin to provide simple shortcuts to help coding. The first shortcut is to convert a camel cased word to sentence. Like 'EditorActionImpl' to 'Editor action impl'.


A plugin for automatic generation of the singleton pattern.


Smart Builder generator

Based on build pattern described: blog.crisp.se

To generate builder just hit Alt+Insert and choose 'Smart Builder generator'.
Plugin allows you to easily create builder for given class. Eg. having class:
public class Person {
    String mandatoryFirstName;
    String mandatoryLastName;
    int mandatoryAge;
    int optionalHeight;
    Color optionalEyeColor;
    Color optionalHairColor;
You can generate builder:
public class Person {
    String mandatoryFirstName;
    String mandatoryLastName;
    int mandatoryAge;
    int optionalHeight;
    Color optionalEyeColor;
    Color optionalHairColor;

    private Person() {

    public static IMandatoryLastName mandatoryFirstName(String mandatoryFirstName) {
        return new Person.Builder(mandatoryFirstName);

    public interface IMandatoryLastName {
        IMandatoryAge mandatoryLastName(String mandatoryLastName);

    public interface IMandatoryAge {
        IBuild mandatoryAge(int mandatoryAge);

    public interface IBuild {
        IBuild optionalHeight(int optionalHeight);
        IBuild optionalEyeColor(Color optionalEyeColor);
        IBuild optionalHairColor(Color optionalHairColor);
        Person build();

    private static class Builder implements IMandatoryLastName, IMandatoryAge, IBuild {
        private Person instance = new Person();

        private Builder(String mandatoryFirstName) {
            instance.mandatoryFirstName = mandatoryFirstName;

        public IMandatoryAge mandatoryLastName(String mandatoryLastName) {
            instance.mandatoryLastName = mandatoryLastName;
            return this;

        public IBuild mandatoryAge(int mandatoryAge) {
            instance.mandatoryAge = mandatoryAge;
            return this;

        public IBuild optionalHeight(int optionalHeight) {
            instance.optionalHeight = optionalHeight;
            return this;

        public IBuild optionalEyeColor(Color optionalEyeColor) {
            instance.optionalEyeColor = optionalEyeColor;
            return this;

        public IBuild optionalHairColor(Color optionalHairColor) {
            instance.optionalHairColor = optionalHairColor;
            return this;

        public Person build() {
            return instance;
And use it like:
Person build = Person.mandatoryFirstName("John").mandatoryLastName("Doe").mandatoryAge(18).optionalHeight(180).build();


Smarten up the editor with new editor actions.
This plugin makes you more productive in the editor. It supports some frequently used actions with the press of a key. You can easily select, format and navigate in selections. And it allows to to split literals at the current position without breaking your code!

It relies on navigation contexts. A navigation context is defined as:
  • Block statement: If, Switch or loops statements
  • Method definition
  • Class definition
  • XML tag

This plugin saves you from unnecessary caret movements.

Supported languages:
  • Java
  • JavaScript
  • CSS
  • XML
  • Bash (BashSupport plugin)
  • SQL (only certain dialects)
  • PHP

Split the current string literal at caret or around selection

Press alt + PLUS / Edit: Smart split. This action splits a string into two parts and positions the caret between two parts. For example: the string "abcd" is turned into "a" + "bc" + "d" if "bc" was selected.
Useful examples:

  • Working on Java code: simply split a string into two parts and enter a variable in between

Jump to the start of a navigation block

Press ctrl + alt + HOME / Edit: Smart home. This action moves the editor caret to the beginning of the next parent navigation context.
Useful examples:

  • Working on a Java loop statement: Use this action to jump to the loop beginning.
  • Working on XML tag body: Use this action to directly jump to the tag definition. Press again to jump to the parent tag definition.

Jump to the end of a navigation block

Press ctrl + alt + END / Edit: Smart end. This action moves the editor caret to the end of the next parent navigation context.
Useful examples:

  • Working on a Java loop in a method: Use once to add code after the loop, press another time to move after the method to add more class level code.
  • Working on XML tag body: Press to add another tag after the current one. Press again to move after the parent tag.

Format a navigation block

Press ctrl + alt + shift + F / Edit: Format favourite. This action reformats the next parent navigation context according to the code style settings. It puts a selection on the reformatted text. It can be called multiple times to reformat the next parent context.
Before you needed to press ctrl+w multiple times, then ctrl+alt+L and confirm the message box.
Useful examples:

  • Working on a Java method: If you want to reduce whitespace changes just reformat the current method by calling this action.
  • Working on XML tag body: Reformat the current tag and child context by calling this from anywhere on the first level below the tag.

Select a navigation block

Press ctrl + alt + shift + D / Edit: Select favourite. This action select the next parent navigation context. It can be called multiple times to select the next parent context.
Before you needed to press ctrl+w multiple times, which works on a much finer grained model.
Useful examples:

  • Working on a Java code: Select code on a more coarse grained model, e.g. anonymous class, then the method, then the inner class, then the outer class.
  • Working on XML tag body: Copy all sibilings and the parent tag by calling this action twice and then ctrl + c

This is an early release of this plugin. Please vote and provide feedback to help!


Generate Getter/Setters with Javadoc


Tries to provide smart (and choosable) pre-selections for the different Introduce-... refactorings.
Additionally, it implements the following:
- Introduce variable for selected String-parts
- "Extract variable" fails for parts of string concatenation
- 'Introduce Variable' fails on arrays declaration


String space check.

SqliteMagic Plugin

A plugin that adds first-class support for SqliteMagic

Step Builder Pattern generator

A handy Step Builder pattern generator (http://rdafbn.blogspot.ie/2012/07/step-builder-pattern_28.html)

StepBuilder Generator

This plugin generates a Builder class following the Step Builder pattern so that you can build instances of your class more easily in a guided manner.

Here is an example:

   public class Server{

    final static int DEFAULT_PORT = 8080;

    private String protocol;
    private String url;
    private String ipAddress;
    private int port;
    private String description;
    private long uptime;

    private Server(Builder builder) {
        protocol = builder.protocol;
        url = builder.url;
        ipAddress = builder.ipAddress;
        port = builder.port;
        description = builder.description;
        uptime = builder.uptime;

    public static IProtocol builder() {
        return new Builder();

    public interface IBuild {
        Server build();

    public interface IUptime {
        IBuild withUptime(long val);

    public interface IDescription {
        IUptime withDescription(String val);

    public interface IPort {
        IDescription withPort(int val);

    public interface IIpAddress {
        IPort withIpAddress(String val);

    public interface IUrl {
        IIpAddress withUrl(String val);

    public interface IProtocol {
        IUrl withProtocol(String val);

    public static final class Builder implements IUptime, IDescription, IPort, IIpAddress, IUrl, IProtocol, IBuild {
        private long uptime;
        private String description;
        private int port;
        private String ipAddress;
        private String url;
        private String protocol;

        private Builder() {

        public IBuild withUptime(long val) {
            uptime = val;
            return this;

        public IUptime withDescription(String val) {
            description = val;
            return this;

        public IDescription withPort(int val) {
            port = val;
            return this;

        public IPort withIpAddress(String val) {
            ipAddress = val;
            return this;

        public IIpAddress withUrl(String val) {
            url = val;
            return this;

        public IUrl withProtocol(String val) {
            protocol = val;
            return this;

        public Server build() {
            return new Server(this);

String Manipulation

Provides actions for text manipulation:

  • Toggle style (camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)
  • To SCREAMING_SNAKE_CASE (or to camelCase)
  • To snake_case (or to camelCase)
  • To dot.case (or to camelCase)
  • To hyphen-case (or to camelCase)
  • To hyphen-case (or to snake_case)
  • To camelCase (or to words)
  • To PascalCase (or to camelCase)
  • Capitalize selected text
-when nothing is selected, then either nothing or whole line or a particular element is selected - report an issue if you find something to improve, each file type needs its own implementation to work flawlessly.


  • Un/Escape selected Java text
  • Un/Escape selected JavaScript text
  • Un/Escape selected HTML text
  • Un/Escape selected XML text
  • Un/Escape selected SQL text
  • Un/Escape selected PHP text
  • Convert diacritics(accents) to ASCII
  • Convert non ASCII to escaped Unicode
  • Convert escaped Unicode to String


  • Encode selected text to MD5 Hex16
  • De/Encode selected text as URL
  • De/Encode selected text to Base64


  • Increment/decrement all numbers found.
  • Duplicate line and increment/decrement all numbers found.
  • Create sequence - Keep first number, replace all other by incrementing
  • Increment duplicate numbers

Sort with natural order:

  • Reversing order of lines
  • Shuffle lines
  • Sort case-sensitive A-z
  • Sort case-sensitive z-A
  • Sort case-insensitive A-Z
  • Sort case-insensitive Z-A
  • Sort line length asc., desc.
  • Sort lines by subselection - only one selection/caret per line is handled


  • Format selected text to columns/table by a chosen separator/delimiter
  • Align text to left/center/right


  • Grep selected text, All lines not matching input text wil be removed. (Does not work in column mode)
  • Trim selected text
  • Trim all spaces in selected text
  • Remove all spaces in selected text
  • Remove duplicate lines
  • Remove empty lines
  • Remove all newlines


  • Swap Characters/Selections/Lines/Tokens
  • Switch file path separators: Windows<->UNIX

Actions are available under Edit menu, or via the shortcut "alt M" and "alt shift M". You can setup your own shortcuts for better usability.

Structural Semantic Highlighter

Basic scope/control-structure based semantic highlighter for Java.
This doesn't play nicely with existing color schemes: use the bundled semantic themes to prevent clash.
This will probably mess up syntax highlighting in other languages. Sorry.

Swagger Plugin

A plugin to help you easily edit Swagger specification files.

Like this plugin? Give it a star at GitHub and spread the word!


Add explicit this. to the front of member variables and method calls


Toggles public/protected/private and true/false.

Type Refactoring

Adds an menu item to the Refactor menu, which allows you to change the type of a variable without breaking code.

Typing Corrector

Typing corrector plugin


For java and android developers.

To avoid definite two fields of the same value, consider using @Unique or @Index at the first field.

@Unique : Any two fields mustn't equal the same value.
@Index : All fields must be auto increased as 0,1,2,3, ... .

Click to see how to easy to use.
This plugin is opened at Github, if you like it, plz give me a start, tks.

Unvoid Methods 7

By cablo
Changes void return type to this for all methods in file (configurable) via Generate menu. After that, you can chain these methods like Hibernate or jQuery: person.setName().setAge(); For IDEA 7 only.

Value Class Generator

By mauer
IntelliJ IDEA Plugin that helps generating Value classes without the need to add any libs to your build (like google autovalue or project lombok).

usage: 1. Create your data class and define your properties 2. right-click into the editor and click onto the `Generate value class` button

view injector

used to import views to activity or fragment
any annotation supported not just butterkinfe
based on butterkinfe zelezny


Neat tools for working with whitespace.

Wrap to Column

Wraps text to the specified column width. Similar to the Emacs command 'Fill Paragraph' and Vim's `gq` (format lines) command. This is a replacement for the native Intellij Fill Paragraph command, which doesn't work quite how I need it to.

This plugin provies two IDE actions:

  • Wrap Line to Column: Wraps selected text or the current line if no text is selected. This is useful for IdeaVim users who wish to pair the command with motions like `vip` (select current paragraph).
  • Wrap Paragraph to Column: Wraps the paragraph (multiple lines) in which the cursor appears. No selection is needed, and will be ignored.

Note: As of version 1.0, this plugin supports only IDEA 14.1.x-based products and later (e.g., PyCharm 4.1, WebStorm 10, Android Studio 1.3).


Reformat (local) python code using google/yapf Requirement: + YAPF must be pre-installed and could be invoked using sh -c /usr/local/bin/yapf command.


Yet Another Builder plugin Repository Github repository Description Generates an inner class Builder, based on the host class attributes.
  • creates a static class Builder
  • creates getters on the host class
  • creates getters that can be Optional if nullable
  • creates a new private constructor in the host class accepting the builder as parameter
  • creates a new toBuilder() method in the host class to convert the instance back to a Builder
  • creates a new static builder() method in the host class to return an empty Builder
Compiled with Java 8