Skip to content

kstenschke/realigner-plugin

Repository files navigation

Realigner Plugin

Source code of the intellij IDEA Realigner plugin
This is a plugin for the various intellij IDEs, working in IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm, PyCharm CE, AppCode, Android Studio, 0xDBE and CLion.

Description

The Realigner plugin adds three tools for reformatting code:

  • Join (Ctrl+Shift+Alt+J) – Removes newlines from selected lines, optionally joining them using a “glue” string.
  • Split (Ctrl+Shift+Alt+P)- Replaces arbitrary strings with newlines. Splitting with an empty delimiter and w/o selection inserts a newline at the soft-wrap boundary.
  • Wrap / Unwrap (Ctrl+Shift+Alt+W) – Adds or removes a prefix- and postfix- string to a selection, the current line or each of multiple selected lines. Frequently used wraps can be stored as quick-wrap buttons, hint: quick-wrap buttons can be selected via cursor up/down keys as well.

Mac Users: On Macs, the keyboard shortcuts are J, P or W together with Shift+Alt+Cmd

Realigner is helpful e.g. for:

  • Reformatting lines into comma-separated lists
  • Converting lists into lines
  • Breaking up long URLs for easier analysis
  • Quickly commenting-out multiple lines of code even if that particular language is not supported
  • Quickly un-commenting lines of code even if that particular language is not supported
  • Commenting-out / un-commenting using keyboards with layouts not compliant to the keyboard shortcuts for the similar in-built function
  • Reformatting long lines to wrap at the soft-wrap boundary (120 chars)

Credits

The icons used in this plugin in 16×16 pixel resolution are part of the Fugue iconset by p.yusukekamiyamane
The retina icon variants have been adapted (combined details, changed colors, contrast and proportions) for this plugin to resemble the Fugue icons, out of icons from the following iconsets:

Changelog

Read full changelog: https://github.com/kstenschke/realigner-plugin/blob/master/CHANGELOG.textile

License

Copyright 2012-2018 Kay Stenschke

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.