Top Rated

Shifter

Detects type of selection, line or keyword at caret and shifts it "up" or "down" on keyboard shortcut. If there's only one shiftable word in a line, it can be shifted without the caret touching it. Lowercase/uppercase or lower case with upper first character of shifted words is maintained.

Default keyboard shortcuts:
  • Ctrl+Shift+Alt+Comma - Shift Down
  • Ctrl+Shift+Alt+Period - Shift Up
  • Ctrl+Shift+Alt+K - Shift Up More*
  • Ctrl+Shift+Alt+J - Shift Down More*

Shift more: repeats shifting the selected value multiple times. The amount of repetitions can be configured in the plugin configuration (default: 10).

Supported generic shifting types:
  • Shifting a multi-line selection sorts the lines alphabetically ascending/descending.
  • Shifting a single-line selection, that is a comma- or pipe-separated list, sorts the items ascending/descending.
  • Shifting a single-line selection, that is a tupel, toggles the items' order (delimiters: ":", "|", ", ", " - ", " + ", " < ", " > ", " <= ", " >= ", " == ", " != ", " === ", " !== ", " || ")
  • Shifting a selection within a single line (that is not CSV), detects and swaps characters: single quote vs. double quote OR slash vs. backslash
  • Numeric values - Increments/decrements numbers by 1
  • Numeric block selection: opens dialog to chose: 1. in/decrement each or: 2. replace by enumeration
  • UNIX (and millisecond based) timestamps - Increments/decrements by one day, shows a balloon info with the shifted date in human-readable format
  • Selected (from questionmark on) ternary expressions - Swaps "than" and "else" statements
  • PHP variables - Shifts to alphabetically next/previous variable found in current document ("shift more" shifts until first variable with a different first letter)
  • Selected PHP array - Shifts among long and shorthand syntax (PHP >= 5.4)
  • Selection of PHP concatenation from two strings / variables - Toggles order of the concatenated parts
  • Selection which is a Sizzle-Selector - Converts the selector into a responding JavaScript variable declaration
  • Selection of multiple JavaScript var declarations in succession - are joined into multiple comma-separated declarations
  • Selected line of code ending with a trailing //-comment - Moves the comment into a new line before the code
  • Strings wrapped in single/double quotes and backticks - Shifts to alphabetically next/previous quoted string found in current document
  • CSS hex RGB colors - Shifts color value lighter/darker
  • CSS length values - Shifts numeric length values up/down by 1 (units: em, in, px, pt, cm, rem, vw, vh, vmin, vmax)
  • Selection which is a single or multi-line comment (e.g. PHP, JavaScript, C syntax) - toggle among comment type (//... vs. /*...*/). Merges multi-line comments into 1 line.
  • Logical operators: toggles between (selected) "&&" and "||"
  • Encoding/decoding of HTML special characters
  • Roman Numerals
  • Single characters and string consisting from any amount of the same character can be shifted to the prev/next ASCII value
  • Strings ending with numbers - increments/decrements the postfix
Dictionaric keyword shifting: Shifter comes with a customizable, file extension specific and globally usable dictionary of shiftable keywords. Some keyword types from the default dictionary:
  • PHP core magical constants - Shifts PHP's magic constants (__FILE__/__LINE__ etc.)
  • CSS orientations and positioning: top/right/bottom/left and absolute/relative, and geographical directions (north/east/south/west)
  • Accessibility types: public/private/protected
  • MySql data types: Shifts to next bigger/smaller numeric/string type
  • Primitive data types of Java, JavaScript, PHP, Objective-C
  • Doc comment tags (Java, JavaScript, PHP)
  • JavaScript event types (mouse, keyboard, frame/object, form, control, touch)
  • Named colors from the sRGB color space (white/lightgray/gray...)
  • Text styles (bold, italic...)
  • Web image (gif/jpg/png) and audio (au/aif/wav etc.) format extensions
  • Full and abbreviated names of months and weekdays and units of time
  • Logical operators (and/or/xor/not), arithmetic operations (addition/subtraction...) and arithmetic elements (sum/difference/product..)
  • Meta-syntax terms: foo/bar/baz...
  • Names of common data collection types (list/set/bag/dictionary/tree...)
  • Names of numbers (one/two/three etc.) and ordinal numbers (first/second/third etc.)
  • Boolean (paired) keyword values - Toggles true/false, on/off, yes/no (e.g. Objective-C), shown/hidden, show/hide, positive/negative, from/until, enable(d)/disable(d), pass/fail, min/max, expand/collapse, asc/desc, first/last

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

CUBA

Supports application development on the CUBA platform

RegexpTester

In Misc. By evdokimov
Regular Expression Tester for IntelliJ IDEA.
Allows you to experiment with Java regular expressions in a dynamic environment.
  • Full highlighting of regular expression syntax for an easy visual clue (including bracket matching and error detecting)
  • Tooltips with context help will be shown when the mouse is over a part of the regex.
  • Synchronized selection of regular expression and text: Just select part of the regexp to see which part of the text is matched by this part.
Functionality of this plugin is available as java-applet at http://myregexp.com/applet.html

Autoscroll Save

In Misc. By vikingsteve
At last, a handy way to save your Autoscroll to/from Source settings :)

Toggle "Autoscroll to Source": Crtl-Alt-Shift PAGE UP
Toggle "Autoscroll from Source": Crtl-Alt-Shift PAGE DOWN
Save "Autoscroll to/from Source" settings: Crtl-Alt-Shift END

Use the toggle actions to quickly enable / disable autoscroll settings in the active project.

Save the autoscroll settings to apply them to currently open projects and all projects opened or created in future.

The key bindings can be re-assigned via Settings -> Keymap -> search for "autoscroll".

Saved settings can be disabled in the "autoscroll.xml" file located in config/options, if needed.

BrowseWordAtCaret

Allows to easily browse next/previous word at caret and highlight other appearances of selected word.

Usage: Browse with CTRL-ALT-UP, CTRL-ALT-DOWN (note: on default-keymap this shortcut is also for next/previous occurrence).

Non Project Files Unlocker

In Editor. By meo
Disables annoying dialog for unlocking non-project files - IDEA-125379.

Grep Console

In Misc. By meo
Allows you to define a series of regular expressions which will be tested against the console output or file. Each expression matching a line will affect the style of the entire line, or play a sound. For example, error messages could be set to show up with a red background.

Additional Features:
Filter/grep the console output into a new console tab
File Tailing:
- Main menu | Tools | Open File in Console
- Main Menu | Help | Tail (IntelliJ) Log in Console
- Project View ToolWindow | right click context menu | Tail
- Drag&Drop "Tail File" panel in main toolbar
- http and Windows context menu integration

Inspired by Grep Console plugin for Eclipse Used Remote call plugin implementation for http integration.

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:

  • 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/Decode:

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

Increment/Decrement:

  • 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

Align:

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

Filter/Remove/Trim...:

  • 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

Other:

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

PlantUML integration

PlantUML diagramming tool integration

Maven Helper

In Maven 2. By meo
A must have plugin for working with Maven.
Provides:
  • actions to run/debug the current test file.
    If maven-surefire-plugin is configured to skip or exclude the test, 'verify' goal will be used, see different configuration styles at https://github.com/harishkannarao/MavenSurefireFailsafeExamples
  • actions to run/debug maven goals for a module that contains the current file
  • easy way to find and exclude conflicting dependencies

Usage:
  • Right click in Editor | Run Maven
  • Right click in Project View Toolbar | Run Maven
  • CTRL + ALT + R - "Quick Run Maven Goal" action

  • Customize goals: Settings | (Other Settings) | Maven Helper
  • Define shortcuts: Settings | Keymap | Plug-ins | Maven Helper

  • Open pom file, click on 'Dependency Analyzer' tab, right click in the tree for context actions.

Idea 2016.2 Icon Pack

In UI. By kb
Changes new modern icons to the old ones. Welcome back to IntelliJ IDEA 2016.2

JFormDesigner

Advanced Swing GUI designer. Its outstanding support for MigLayout, JGoodies FormLayout, GroupLayout (Free Design), TableLayout and GridBagLayout makes it easy to create professional looking forms.

Key features

  • MigLayout support
    MigLayout is a superbly versatile and powerful open-source layout manager. It is grid-based, but also supports docking and grouping.
  • GroupLayout (Free Design) support
    GroupLayout support brings the "Free Design" paradigm to IntelliJ IDEA (as in NetBeans GUI Builder; formerly Project Matisse). You can lay out your forms by simply placing components where you want them. Visual guidelines suggest optimal spacing, alignment and resizing of components. This makes it easy to design professional-looking GUIs.
  • JGoodies FormLayout and TableLayout support
    These open-source layout managers allow you to design high quality forms.
  • Advanced GridBagLayout support
    The advanced GridBagLayout support allows the specification of horizontal and vertical gaps (as in TableLayout).
  • Column and row headers
    The column and row headers (for grid-based layout managers) show the structure of the layout and allow you to insert or delete columns/rows and change column/row properties. It's also possible to drag and drop columns/rows (incl. contained components and gaps).
  • IDE plug-ins and stand-alone application
    JFormDesigner is available as IDE plug-ins for IntelliJ IDEA, NetBeans, Eclipse, JDeveloper and as stand-alone application.
  • Localization support
    Localizing forms using properties files has never been easier. Specify a resource bundle name and a prefix for keys when creating a new form and then forget about it. JFormDesigner automatically puts all strings into the specified resource bundle (auto-externalizing).
  • Beans Binding (JSR 295) support
    Using Beans Binding (JSR 295) helps you to keep UI state and model in sync. It drastically reduces the amount of listener code that is usually necessary.
  • BeanInfo Annotations
    The @BeanInfo and @PropertyDesc annotations make it very easy to specify BeanInfo information directly in the custom component. Its no longer necessary to implement extra BeanInfo classes. This drastically reduces time and code needed to create BeanInfo information.
  • Java code generator or runtime library
    Either let JFormDesigner generate Java source code for your forms (the default) or use the open-source (BSD license) runtime library to load JFormDesigner XML files at runtime. Your choice.
  • Generation of nested classes
    The Java code generator is able to generate and update nested classes. You can specify a class name for each component in your form. This allows you to organize your source code in an object-oriented way.

Lines Sorter

Add Sort Lines action in Edit menu to sort selected lines or whole file if selection is empty.

Perl

Camelcade plugin adds Perl5 support for IntelliJ IDEA and other JetBrains products.

Wiki | Bug Tracker | Twitter | Google Group | Sources

Donate to support Project

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

hybris integration

This plugin is an open source (LGPL) plugin for SAP Hybris Commerce integration.

Bug tracker: Intellij IDEA Plugin Support

If you have any questions you can send an email to:
Alexander Bartash (repo owner)
Martin Zdarsky-Jones

Features:
- Import of Hybris extensions to Intellij IDEA.
- Automatic configuration of Spring, Web and Ant Intellij IDEA plugins.
- Custom editor for impex files with automatic formatting, find usages and go to declaration actions.
- Custom editor for items.xml with validation and easy navigation.
- Visualization of business process graph (use context menu of the file "Diagrams/Show Diagram", only Ultimate IDEA).
- Enhanced project view tree.

Contribution guidelines:
- Please read Contributor License Agreement
- Available tasks are in our JIRA (requires a login but you can sign-up) also you can suggest new features or report bugs without login on our Support Desk it has anonymous access.
- How to Configure Project Environment For Plugin Developers
- We are working with Pull Requests because it allows us to review the code before merging it. You need to fork this repository, implement a feature in a separate branch, then send us a pull request.
- Be sure to include into your pull request and all commit messages the following line: "Signed-off-by: Your Real Name your.email@email.com" otherwise it can not be accepted. Use your real name (sorry, no pseudonyms or anonymous contributions).
- For additional questions you can send an email to Alexander Bartash or Martin Zdarsky-Jones

By installing thing plugin you agree to sending us anonymous statistics about plugin usage. We do not collect any information about you or your project. We just want to know which features from this plugin our users need most and learn new ways to make thing plugin better.

Developers:
- Alexander Bartash
- Vlad Bozhenok
- Martin Zdarsky-Jones
- Alexander Nosov
- Michael Golubev
- Markus Priegl
- Sergei Aksenenko
- Roger Ye
- Hector Longarte

TabSwitch

Open files/tabs switcher to quickly switch between tabs with less keystrokes than Recent Files. Open files are selected from a list in most recently used order, similarly to Alt+Tab in Windows or Ctrl-Tab in Opera. By default the action is mapped to Alt+A, but another popular assignment is CMD+E.

Thanks to Timur Zambalayev for the original plugin, Martin Fuhrer for a major contribution in the form of a rewrite and Mark Scott for patching a bug. Follow further development of this plugin on GitHub or follow me on twitter for announcements and other things.

CodeGlance

In Editor. By vektah
Embeds a code minimap similar to the one found in Sublime into the editor pane. Works with both light and dark themes using your customized colors for syntax highlighting.

Eclipse Code Formatter

In Formatting. By meo
Allows using Eclipse's code formatter directly from IntelliJ.
Solves the problem of maintaining a common code style in team environments where both IDEA and Eclipse are used.

Go to https://github.com/krasa/EclipseCodeFormatter#instructions for instructions how to use it.

Currently supports formatting of
-Java (bundled Eclipse 4.6 (requires JRE 1.8) and 4.4 libs, also emulates Eclipse's imports optimizing, configurable external Eclipse location for Eclipse 4.5+, Workspace Mechanic support)
-C/C++ (Eclipse 4.6 (requires JRE 1.7))
-JavaScript (Eclipse 4.4)
-GWT (Eclipse 4.4)

Small donations are welcomed.

Latte

Provides support for Latte – a template engine for PHP.