TurboWarp-Plus-EditorGitHub

Feature guide 6/12 · Updated November 14, 2026

Find, place and organize blocks

Find blocks in the horizontal palette at the top of the code area and place them. Move around long code with the minimap, and tidy it up with context menus.

6.1 Place blocks from the horizontal palette

In the Plus layout, the categories are lined up horizontally at the top of the code area, in this order: "Motion", "Looks", "Sound", "Events", "Control", "Sensing", "Operators", "Variables", "Lists", and "My Blocks". Adding an extension adds its category as well. Variable and list blocks are split into "Variables" and "Lists".

Click a category to open a flyout of its blocks below it. Drag the block you want into the code area. To close the flyout, press Esc or click outside it. Each category remembers its flyout's scroll position.

Normally you cannot switch the palette between horizontal and vertical display. If you open the editor with twPlusHorizontalBlockPalette=1 added to the URL, you can right-click the palette to switch between horizontal and vertical display. Your custom category order carries over when you switch.

Horizontal palette · Restoring the scroll position

6.3 Resize a category flyout

Drag the diagonal lines at the bottom right of the flyout to change its width and height. The size is saved in the browser for each category. When the pane or screen is narrow, the flyout fits within the available space, and it opens at the saved size again once there is enough room.

The bottom right of the Looks flyout. In the bottom-right corner is a diagonal-line handle for changing the width and height.
The diagonal lines at the bottom right of the flyout are the resize handle.

On a large screen, if you want the palette always visible, you can also open the block palette in a separate window.

Resizing the flyout

6.4 Reorder the categories

Press and hold a category, then release it on the frame that marks the destination to reorder it. While you drag, a preview of the category follows the pointer. Release it outside the palette or press Esc to cancel. Reloading the page restores the default order.

In the horizontal palette, the Motion category is held down and being moved to the position of Sound. Sound has a destination frame, with a preview of Motion over it.
Reorder categories while watching the preview of the held category and the destination frame.

Reordering categories · Preview while dragging

6.5 Open the block palette in a separate window

Choose "Open block palette in another window" from "Editor panel layout" to move the horizontal palette into a separate browser window. Choose a category with the round category buttons on the left, then drag blocks into the editor's code area. The "Block palette layout" button at the top right shows the current arrangement as an icon. Press it to switch the arrangement with "Arrange horizontally" and "Arrange vertically", or choose "Return this panel to the editor" to bring the palette back into the editor.

The block palette opened in a separate window. Round category buttons from Motion to My Blocks are stacked on the left, and Motion blocks are shown. The layout button is at the top right.
The block palette in a separate window. While it is there, the horizontal palette inside the editor is hidden.

Palette in a separate window · Round category buttons · Showing the arrangement

6.6 Delete blocks by dropping them on the palette

When you drag a block from the code area onto the palette, a trash can appears to show that releasing it there will delete it. The same happens when you drag back a block you just took from the palette. If you move it back to the code area without releasing, nothing is deleted.

Delete preview · Returning blocks taken from the palette

6.7 Move around long code with the minimap and zoom

In the Plus layout, the minimap at the bottom right of the code area gives an overview of where all of the open sprite's blocks are. The minimap and the buttons below it appear only while the pointer is over the code area. The frame in the minimap is the area currently in view. To move to distant blocks, click the destination in the minimap or drag the frame. Use the buttons below it to zoom out, zoom in, or reset the zoom.

A code area with scripts placed far apart at the top left and bottom right. At the bottom right are the minimap and the zoom out, zoom in, and reset buttons.
The minimap at the bottom right shows all of this sprite's scripts, and its frame marks the area in view.

To hide the minimap, specify twPlusWorkspaceMinimap=0.

Minimap controls · Zoom and placement · Showing it on the hovered panel

6.8 Work with context menus

In the context menus for blocks, empty space in the code area, sprite tiles, costumes, sounds, and so on, each item has an icon that represents its action.

The context menu for empty space in the code area: Undo, Redo, Clean up Blocks +, Add Comment, Delete 9 Blocks, Import Script, Paste, and Change code layout view, with a submenu showing Normal layout view (checked), Z layout view, and N layout view.
The context menu for empty space in the code area, with the "Change code layout view" submenu open.
The context menu for a sprite tile: Open, duplicate, export, Rename sprite, delete, and create folder, each with an icon.
The context menu for a sprite tile.
The context menu for a block: Duplicate, Add Comment, Delete Block, Export Script, Copy, Make Space, Copy All, Copy Block, and Cut Block, each with an icon.
The context menu for a block. Export has a downward arrow and delete has a trash can icon.
Main items
Where you right-clickMain items
BlockDuplicate, Add Comment, Delete Block, Export Script, Copy. From addons: "Make Space", "Copy All", "Copy Block", "Cut Block"
Empty space in the code areaUndo, Redo, Clean up Blocks, Add Comment, Delete Blocks, Import Script, Paste, Change code layout view
Sprite tileOpen, duplicate, export, Rename sprite, delete, create folder
Backdrops tileOpen, Export Stage
Costume or soundduplicate, export, delete

Items added by addons (exporting a block as an image, switching between local and global variables, moving to the front or back, and so on) also have icons. How to export and import scripts and how to copy and paste them is explained in Transfer scripts and the stage to another project.

Switching the code layout view and copying code to another sprite are covered in Rearrange code and copy it to another sprite.

Action icons in context menus · Shown by default

6.9 Rearrange code and copy it to another sprite

Switch the code layout view

Right-click empty space in the code area and choose "Normal layout view", "Z layout view", or "N layout view" from "Change code layout view". The current view has a check mark. Use these views when you want to read scripts that are far apart in order.

Both views show the scripts packed in a single vertical column, in the order they were followed. Changing the view does not change the positions of the blocks in the project or the edit history. Switch back to "Normal layout view" to edit the blocks in their original positions.

Rearrange code blocks

To actually rearrange block positions, use "Rearrange Code Blocks" in the "Edit" menu. For the scripts in the open code tab, choose an "Order" ("Z · by row" or "N · by column") and a "Direction" ("Vertical" or "Horizontal"), and a preview of the new arrangement appears in the dialog. Confirm with "Rearrange". The order is worked out the same way as in the views above; "Vertical" lines the scripts up in a single column and "Horizontal" in a single row, evenly spaced. A single "Undo" reverts the rearrangement. The steps are also illustrated in the Ball Demo tutorial.

Copy blocks into another sprite's code

Split the panel or open a code panel in a separate window so that the code tabs of two sprites, the source and the destination, are side by side. Drag a block from one code area and drop it in the other to copy it into that sprite. Connected blocks are copied as a whole script, and the original blocks stay where they were, still connected. In the destination, "Undo" cancels the copy. Press Esc while dragging to stop without copying.

Code layout views and rearranging · Moving the view switch to the workspace menu · Copying between code tabs