51 plugins in category «Code editing»


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

Adders/Removers Generator

Generates adders/removers for class properties

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.


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'

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


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


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

Codic Plugin

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

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


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.

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


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.

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

Extended Code Sense

Provides some platform code-sense functionality enhancements.

File Template Variables

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

Fold Other Methods

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

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

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

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

Inc Dec Value

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


Injection for AppCode

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

Input Language Locker

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

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.

LiveTemplate ScriptEngine Macro

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

Makefile support

Support for UNIX Makefiles

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

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

QML support

Support for Qt QML


Rainbow highlighting identifiers and delimiters for IntelliJ IDEA-based IDEs


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

SEL Editor

An IDEA plugin for the SEL language


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


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!

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.

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!


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.

view injector

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

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.