154 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 generate log

Plugin for auto generate debug log.
  • 1. Choose the word you want debug.
  • 2. Press alt + p.
  • eg.
    In your code:
    int var = caculateValue();
    Choose "var", then press alt+p,
    The following code will be generated.
    Log.i("autolog", "var: " + var);
    Default android log tag is "autolog".


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

    SHORTCUT : (windows/linux) CONTROL+OPTION+I (mac) CMD+OPTION+I

    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)


    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

    IDEA Doc

    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


    Insert random strings and numbers with the press of a single key.

    Adds actions to insert random data into your editor, which can be useful when writing tests.

    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 with IntelliJ. It maps frequently used actions to a single shortcut. You can easily select, format and navigate in selections. And it allows to to split literals at the current position without breaking your code!
    This is an early release of this plugin. Please vote and provide feedback to help!

    Documentation is available at plugin-dev.com.


    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 camelCase (or to lowercase words)
    • To PascalCase (or to camelCase)
    • Capitalize selected text
    • Invert case
    -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
    • Keep only 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