Missing In Actions

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio
Sep 19, 2018
4 182
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
    • splice individual entries into delimited list, optionally quoting each entry
    • see caret information stored on the clipboard for each content entry
  • Batch Search/Replace to search/replace multiple strings at the same time
  • 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

Next 1.6.10 - Bug Fix Release
  • Fix: NPE in plugin content handling
Next 1.6.8 - Bug Fix Release
  • Fix: #22, Clipboard history: ignore empty copy/paste entries (No characters, only whitespaces and line returns). Add new option “Keep only latest blank clipboard content” in Settings > Missing In Actions > Paste. When enabled, only the latest blank clipboard content is kept in history.

    NOTE: removal of old blank content is done when empty content is copied to the clipboard.

Next 1.6.6 - Bug Fix Release
  • Fix: batch search/replace window exception in DataGrip
  • Fix: Enable batch replace tool window to work in dumb mode
  • Fix: make default directory for export/import batch search replace files, one directory above .idea if project file parent dir has that name.
1.6.4 - Bug Fix Release
  • Fix: release error
1.6.2 - Bug Fix Release
  • Fix: 2016.3 compatibility
  • Fix: error attribute used was only defined in 2017, changed to ERRORS_ATTRIBUTES
  • Fix: update for latest API
  • Fix: tool window icon to 13x13
1.6.0 - Bug Fix & Enhancement Release
  • Fix: recall selection from list action not working
  • Fix: deleting all lines in batch replace tandem mode
  • Fix: add index validation to stashed range marker removal
  • Add: batch replace word options for error highlight (!) and warning highlight (?) to allow flagging error and warnings as search strings
  • Fix: batch replace options lost leading blank lines when saved or exported options
  • Fix: after paste adjustment range out of bounds exception
  • Fix: disabling To Carets button in multi-paste dialog on opening dialog
  • Add: paste w/o formatting action to multi-paste dialog
  • Add: batch replace window test for caret offset being in found range before replacing. Fixes issue with mouse click action assigned to
  • Add: convert to carets action in paste selection dialog to convert multi-line clipboard contents to multi-caret selection.
1.5.0 - Bug Fix & Enhancement Release
  • Add: - to batch search options, when it is at beginning of line disables the row from search replace ops. Quick way to disable some and enable others. Really need a dropdown or check box to control this in the margin.
  • Add: copy batch search regex to clipboard to allow global search using IDE functionality
  • Fix: carets keep/drop not checking if a file has a virtualFile() before trying to get PsiFile
  • Add: Replace with Selection Text and Replace with Selection Text from List actions to replace currently selected text with text from recalled selection.
  • Change: replace batch replace highlights checkbox and tandem edit checkbox with toggle buttons to save space.
  • Add: batch replace sort up/down for search and replace editors. Case sensitivity for the sort controlled by the Case checkbox.
  • Add: batch replace Tandem Edit mode, deleting or inserting lines in one editor panel replicates the action to the other two. Allows to keep the search/replace/option lines aligned when adding/removing lines.
  • Fix: batch replace to set pending if replace invoked but not enabled, to allow mouse click for replace. If word is found then will replace. Resets pending in 250 ms.
  • Fix: batch replace to disable replace/replace all/exclude if document is not writable.
  • Add: after batch replace Next, Prev, Replace, Replace All, Exclude/Include and Reset, give focus back to the editor.
  • Fix: batch replace Case and Word checkboxes did not update highlights when their value changed.
  • Change: select word and move to next will select this word or if not identifier, the previous word. Reverse for select prev word: select this word if not identifier then select next word and move to previous word.
  • Fix: different camel humps mode delete would consider trailing underscores as part of the last word part. Now stops at underscores.
  • Fix: disposed editor being passed through to active editor for batch replace tool window
  • Add: Select word and move to next/previous word. If caret not on identifier then first move it to next/prev identifier then perform action.
  • Add: Camel Humps and Different Camel Humps mode versions of custom delete/backspace actions.
  • Add: Next/Previous highlighted word action to move caret to next/previous highlighted word
  • Fix: batch replace all was too slow trying to use findPrev(). Now does does not update highlights or caret. Just modifies document.
  • Add: Toggle on paste preserve action and setting to disable on paste preserve case functionality without having to change the options when it gets in the way.
  • Fix: NPE when caret spawning/searching from active caret search
  • Fix: reduce toolbar size by moving most actions to popup menus: isolation, highlights, carets.
  • Fix: saving a new preset would reset the preset name and load the search/replace options for the first preset in the preset list.
  • Fix: refactor highlight and isolation line code into re-usable classes.
  • Fix: check box with color button rendering, add margin, border to color button and anti-aliased drawing of border.
  • Fix: file editor to editor conversion to work properly, FileEditor -> TextEditor -> .getEditor().
  • Add: highlights and caret change handling for batch search/replace.
  • Add: tool window for batch search/replace instead of modal
  • Add: presets and import/export to batch search/replace to allow selecting a set of presets.
  • Add: customizable backspace and delete actions with variations: spaces, alternating word, word excluding 1 space, and word. All are customizable with regex for selecting what is deleted.
  • Add: Batch search/replace action and dialog. Each line in search will be replaced by corresponding line in replace. Third pane is options, each is a character: c - case sensitive, i - case insensitive, w - word (same as be), e - end word boundary, b - begin word boundary.
  • Fix: toolbar combo action incompatibility with 2018.2 intellij-community master branch
  • Fix: plugin description forgot to update in plugin.xml for 1.4.8
  • Change: change caret search regex for multi-caret search on non-identifier character c to c instead of exact c count, and caret spawning regex to match the exact char count with preceding and following character not being c to prevent finding stretches with greater count.

General usage instructions

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