Categories


Authors:
osmedile
meo

String Manipulation

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

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

Email:

Website: https://github.com/krasa/StringManipulation

Source code: https://github.com/krasa/StringManipulation

Bugtracker page

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

Other:

  • Swap characters at caret
  • 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.

Downloads: 230520
Rating:
Participated in rating: 10
Version Compatible builds Date
4.9.135.445.0 135.445 + 16.07.2016 Download
3.2.100.000 100 — 135.444 11.05.2015 Download
1.3 72.7361 + 29.09.2008 Download
31 updates are hidden show all updates
Screenshot #16015
Screenshot #15076
Screenshot #15845

Recent change notes

Version 4.9
  • toggle case actions fix: removed separator between upper case letters, separators after digits made consistent
Version 4.8
  • new action: Switch file path separators: Windows<->UNIX
  • new action: Shuffle lines
  • new action: Sort lines by subselection
Version 4.7
  • new action: Increment duplicate numbers ("1 3 3" => "1 3 4")
  • replaced 'Increment to produce unique sequence' to 'Create Sequence' ("1 5 0" => "1 2 3")
  • Added Base64 options for URL safe, chunked encoding and charset
  • Fixed multiline Base64 encoding
  • Auto-selection of the whole line will not select the 'new line' character on the end of the line
  • Case converting: #14 NoClassDefFoundError fix for WebStorm
  • Case converting: improved auto selection handling
Version 4.6
  • IntelliJ 2016.2 EAP compatibility
Version 4.5
  • new action: Increment to produce unique sequence of numbers ("0 0 0" => "1 2 3")
Version 4.4
  • fixed AssertionError: Wrong line separators
Version 4.3
  • added action: Align to left/center/right
  • added action: Convert diacritics(accents) to ASCII
  • added action: Sorting with natural ordering
Version 4.2
  • added PascalCase support
Version 4.1
  • fixed converting with numbers (now: v2Counter -> V2_COUNTER, _2_v2_Counter_3 -> 2_V2_COUNTER_3)
Version 4.0
  • smarter selecting for case converting actions - when nothing is selected, then either a 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.
  • fixed whole bunch of edge cases for case converting actions
  • new action: Increment/decrement all numbers found
  • too many actions, introduced new subgroups
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

Version 2.5.135.445
  • 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
Misc:
  • 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 "."

Comments:

12>
marcospassos
Rated:
2016-07-16 01:01:03
Really useful!
.
tzvikam
Rated:
2016-06-20 14:07:55
Great and Useful Need a feature to convert path separator WINDOWS->LINUX i.e. \ to / Thanks keep the good work
.
frakc
Rated:
2016-04-12 16:36:18
.
buksyt
Rated:
2015-11-06 14:30:29
Absolutely perfect.
.
Anonymous
Rated:
2015-09-10 22:11:53
.
Anonymous
Rated:
2015-04-27 15:23:58
What a great time saver, thank you! - Tom
.
Anonymous
Rated:
2015-02-26 18:45:38
Good job
.
Borz
Rated:
2015-02-13 01:07:42
Great plugin, very useful. Good job!
.
meo
2014-11-12 17:54:51
example?
.
Anonymous
2014-11-12 17:46:25
Could u add convert plain email address to
string?
.
jonas.carlbaum@b3it.se
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(); } ´´´
.
jonas.carlbaum@b3it.se
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.
.
meo
2013-08-22 01:45:03
Check this plugin: http://plugins.jetbrains.com/plugin/7282 you can write your own groovy script for text replacing.
.
mhurne
Rated:
2012-04-02 19:54:55
Excellent timesaver. This is a must-have plugin!
.
popalka
Rated:
2010-11-23 17:15:42
.
12>