PyCharm 2016.2 Help

Scratches

On this page:

Basics

PyCharm provides a temporary editor. You can create a text or a piece of code for search or exploration purposes. PyCharm 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. So doing, after reuse, the content and language are reset.

Creating scratch files

To create a scratch file

  1. Do one of the following:
    • On the main menu, choose Tools | New Scratch File .
    • Press Ctrl+Shift+Alt+Insert
  2. Select the language of the future scratch from the list that PyCharm suggests. PyCharm creates a temporary editor tab with the name scratch.<extension>. In the future, the default names will be scratch_<number>.<extension>.
  3. Type the desired code.

Creating scratch buffers

To create a scratch buffer, follow these steps:

  1. Press Ctrl+Shift+A or search everywhere.
  2. Start typing the command name New Scratch Buffer:
    new_scratch_buffer

    PyCharm creates a temporary editor tab with the name buffer1. In the future, the default names will be buffer<number>.

  3. Type the desired code.

Note that though this action has no keyboard shortcut, you can still configure one as described in the section Configuring Keyboard Shortcuts. You can also switch from scratch files to scratch buffers by reassigning the shortcut to avoid garbage buildup.

Observing the available scratches

To observe the available scratch files and buffers, do one of the following:

Closing scratches

To close a scratch file or buffer, just click close1 on the editor tab. Refer to the section Closing Files in the Editor for details.

Deleting scratches

To delete a scratch file or buffer, follow these steps:

  1. Switch to the Scratches view of the Project tool window.
  2. Under the Scratches pseudo-folder, right-click the scratch to be deleted, and choose Delete on the context menu.
  3. Confirm deletion.

Changing 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. This is how it's done:

  1. Switch to the Scratches view of the Project tool window, and open for editing the scratch file or buffer you want to change language for.
  2. Right-click the editor background, and choose Change Language (<current language>) on the context menu.
  3. 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 the section Configuring keyboard shortcuts.
    • Change Language action keeps extension in sync, if it exists.

Renaming, copying and moving scratches

PyCharm makes it possible to perform rename refactoring of the scratches. To rename a scratch, follow these steps:

  1. In the Project tool window, switch to the Scratches view and select the scratch to be renamed.
  2. Press Shift+F6.

You can also perform renaming in the other ways:

  • In NavBar: Jump to NavBar (Alt+Home ) -> Rename (Shift+F6 ).
  • In the Project tool window | Scratches view: Select In | Project | Scratches ( Alt+F1 ) -> Rename (Shift+F6).
  • Right from the editor: Refactor | Rename File.

Copy and Move file actions are available the same way. Refer to the sections Copy and Move Refactorings for details.

Note that when copying a scratch, PyCharm includes the respective extension that corresponds to the file type. This is how it's done:

  1. In the Project tool window, switch to the Scratches view and select the scratch to be copied.
  2. Press F5. PyCharm shows the following dialog box:
    copy_scratch

    This dialog box shows the scratch name with the corresponding extension. Note that when you copy a scratch buffer, the extension is .txt:

    copy_scratch_buffer

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 PyCharm home, in the directory config/scratches (on Windows/*NIX)
    • ~ Library->Preferences-><PyCharm>XX->scratches(on OS X)
  • You can undo or redo changes in scratches.

See Also

Last modified: 23 November 2016