Missing In Actions

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio
Jan 06, 2018
2 250
Missing In Actions

Adds missing editor actions for end of word navigation but that is just the beginning:

  • Automatic Selection stack, stores last 5 selections by default. Recall last selection or any previous selection from a list.
  • Enable Auto Indent Lines after move line/selection up or down actions to have lines indented automatically.
  • Use Smart Paste to eliminate case change and prefix edits when pasting identifiers. MIA will match case and style of identifier at destination when you paste. Undo to get results before MIA adjusted them.

    Copy myColumnData and paste it over DEFAULT_VALUE to get COLUMN_DATA, reverse the order and get myDefaultValue.

    Works when pasting at the beginning, end and middle of identifiers.

    Supports: camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, dash-case, dot.case, slash/case

    Default prefixes: my, our, is, get, set to allow pasting over member fields, static fields, getters and setters.

  • Enable Auto Line Selections and select full lines without loosing time or column position by moving the caret to the start of line when selecting or pasting. Choose whether you want to paste full line selections: above or below the current line regardless of the caret’s column.
  • Toggle between selection and multiple carets on selected lines to save time re-selecting the same text again.
  • Filter multiple carets saves you time when creating multiple carets by removing carets on blank or comment lines so you can edit only code lines.
  • Enhanced Paste from History dialog:
    • combine, arrange and reverse the order of content entries
    • combine multiple clipboard contents with caret information intact
    • paste and re-create multiple carets from information already stored on the clipboard
    • duplicate line/block for each caret in the clipboard content and put a caret on the first line of the block, ready for multi-caret select and paste
    • see caret information stored on the clipboard for each content entry
  • Many more options and adjustments to make multiple caret text editing fast, efficient and easy.

Plugin website: Missing In Actions GitHub Repo

Bug tracking & feature requests: Missing In Actions GitHub Issues

Download plugin

Recent change notes

1.4.2 - Enhancement Release
  • Add: replace arbitrary string to another string on paste. Useful for quick pasting of template code with changes without needing to edit after paste (treat this as a user provided macro variable).

    Can add RegEx search or plain string. Plain string search is case sensitive.

  • Add: replace user string on paste and duplicate for every character caret of another content. Plain string search is not case sensitive.

    For example: if pasting int FormatAbc(int abc) { myAbc = abc; return myAbc; } with the user search string set to Abc, with clipboard data for the replacement contains 3 carets with def, myHij and setKlmnop then the paste will result in the following being pasted in:

    int FormatDef(int def) { myDef = def; return myDef; }
    int FormatHij(int hij) { myHij = hij; return myHij; }
    int FormatKlmnop(int klmnop) { myKlmnop = klmnop; return myKlmnop; }
  • Add: Replace Macro Variables on Enhanced paste and on duplicate for carets paste. Currently only file name derivations are supported. When pasting in a file with name multi-line-image-url the following will be changed as shown:

    • __Filename__ to multi-line-image-url (as is)
    • __FILENAME__ to MULTILINEIMAGEURL (uppercase)
    • __filename__ to multilineimageurl (lowercase)
    • __FileName__ to MultiLineImageUrl (pascal case)
    • __fileName__ to multiLineImageUrl (camel case)
    • __file-name__ to multi-line-image-url (dash case)
    • __FILE-NAME__ to MULTI-LINE-IMAGE-URL (screaming dash case)
    • __file.name__ to multi.line.image.url (dot case)
    • __FILE.NAME__ to MULTI.LINE.IMAGE.URL (screaming dot case)
    • __file_name__ to multi_line_image_url (snake case)
    • __FILE_NAME__ to MULTI_LINE_IMAGE_URL (screaming snake case)
    • __file/name__ to multi/line/image/url (slash case)
    • __FILE/NAME__ to MULTI/LINE/IMAGE/URL (screaming slash case)
1.4.0 - Bug Fix Release
  • Fix: NPE when projects are being rapidly opened and closed.

  • Fix: #17, Caret don’t move across tab-indented lines

  • Fix: Remove highlighted word carets would not remove the last selection if all carets contained highlighted word selections

  • Fix: size of color chip when using HiDPI displays that need scaling.

1.3.0 - Bug Fix Release
  • Fix: #16, Hide disabled buttons breaks Recall Selection List and Swap Selection actions

  • Fix: #15, Selection continuation with the mouse and Shift modifier is broken

  • Add: multi-caret search accept not found carets action to allow excluding carets with matching search position.

1.2.0 - Enhancement Release
  • Fix: Exclude $ from being considered as part of identifier for purposes of determining word start/end boundary for highlighted words.

  • Fix: conversion from dash, dot and slash to snake case was not working.

  • Add: hide disabled toolbar buttons option to settings

  • Add: button versions of recall selection and swap text to eliminate button text to save toolbar real-estate

1.1.6 - Enhancement Release
  • Change: make Line Selection Mode, Forward Search Caret Spawning and Backward Search Caret Spawning actions toggle actions to show when active.
1.1.5 - Enhancement Release
  • Change: Recall selection from list action text from Recall Selection to Selections to shorten the toolbar button.

  • Change: split settings into tabbed pane per category

1.1.4 - Enhancement Release
  • Add: Line Isolation Mode to “highlight” the isolated lines by “lowlighting” the non isolated lines. Especially useful when duplicating a method or methods for modification. This allows isolating the copies which are to be modified so that they are not confused with the originals.

  • Add: Dark scheme color persistence. Colors in settings reflect the current Dark/Light scheme selection.

1.1.3 - Bug Fix & Enhancement Release
  • Change: allow overlapping selection text swapping by eliminating overlapping part of selections from the swap.
  • Fix: exception in some cases when swapping text and more than set limit of stored selections is already present.
1.1.2 - Enhancement Release
  • Fix: bump up version compatibility to 162.*
1.1.1 - Enhancement Release
  • Fix: exception caused by api change
1.1.0 - Enhancement Release
  • Add: Selection Stack to automatically store the last N selections for a file

  • Add: Recall/Swap selection actions and toolbar buttons

  • Add: Swap Selection Text actions and toolbar buttons to swap currently selected text with text from a stored selection.

General usage instructions

Install and map keys to provided actions and configure in Tools > Missing In Actions