Skip to content

furudean/vscode-renpy-warp

Repository files navigation

Ren'Py Launch and Sync

Launch and sync your Ren'Py game at the current line directly from inside Visual Studio Code.

Features

  • Start and quit your Ren'Py game directly from Visual Studio Code
  • Warp games to a specific line, or jump to a label
  • Move cursor position in Visual Studio Code as dialogue progresses with the Follow Cursor mode
  • Automatically enable autoreload when files change (with a setting)
  • Can discover and bind to games that were started outside of Visual Studio Code

Commands

The extension provides many commands to interact with Ren'Py. You probably want to know about the following:

Command Shortcut Shortcut (Mac)
Start Ren'Py project Alt+Shift+L +Shift+L
Open Ren'Py at the current line Alt+Shift+E +Shift+E
Open Ren'Py at the current file Alt+Shift+F +Shift+F
Open Ren'Py at label Alt+Shift+J +Shift+J
Toggle: Warp to selected line as cursor moves Alt+Shift+C +Shift+C

Triggers

The commands can be triggered in several ways:

  1. By using title bar run menu
  2. By using the right click context in an editor
  3. By using the right click context menu in the file explorer
  4. By using the status bar
  5. By opening the command palette and typing the command, i.e. Renpy: Open Ren'Py at current line
  6. Via keyboard shortcut (see here)

Configuration

You must set renpyWarp.sdkPath to a directory where the Ren'Py SDK can be found. If you haven't done so, a prompt will appear to inform you to set it.

Strategy

You may want to customize what to do with an open Ren'Py instance when a new command is issued. In Renpy Launch and Sync, this is called a "strategy".

The strategy is controlled with the setting renpyWarp.strategy, which can be set to one of the following values:

Update Window

When a command is issued, replace an open editor by sending a renpy.warp_to_line() command to the currently running Ren'Py instance

New window
Open a new Ren'Py instance when a command is issued
Replace window
Kill the currently running Ren'Py instance and open a new one when a command is issued

Follow Cursor

Renpy Launch and Sync can keep its cursor in sync with the Ren'Py game. The direction of this sync can be controlled with the setting renpyWarp.followCursorMode

Ren'Py updates Visual Studio Code
The editor will move its cursor to match the current line of dialogue in the game.
Visual Studio Code updates Ren'Py
Ren'Py will warp to the line being edited. Your game must be compatible with warping for this to work correctly.
Update both
Try and keep both in sync with each other. Because of how warping works, this can be a bit janky, causing a feedback loop.

Cursor syncing can be turned on by default with the setting renpyWarp.followCursorOnLaunch.

Focus Window on Warp

When a warp occurs, you may want the Ren'Py window to be focused. This can be configured with the setting renpyWarp.focusWindowOnWarp.

You might be prompted to allow Visual Studio Code to control other applications when this setting is enabled. After allowing this, restart Visual Studio Code to apply the changes.

The accessibility prompt on macOs

Version support

Ren'Py 8+ is fully supported.

Ren'Py 7 and earlier does not support RPE features.

Troubleshooting

In order to use the current line/file feature, your game must be compatible with warping as described in the Ren'Py documentation. This feature has several limitations that you should be aware of, and as such may not work in all cases.

Attribution

The icon for this extension is a cropped rendition of the Ren'Py mascot, Eileen, taken from the Ren'Py website.