Scratches
RubyMine provides a temporary editor. You can create a text or a piece of code for search or exploration purposes. RubyMine suggests two types of temporary files:
- Scratch files
- The scratch files are fully functional, runnable, debuggable, etc. They require a language to be specified and have an extension. The scratch files are created via Ctrl+Shift+Alt+Insert.
- Scratch buffers
- The scratch buffers are only intended for pure editing, and as such they do not require specifying a language and do not have an extension. The scratch buffers belong to
.txt
type by default.This action has no dedicated shortcut, but you can configure one as described in the section Configuring Keyboard Shortcuts.
Buffer files are reused after creating 5 files. After reuse, the content and language are reset.
Create scratch files
- Do one of the following:
- On the main menu, choose .
- Press Ctrl+Shift+Alt+Insert.
- Right-click anywhere in the Project Tool Window and choose New | New Scratch File from the context menu.
- Press Ctrl+Shift+A, start typing
scratch file..
, and choose the corresponding action.
- Select the language of the future scratch from the list that RubyMine suggests. RubyMine creates a temporary editor tab with the name
scratch.<extension>
. In the future, the default names will bescratch_<number>.<extension>
. The scratch file is added to the Scratches and Consoles directory located in the Project tool window. - Type the desired code.
Create scratch buffers
- Press Ctrl+Shift+A or search everywhere.
- Start typing
New Scratch Buffer
:RubyMine creates a temporary editor tab with the name
buffer1
. In the future, the default names will bebuffer<number>
. - Type the desired code.
Note that though this action has no keyboard shortcut, you can still configure one as described in Configuring Keyboard Shortcuts. You can also switch from scratch files to scratch buffers by reassigning the shortcut to avoid garbage buildup.
Observe the available scratches
-
To see the list of created scratch files and buffers, open the Project tool window and select :
-
To sort scratch files by types, right-click the Project tab and select Sort by Type: RubyMine sorts scratch files alphabetically based on their extensions.
Close scratches
Click on the editor tab. Refer to the section Closing Files in the Editor for details.
Delete scratches
In the Project tool window, in the directory, right-click the scratch file or a buffer you want to delete and from the context menu choose Delete.
Change the language of a scratch
If you want to change the scratch's language when a scratch is already created, you can do so with the aid of the editor's context menu.
- In the Project Tool Window, in the , right-click the scratch file for which you want to change the language.
- From the context menu, select .
- Select the desired language.
Note the following:
- Four latest items appear on top of the list before a separator.
- You can narrow down the list by typing the language name.
- You can assign a shortcut to this action as described in Configuring keyboard shortcuts.
- action keeps extension in sync, if it exists.
Rename, copy and move scratches
RubyMine makes it possible to perform rename refactoring of the scratches.
- In the Project Tool Window, in the directory, select the scratch file to be renamed.
- Press Shift+F6.
Copy and Move file actions are available the same way. Refer to the sections Move and Copy for details.
Note that when you copy a scratch, RubyMine includes the respective extension that corresponds to the file type:
- In the Project Tool Window, in the directory select the scratch file to be copied.
- Press F5. RubyMine shows the appropriate dialog:
This dialog box shows the scratch name with the corresponding extension. Note that when you copy a scratch buffer, the extension is
.txt
:
Important notes about scratches
Note the following:
- The scratch code in scripting languages is executable: you can run and debug it.
- Local History for scratches is supported.
- It is possible to perform clipboard operations with scratches.
- The scratches are stored, depending on your operating system,
- Under RubyMine home, in the
config/scratches
directory (on Windows/*NIX) ~/Library/Preferences/<RubyMine>XX/scratches
(on macOS)
- Under RubyMine home, in the
- You can undo or redo changes in scratches.