RubyMine 2023.3 Help

Macros

Macros provide a convenient way to automate repetitive procedures you do frequently while writing code. You can record, edit, and play back macros, assign shortcuts to them, and share them. For example, you can create a macro for reformatting a file when saving it Control+S.

  • Macros can be used to combine a sequence of editor-related actions within a file.

  • You can't record button clicks, navigating to popups, and accessing tool windows, menus, and dialogs.

A temporary macro can be used without a name. For permanent macros, assign unique names.

Record a macro

  1. In the main menu, go to Edit | Macros | Start Macro Recording.

  2. Perform necessary actions that you want to be recorded.

  3. Select Edit | Macros | Stop Macro Recording.

  4. In the Enter Macro Name dialog, specify the name for the new macro and click OK.

    If the macro is intended for temporary use only, you can leave the name blank.

Play back a macro

  • To play back a temporary macro, select Edit | Macros | Play Back Last Macro.

  • To play back a named macro, select Edit | Macros and click the necessary macro name.

Edit macros

  • Select Edit | Macros | Edit Macros.

The left side of the dialog shows a list of available macros with the following buttons:

the Remove button

Remove the selected macro.

the Edit button

Edit the name of the selected macro.

The right side of the dialog shows a list of actions in the selected macro with the following button:

the Remove button

Remove the selected action from the macro.

Bind a keyboard shortcut to a macro

  1. Press Control+Alt+S to open the IDE settings and then select Keymap.

  2. Create a new keymap or select an existing keymap from the list of keymaps.

  3. Expand the Macros node and select the macro for which you want to create a keyboard shortcut.

Alternatively, you can press Control+Shift+A to open the Find Action dialog, type your macro name, select it, and then press Alt+Enter to bind a shortcut .

Share macros

If you have at least one macro recorded, you can export them along with any other settings and share them with others.

  1. In the main menu, go to File | Manage IDE Settings | Export Settings.

  2. In the Export Settings dialog, select Macros and any other settings that you want to share.

  3. Select the path for the s archive and click OK.

Give the settings archive to someone who will import the settings and use your macros.

Example: Create a macro for reformatting a file on save

This example shows how to create a macro that reformats the current file Control+Alt+L and saves your project when you press Control+S.

  1. Record a macro with the reformat and save actions.

  2. Bind the Control+S shortcut to the created macro.

Record the macro

  1. Open any file in the editor.

  2. In the main menu, go to Edit | Macros | Start Macro Recording.

  3. Press Control+Alt+L to reformat code (Code | Reformat Code). Then press Control+S to save all changes (File | Save All). RubyMine will show the performed actions in the status bar.

    Macro recording
  4. Select Edit | Macros | Stop Macro Recording.

  5. In the Enter Macro Name dialog, specify the name for the new macro and click OK.

    Enter Macro Name dialog

Assign a shortcut for the new macro

  1. Press Control+Alt+S to open the IDE settings and then select Keymap.

  2. Expand the Macros node and select the created Reformat and Save macro.

  3. Right-click the macro and choose Add Keyboard Shortcut in the context menu.

    Add Keyboard Shortcut
  4. In the Keyboard Shortcut dialog, press Control+S to be used as the shortcut and click OK.

  5. RubyMine will warn you that the shortcut is assigned to another action. Click Remove to remove the Control+S shortcut for the Save All action. You can always reassign it later if necessary.

  6. Click OK to apply the changes.

Now, when you press Control+S, RubyMine will invoke the new macro: reformat the current file and save your project.

Last modified: 10 January 2024