String Manipulation

Products: IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm, AppCode, Android Studio, 0xDBE

Vendor: original author: Olivier Smedile, current maintainer: Vojtech Krasa



Source code:

Bugtracker page

Provides actions for text manipulation:

  • Toggle style (camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE,, words lowercase, Words Capitalized)
  • To SCREAMING_SNAKE_CASE (or to camelCase)
  • To snake_case (or to camelCase)
  • To (or to camelCase)
  • To hyphen-case (or to camelCase)
  • To hyphen-case (or to snake_case)
  • To camelCase (or to words)
  • Capitalize selected text

  • 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
  • Trim selected text
  • Trim all spaces in selected text
  • Remove all spaces in selected text
  • De/Encode selected text as URL
  • Convert selected text to Camel Case
  • Convert selected text to Constant Case
  • Encode selected text to MD5 Hex16
  • De/Encode selected text to Base64
  • Remove duplicate lines
  • Remove empty lines
  • Convert non ASCII to escaped Unicode
  • Convert escaped Unicode to String
  • Grep selected text, All lines not matching input text wil be removed. (Does not work in column mode)
  • Duplicate line and increment/decrement all numbers found. (Does not work in column mode)

  • Format selected text to columns/table by a chosen separator/delimiter

If no text is selected, then the current line is selected.

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.

Downloads: 130174
Participated in rating: 10
Version Compatible builds Date 135.445 27.05.2015 Download 100 — 135.444 11.05.2015 Download
1.3 72.7361 29.09.2008 Download
19 updates are hidden show all updates
Screenshot #15076
Screenshot #15075
Screenshot #15074

Recent change notes

Version 3.3
  • new action: Remove duplicate lines
  • new action: Format selected text to columns/table by a chosen separator/delimiter
Version 3.2
  • Renamed and added more case converting actions
Version 3.1
  • Improved converting to camelCase and CONSTANT_CASE
Version 3.0
  • Popup(Alt+M) disabled when refactoring popups are visible
Version 2.9
  • To camel case fixed for a lower case word.
Version 2.8
  • Added properties style action
Version 2.7
  • Improved constant and camel case actions
  • Added hyphen case action
  • Added action for switching between all styles (camelCase, hyphen, underscore, words)

Version 2.6
  • Line break fix

  • Multiple Selections support

Version 2.4
  • Fixed bug: if end-of-line was selected as last character, then it was removed
  • Disabled default shortcut for swap characters
  • New actions for PHP escaping

Version 2.3
  • Fixed: Convert escaped Unicode to String

Version 2.2
  • Increment/Decrement improvements
  • Popup menu works during indexing

Version 2.1.1
  • Swap Characters - bugfix

Version 2.1
  • Alt+A - Exchange two selected characters, or ones surrounding the cursor if no selection

Version 2.0 - Resurrection of the plugin
  • Column selection fix
  • Enabled for all IDEs
  • Fixed Escaped Unicode to String action
  • New action: Capitalize
  • New action: Capitalize Fully
  • New action: Decode Url
  • Added shortcut Alt+M for popup opening
  • Improved actions shortcuts in the popup

Version 1.3
  • Fixed a bug in duplicate and increment actions when line contains '.' and 'e'
  • Fixed exception when clicking cancel on grep dialog
  • Grep action now warns when no text is selected

Version 1.2 New features:
  • Convert non ASCII to escaped Unicode
  • Convert escaped Unicode to String
  • Remove empty lines
  • Duplicate and decrement numbers in a text
  • Now works since IDEA 7.0 (build 7361)
  • To camel case, now put the first letter on lowercase.

Version 1.1 Added following actions:
  • Encode to MD5 Hex16
  • Encode URL
  • De/Encode to Base64
  • Escape SQL
  • Escape XML
  • To Camel case
  • To Constant case
Duplicate and increment now handles float number which ends with "."


2015-04-27 15:23:58
What a great time saver, thank you! - Tom
2015-02-26 18:45:38
Good job
2015-02-13 01:07:42
Great plugin, very useful. Good job!
2014-11-12 17:54:51
2014-11-12 17:46:25
Could u add convert plain email address to
2014-06-18 15:21:50
I kind of want something like this implemented: ´´´ public static String wordsToHyphenCase(String s) { StringBuilder buf = new StringBuilder(); char lastChar = 'a'; for (char c : s.toCharArray()) { if (Character.isWhitespace(lastChar) && (!Character.isWhitespace(c) && '-' != c) && buf.length() > 0 && buf.charAt(buf.length() - 1) != '-') { buf.append("-"); } if (!Character.isWhitespace(c)) { buf.append(Character.toLowerCase(c)); } lastChar = c; } if (Character.isWhitespace(lastChar)) { buf.append("-"); } return buf.toString(); } ´´´
2014-06-18 13:18:33
Is there any plan to add conversion to hyphenization/dashify/dash-and-lowecase-notation? (in PHPStorm) It would be real handy when working with keys and language-conversions. There could be a choice to use dash or underscore. I would love this and it seems to fit this plugin perfectly.
2013-08-22 01:45:03
Check this plugin: you can write your own groovy script for text replacing.
2012-04-02 19:54:55
Excellent timesaver. This is a must-have plugin!
2010-11-23 17:15:42
2010-11-10 08:20:20
A super useful feature would be a column mode insert list of Integers, Hex, 0xHex, Alpha.
2009-10-06 13:26:13
Great plugin, very useful. Good job!
2009-02-28 22:50:40
Usefull plugin, thanx to author
2009-02-28 22:50:18
Usefull plugin, thanx to author
2008-04-30 18:11:12
This great stuff. I was just about to work on a plugin for some of these features when I found this one.

A couple of suggestions:
I could use a conversion from 'CamelCase to Words'

You might want to create key bindings that toggle back and forth between a few formats. Extra key bindings shouldn't complicate the UI, since they would only be visible from the keybinding menu. Some examples:
Toggle between camel case and words
Toggle between camel case and constant

You might want to support dotted property notation (camel case to dotted property).

There are a lot of options available in the alt-shift-m menu. Maybe some options could be disabled?

It would be nice to have previews of what will happen in addition to the descriptions. When selecting 'Table Name', its easier to process 'TABLE_NAME' than 'Words and Camel to constant style case'.