Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>Ren'Py ProofreaderNew to Visual Studio Code? Get it now.
Ren'Py Proofreader

Ren'Py Proofreader

StarWright

|
2 installs
| (0) | Free
Live spelling and grammar checking for the dialogue and narration in Ren'Py scripts.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Ren'Py Proofreader

Spelling and grammar checking for Ren'Py visual novels, right in VS Code. It reads your dialogue, narration and menu choices the way a player sees them, and leaves the code alone.

  • Checks as you type. Mistakes in the script you're working on are underlined a moment after you stop typing.
  • Checks the whole project with one shortcut, with a progress bar you can cancel.
  • Knows Ren'Py. Text tags like {i} and {w=0.5}, [variables], Python blocks, image names and file paths are skipped. Character names from Character("...") are accepted automatically.
  • Private. Everything runs on your own computer. Your scripts are never sent anywhere.

Spelling uses cspell, the engine behind Code Spell Checker. Grammar uses LanguageTool, running locally. Both follow one word list, and the results show up together.

Getting started

  1. Install the extension.
  2. It downloads LanguageTool and a private copy of Java once, right after installing (about 300 MB). They're stored inside the extension's own folder and change nothing else on your computer. Already have them? See Using your own Java and LanguageTool below.
  3. Open a .rpy script and start writing.

Shortcuts

Mac Windows / Linux
Turn checking as you type on or off Ctrl+Cmd+L Shift+Alt+L
Check the whole project Ctrl+Cmd+P Shift+Alt+P
Fixes for the problem under the cursor Cmd+. Ctrl+.
Next / previous problem F8 / Shift+F8 F8 / Shift+F8
Ignore the problem under the cursor until the next project check Ctrl+Cmd+X Shift+Alt+X

On most Mac keyboards, hold fn for F8.

The Proofread button in the status bar also turns checking as you type on or off.

Colors

  • Yellow: a mistake, either spelling or grammar.
  • Blue: a style suggestion, advice you can take or leave (like "add a comma before 'and'"). Hide them all with the renpyProofreader.showStyleSuggestions setting.

Fixing things

Put the cursor on a flagged word and press Cmd+. (Ctrl+. on Windows and Linux) to:

  • change it to a suggestion,
  • add it to your word list (character names, made-up words, slang), or to the project's shared one, which also clears it everywhere in the project at once,
  • ignore just this one until the next project check,
  • or turn off that grammar rule for good.

Working through a project check

Clicking a problem in the Problems panel works, but the panel loses your place as soon as the problem is fixed and disappears from the list. Instead, click the first one, then press F8 after each fix to go to the next problem (Shift+F8 goes back). Your place is wherever your cursor is, so nothing can lose it, and the message and Cmd+. fixes show right there.

To leave a problem as it is, press Ctrl+Cmd+X (Shift+Alt+X on Windows and Linux) on it, or choose Ignore this one from Cmd+.. It stays hidden as you move around and edit, until the next project check, until checking as you type is turned off and on again, or until VS Code restarts.

Running the project check again is quick: files that haven't changed since they were last checked keep their results instead of being checked again. Adding a word or turning off a rule only rechecks the files it affects. Ren'Py Proofreader: Clear Spelling and Grammar Results makes the next check start fresh.

The word list

Accepted words are kept in VS Code's settings, so nothing extra lands in your project folder:

  • Your word list: Cmd+. > Add to your word list saves the word in your own settings, for every project. With VS Code's Settings Sync on, it follows you to your other computers.
  • A project's shared list: Cmd+. > Add to this project's word list saves it in the project's .vscode/settings.json instead, which a team can commit to share one list.

Both lists are used together. To see or edit them, open Settings and search for Ren'Py Proofreader: Words. Adding a name also covers its possessive (Eileen covers Eileen's).

Prefer a plain text file? Point renpyProofreader.wordList at one (one word per line, # for comments). It's off unless you set it, and the extension never creates the file.

Written for visual novels

Casual dialogue isn't treated as a mistake. Rules that only complain a word is informal (gotta, gonna, anyways...) are off by default, along with a few that misfire on scripts. A line starting with ...Word isn't flagged for a missing space, and struck-through corrections like {s}she{/s} he are read the way the player reads them.

Settings

Setting What it does
renpyProofreader.enabled Check as you type (on by default).
renpyProofreader.projectCheckScope Project check covers the whole workspace (default) or the current file's folder.
renpyProofreader.exclude Folders the project check skips. Translations (tl) are skipped by default.
renpyProofreader.words Your accepted words (and a project's, if it has its own list).
renpyProofreader.wordList Optional: also read accepted words from a text file. Off by default.
renpyProofreader.disabledRules Grammar rules to skip. Each grammar problem shows its rule name.
renpyProofreader.showStyleSuggestions Show style suggestions (on by default).
renpyProofreader.liveResultsInProblemsPanel Turn off to show results from typing only as squiggles, keeping the Problems panel for project checks.
renpyProofreader.tagReplacements Custom text tags to read as other text, like {"q": "\""} for a tag that stands for quote marks.
renpyProofreader.javaPath, renpyProofreader.languageToolPath Use your own Java and LanguageTool instead of the download.

Using your own Java and LanguageTool

If you already have Java 17 or newer and an unpacked LanguageTool folder, point the javaPath and languageToolPath settings at them and nothing is downloaded. These two settings only apply to the computer you set them on (Settings Sync leaves them out), so your other computers still get the automatic download. To remove the downloaded copies, run Ren'Py Proofreader: Delete the Downloaded Java and LanguageTool from the Command Palette.

Good to know

  • English only for now.
  • A typo that happens to be a real word ("wether" for "weather") usually isn't caught. That's true of spell checkers in general.
  • The first check after VS Code starts takes a few seconds while LanguageTool starts up.
  • Something not working? The log is in the Output panel under Ren'Py Proofreader.

Credits

Spelling by cspell (MIT). Grammar by LanguageTool (LGPL 2.1), downloaded from languagetool.org. Java from Eclipse Temurin (GPL 2.0 with the Classpath Exception), downloaded from Adoptium.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft