Smarten up the editor with new editor actions.
This plugin makes you more productive in the editor. It supports some frequently used actions with the press of a key. You can easily select, format and navigate in selections. And it allows to to split literals at the current position without breaking your code!
It relies on navigation contexts. A navigation context is defined as:
- Block statement: If, Switch or loops statements
- Method definition
- Class definition
- XML tag
This plugin saves you from unnecessary caret movements.
Split the current string literal at caret or around selection
- Bash (BashSupport plugin)
- SQL (only certain dialects)
Press alt + PLUS / Edit: Smart split. This action splits a string into two parts and positions the caret between two parts. For example: the string "abcd" is turned into "a" + "bc" + "d" if "bc" was selected.
Jump to the start of a navigation block
- Working on Java code: simply split a string into two parts and enter a variable in between
Press ctrl + alt + HOME / Edit: Smart home. This action moves the editor caret to the beginning of the next parent navigation context.
Jump to the end of a navigation block
- Working on a Java loop statement: Use this action to jump to the loop beginning.
- Working on XML tag body: Use this action to directly jump to the tag definition. Press again to jump to the parent tag definition.
Press ctrl + alt + END / Edit: Smart end. This action moves the editor caret to the end of the next parent navigation context.
Format a navigation block
- Working on a Java loop in a method: Use once to add code after the loop, press another time to move after the method to add more class level code.
- Working on XML tag body: Press to add another tag after the current one. Press again to move after the parent tag.
Press ctrl + alt + shift + F / Edit: Format favourite. This action reformats the next parent navigation context according to the code style settings. It puts a selection on the reformatted text. It can be called multiple times to reformat the next parent context.
Before you needed to press ctrl+w multiple times, then ctrl+alt+L and confirm the message box.
Select a navigation block
- Working on a Java method: If you want to reduce whitespace changes just reformat the current method by calling this action.
- Working on XML tag body: Reformat the current tag and child context by calling this from anywhere on the first level below the tag.
Press ctrl + alt + shift + D / Edit: Select favourite. This action select the next parent navigation context. It can be called multiple times to select the next parent context.
Before you needed to press ctrl+w multiple times, which works on a much finer grained model.
This is an early release of this plugin. Please vote and provide feedback to help!
- Working on a Java code: Select code on a more coarse grained model, e.g. anonymous class, then the method, then the inner class, then the outer class.
- Working on XML tag body: Copy all sibilings and the parent tag by calling this action twice and then ctrl + c
Recent change notes
Changes in this version:
- Fixed dependency on the Java plattform classes, e.g. to use SmarterEditor with PyCharm
General usage instructions
Source code repository is at https://github.com/jansorg/SmarterEditor