opensource software

String Manipulation

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

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




Bugtracker page


Provides actions for text manipulation:

  • Toggle style (camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, underscore_lowercase, UNDERSCORE_UPPERCASE,, words lowercase, Words Capitalized)
  • To constant style (or to camel case)
  • To properties style (or to camel case)
  • To camel case (or to words)
  • To hyphen style (or to lower underscore)
  • 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 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)
  • Increment/Decrement selected text. Duplicate line and increment/decrement all numbers found. (Does not work in column mode)
  • Swap Characters - set a shortcut in Settings | Keymap

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

Downloads: 118443
Participated in rating: 9
Version Since Build Until Build File/URL Size (Kb) Date Details 135.445. . Download 79.59 2015-02-23 22:16:29 details 100. 135.444. Download 78.63 2014-06-23 12:49:27 details
1.3. 72.7361. . Download 58.65 2008-09-29 12:34:04 details
. .
16 updates are hidden show all updates
Screenshot #14953

Recent change notes:

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-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'.
2008-04-18 00:35:43