New or Updated

MQL Idea

MQL4 language support.

R Language Support

This plugin provides an integration of R, which is a language for statistical computing and graphics, into Intellij IDEA.


The plugin provides syntax and error highlighting, import-aware code completion, various inspections and quick-fixes, intelligent code folding, refactorings, code reformatting, run configurations, an integrated console, and an interactive debugger.


You can read more about the features and find more documentation on the project page

Feel welcome to report issues or to suggest features by submitting a ticket to our issue tracker.


This plugin is developed under BSD- license.

Copyright (c) 2013-2017 Ekaterina Tuzova, Holger Brandl

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.

Rust

Rust language support

Elixir

Elixir plugin

I-Pascal

In Languages. By argb
Pascal support for IDEA.

Commit Message Template

Adds a button to the commit dialog (right above the commit message field), that loads a commit message template.

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 selection that is a camelCased (w/ lower or upper lead character) word pair, flips the order of the words.
  • 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 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
  • Shifting while caret is inside a PHP doc comment @param line that contains no data type, inserts a data type (guessed from the variable name)
  • Shifting a selected HTML comment inside a PHP or PHTML file, converts it into a PHP block comment (and vice versa)
  • Shifting a selected PHP doc comment block that contains @param comments w/ variable name but no data type, guesses and inserts data types
  • Shifting w/ the caret touching a data type that is not wrapped in curly brackets, inside a jsDoc @param- adds the missing curly brackets
  • 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
  • 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.

Go

This plugin extends IntelliJ platform with Go-specific coding assistance and tool integrations, and has everything you could find in Gogland.

TagMyCode

Provides the support for TagMyCode.
This plugin allows you to manage your own snippets.

Features:
* Add snippets: you can save your code snippets including description, language, and tags
* Snippets management (CRUD): snippets are stored locally and you can filter, sort, create, modify, edit or delete them directly from the IDE
* Quick search: you can search your snippets and insert them directly into the document

NativeScript

NativeScript support.

Donate(PayPal)


  • Wizard project creation
  • Run configuration
  • Code assistance
  • Plugins management
  • Live templates
  • Angular support

CharJump

Quickly jump to any single character in the active document.

Material Theme UI Extended

In UI. By Mallowigi
This will add the Material Theme look to your IDE.

NodeJS

Node.js integration

Perforce IDEA Community Integration

[ Github ] | [ Open Issues ]

Associate your IDEA project with Perforce through the built-in version control.

Limitations:

  • Does not indicate to the user whether a file is synchronized to the head revision or not.
  • No repository browsing.
  • No resolving merge conflicts.

Getting Started

Once you install the plugin, you can associate a project directory with Perforce in the project settings (File - Settings..., then navigate to the Version Control panel). Make sure to edit the Perforce configuration to set the proper server connection settings.

The plugin will keep Your client's open changelists synchronized with the IDEA backed changelists, viewable under the "Changes" view. If the changelists become out of sync, you can force the plugin to re-examine the mappings by pressing the refresh button in the changes view.

Modifying a file, moving a file, copying a file, refactoring a file, and deleting a file will perform the correct Perforce operations, and put the changes into the currently selected IDEA changelist. Per-file history allows for comparing against the depot versions, even against the inherited file history.

Please visit the GitHub project open issues for a list of known issues, or for reporting new ones.

Upsource Integration

Integration with JetBrains Upsource

Note: If you want to have access to the most recent bug fixes and features of the plugin, you can install it from the alpha channel. To do so please add the following custom plugin repository: https://plugins.jetbrains.com/plugins/alpha/7431

Flutter

Support for developing Flutter applications. Flutter gives developers an easy and productive way to build and deploy cross-platform, high-performance mobile apps on both Android and iOS.

GivWenZen Plugin

Plugin for IntelliJ that provides support for legacy library: GivWenZen

HCL language support

This plugin adds support for HashiCorp Configuration Language (HCL) and HashiCorp Interpolation Language (HIL) languages
And their combination, Terraform configuration files (.tf)
Also HCL format is used for Nomad(.nomad files).
Features: For file formats with HCL (.hcl, .tf, .nomad):
  • Syntax highlighting
  • Structure outline in 'Structure' tool window
  • Code formatter, so reformat code action available
  • Code folding
  • Comment/Uncomment action
HashiCorp Interpolation Language:
  • Syntax highlighting
Terraform specific support: In both config and interpolations:
  • Autocompletion
  • Find Usages / Go to definition for resources, providers, variables and their properties
  • Rename Refactoring
  • Introduce Variable Refactoring (for string property values)
  • Several inspections
  • Report usage of deprecated properties
  • Unresolved reference checks (in interpolations)
  • Check required/missing properties in resource/provider
  • Predefined Terraform methods autocompletion in interpolations
  • (WIP) Better properties validation (type checking)
  • (WIP) Working with dependent modules
  • (WIP) Type-specific autocompletion in interpolations

Markdown support

In Languages. By valich
Markdown support for IntelliJ products