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 a value multiple times. The amount of repetitions can be configured in the plugin configuration (default: 10).

Mac Users: On Macs, the keyboard shortcuts are Comma or Period key together with Shift+Alt+Cmd

Tip: Using Mouse Wheel
To setup the mouse wheel to invoke shifting, open the IDE preferences and go to: “Keymap”. Search for “Shift”, than right-click the shifter action items and use the option “Add mouse shortcut”. Mouse shortcuts can include hotkeys, this way for instance “Shift + Wheel Up” can be assigned to “Shift-Up”, “Shift + Wheel Down” to “Shift-Down”.

SHIFTING TYPES
Sorting
  • 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, flips the items' order (delimiters: ":", "|", ", ", " - ", " + ", " < ", " > ", " <= ", " >= ", " == ", " != ", " === ", " !== ", " || ")
  • Shifting a selection that is a camelCased (w/ lower or upper lead character) word pair, flips the order of the words.
  • Shifting a selected (from questionmark on) ternary expression, swaps "than" and "else" statements
  • Shifting a selected PHP concatenation from two strings / variables, toggles the concatenated items' order
  • Shifting a selection from a CSS file, sorts all attributes inside their selectors (alphabetically, vendor-attributes and vendor-styles at the end)
  • Shifting selected attribute-style lines inside a CSS (or LESS or SASS) file, sorts them (alphabetically, vendor-attributes and vendor-styles at the end)
Numeric Shifting
  • Numeric values - Incrementing/decrementing numbers
  • Strings ending with numbers - increments/decrements the postfix
  • 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
  • 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)
  • Increment/decrement roman numerals
String Manipulations
  • Shifting a selection within a single line: detects and swaps characters: single quote vs. double quote OR slash vs. backslash
  • Shifting a selected (or the caret touching a) camel-cased string, converts it into a minus-separated path (and vice versa)
  • Strings wrapped in single/double quotes and backticks - Shifts to alphabetically next/previous quoted string found in current document
  • Strings surrounded by round or square brackets: toggles surrounding "(" and ")" versus "[" and "]"
  • Logical operators: toggles between (selected) "&&" and "||"
  • HTML en/decoding of selected special characters
  • Single characters and string consisting from any amount of the same character can be shifted to the previous/next ASCII value
Code- and DOC Comments
  • Selection which is a block comment or multiple line-comments (e.g. PHP, JavaScript, C syntax) - toggle among comment type (//... vs. /*...*/). Merges multi-line comments into 1 line.
  • Selected line of code ending with a trailing //-comment - Moves the comment into a new line before the code
  • Selected HTML comment inside a PHP / PHTML file: converts it into a PHP block comment (and vice versa)
  • PHP DOC: Shifting a selected PHP doc comment block that contains @param comments w/ variable name but no data type, guesses and inserts data types
  • PHP DOC: Shifting while the caret is inside an @param annotation that contains no data type, inserts a data type (guessed from the variable name)
  • JsDOC: Shifting w/ the caret touching a data type that is not wrapped in curly brackets, inside an "@param", "@returns" or "@type" annotation: adds the missing curly brackets
  • Selected JsDoc block: Convert "@return" into "@returns", add missing curly brackets around data types in "@param", "@returns" and "@type" lines, correct invalid data types into existing data types (bool => boolean, int(eger) => number), reduce empty JsDoc lines
PHP and JavaScript
  • 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 which is a Sizzle-Selector - Converts the selector into a corresponding JavaScript variable declaration
  • Selection of multiple JavaScript var declarations in succession - are joined into multiple comma-separated declarations
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.

Autoscroll Save

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.

Rust

Rust language support

Elm language plugin

Plugin for Elm language support.

Features
  • Supports Elm 0.18 (If you need to have different version supported, see this link)
  • Parsing the syntax
  • Syntax highlighting and color settings page
  • Going to declaration
  • Highlighting unresolved references with a quick-fix option to add an import statement
  • Code completion
  • Spellchecking
  • Brace matching
  • Rename refactoring

RegexpTester

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

GoToTabs

The plugin adds menu actions allowing you to go to a specific tab. You can of course assign keyboard shortcuts the individual actions and for example achieve the behavior known from other editors/IDEs where you can switch between tabs with alt+<num>.

To prevent any conflicts, the plugin doesn't assign any shortcuts by itself, you need to do it manually in the Keymap (section Main menu -> Window -> Editor Tabs -> Go To Tabs).

SQLScout (SQLite Support)

First-class SQLite support for Android Studio and IntelliJ IDEA.

View, manage and update SQLite databases in your Android device ( in real time) and file system, from Android Studio and IntelliJ IDEA.

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 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:

  • 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
  • Keep only 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

Idea 2016.2 Icon Pack

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

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

Perl

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

Wiki | Bug Tracker | Twitter | Google Group | Sources

Donate to support Project

CodeGlance

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.

CSS-X-Fire

Connects Firebug CSS editor with any IDE with CSS capabilities (IntelliJ IDEA Ultimate, PhpStorm, WebStorm, PyCharm, RubyMine).

Please read the installation guidelines here: http://code.google.com/p/css-x-fire/wiki/Installation

Style with pleasure!

Bitbucket Linky

Bitbucket/Stash References plugin is now called Bitbucket Linky

Bitbucket Linky plugin provides a handy ways to navigate to Atlassian Bitbucket. This plugin adds following actions into your IDE:

  • copy Bitbucket link to the selected file or selected lines in the file (Ctrl+Shift+X,C on Windows / Cmd+Shift+X,C on Mac)
  • open selected file or selected lines in the file in Bitbucket in your Browser (Ctrl+Shift+X,B on Windows / Cmd+Shift+X,B on Mac)
  • copy Bitbucket link to the selected commit (VCS log and editor gutter context menus)
  • open selected commit in Bitbucket in your Browser (VCS log and editor gutter context menus)
  • open Create pull request form in Bitbucket for current branch (Ctrl+Shift+X,P on Windows / Cmd+Shift+X,P on Mac)

Bitbucket Linky supports both Bitbucket Cloud and Bitbucket Server (formerly known as Stash).
The plugin uses your project's VCS settings (supports both Git and Mercurial) to build links to the repository in Bitbucket, and in most cases doesn't require configuration. However, if Bitbucket hosting is not automatically recognized, it can be configured via IDE preferences.


Huge thanks to Brent Plump and Piotr Wilczyński!


Please note that this plugin is not officially supported by Atlassian.

AureliaStorm

This plugin brings support for Aurelia framework to the IntelliJ platform

Presentation Assistant

In UI. By nik
This plugin shows name and Win/Mac shortcuts of any action you invoke (View | Descriptions of Actions)