RubyMine 2021.2 Help

Scratch files

Sometimes you may need to create temporary notes or draft up some code outside of the project context. Instead of switching to a different application for this purpose, you can use scratch files and scratch buffers.

  • Scratch files are fully functional , runnable, and debuggable files, which support syntax highlighting, code completion, and all other features for the corresponding file type. For example, while working on one project, you may come up with an idea for a method that you could later use in another project. You can create a scratch file with a draft of the method, which is not stored in your project directory but can be accessed and opened from another project. You can use scratch files to draft code constructs, HTTP requests, JSON documents, and so on.

  • Scratch buffers are simple text files without any coding assistance features. Scratch buffers can be used for simple task lists and notes to yourself. They are also not stored in the project directory but can be accessed and opened from another project. You can create up to five scratch buffers with default names, which are rotated and reused by clearing the content.

Create scratch files

  1. From the main menu, select File | New | Scratch File or press Ctrl+Alt+Shift+Insert.

  2. Select the language of the scratch file. Scratch files of the same type are automatically numbered and added to the Scratches and Consoles directory of the Project tool window.

Alternatively, you can create a new scratch file with the contents of the current selection in the editor. Select some text or code, press Alt+Enter and then select Create new scratch file from selection. RubyMine will attempt to detect the language of the selected fragment and use the appropriate type and extension. If it can't detect the language of the selection, RubyMine will create the file with the same type and extension as the original file.

RubyMine numbers scratch files sequentially starting from 1. If you close a tab with an empty scratch file, RubyMine deletes it.

Create scratch buffers

  • There is no dedicated menu item for the action to create a new scratch buffer, but you can use the Find Action popup Ctrl+Shift+A and run the New Scratch Buffer action.

The New Scratch Buffer action

You can also create a shortcut for the New Scratch Buffer action as described in Configure keyboard shortcuts.

RubyMine creates a text file named buffer1.txt. The next scratch buffer you create is named buffer2.txt, and so on up to buffer5.txt. When RubyMine reaches that limit, it will recreate buffer1.txt and suggest clearing the content for it. If you want to make sure RubyMine does not clear the scratch buffer after you have five, you can rename it.

View available scratch files and buffers

  • Open the Project tool window and expand Scratches and Consoles | Scratches.

    Scratches in the Project window

Alternatively, you can use the Show Scratch Files action to open a separate popup with all available scratch files:

The Scratch Files popup

By default, RubyMine stores scratch files and buffers in the IDE configuration directory under scratches. They are available from any IDE and project that uses this configuration directory.

Syntax

%APPDATA%\JetBrains\<product><version>

Example

C:\Users\JohnS\AppData\Roaming\JetBrains\RubyMine2021.2

Syntax

~/Library/Application Support/JetBrains/<product><version>

Example

~/Library/Application Support/JetBrains/RubyMine2021.2

Syntax

~/.config/JetBrains/<product><version>

Example

~/.config/JetBrains/RubyMine2021.2

To change the location of the Scratches and Consoles directory, use the idea.scratch.path platform property. To change the location of just the Scratches directory, use the idea.scratch.path/scratches platform property. For more information, see Advanced configuration.

Productivity tips

Change the language of a scratch file or buffer

  1. In the Project tool window, open the Scratches and Consoles | Scratches.

  2. Right-click a scratch file or buffer and then click Change Language.

  3. Select the desired language. You can start typing the name of the language to narrow down the list.

View documentation for scratches

  • Select any scratch file or buffer in the Project tool window and press Ctrl+Q to view quick documentation with the location, type, size, creation and modification date of the file.

Move scratches

  1. In the Project tool window, open the Scratches and Consoles | Scratches directory and select the scratch file to move.

  2. Press F6 and select the target folder in the dialog that opens.

Run an SQL scratch file

To run an SQL scratch file, you need to have a connection to a data source. For this, attach a scratch file to the query console.

When you attach the console, RubyMine resolves the objects in your SQL code. As a result, you can navigate from the SQL code to the database tree.

  • Press Ctrl+Enter or click the Run button in the gutter. In the Sessions window, select a query console.

  • Click the <session on> switcher in the upper right corner of the window and select a console. The switcher menu includes consoles that are associated with the same language as your scratch file.

    If you want to attach a console from another DBMS, change the scratch file language. To change a language, right-click any area in the open scratch file and click Change Language.

  • Right-click any area in the open scratch file and click Execute. In the Sessions window, select a query console.

Last modified: 21 December 2021