66 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.

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

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'

    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


    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

    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.

    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


    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

    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

    Galen Specs Language Support

    This plugin enables smart editing of Galen Specs Language files.


    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.

    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

    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.

    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).


    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!

    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


    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.

    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.

    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.


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

    SEL Editor

    An IDEA plugin for the SEL language


    A plugin for automatic generation of the singleton pattern.



    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.


    String space check.

    SqliteMagic Plugin

    A plugin that adds first-class support for SqliteMagic

    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.

    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.


    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