Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Ren'Py Text AnalyzerNew to Visual Studio Code? Get it now.
Ren'Py Text Analyzer

Ren'Py Text Analyzer

Visq

|
2,761 installs
| (1) | Free
Analyze word/dialogue counts, character stats, keywords, Ren'Py elements & time estimates for single files and whole projects
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Ren'Py Text Analyzer

A VS Code extension that provides detailed writing statistics for your Ren'Py projects. It tracks word counts, character breakdowns, keyword frequency, pacing estimates, and more. Works on individual files and entire projects.

Overview PNG

Quick Start

  1. Open any .rpy file in VS Code.
  2. The Ren'Py Analyzer panel will appear in the Activity Bar (left panel by default). Click the extension icon to see live stats for the current file.
  3. To analyze your whole project, open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P), type Ren'Py Analyzer: Analyze Entire Ren'Py Project, and press Enter. A Markdown report will open automatically.

Command Palette GIF

Differences from Ren'Py Lint

Cases where this extension's counts may differ from Ren'Py Lint's:

  • Em dashes: words joined by — are counted as two words here, one in Lint.
  • extend statements: this extension merges extend text with the preceding dialogue line; Lint counts them separately.
  • Menu choices: included in counts here; excluded by Lint.
  • Filtering: this extension applies configurable filters, which will generally produce a lower number than Lint's raw count.
  • Block content: screen, style, and transform blocks are excluded by default here.

Known Limitations

  • renpy.say() / say() / e() calls are supported when using direct variable names, None, or simple string literals as arguments. Complex expressions (f-strings, concatenations, other function calls) are not parsed.
  • Dialogue generated through complex runtime Python logic that doesn't use recognizable say statements may not be captured.
  • In the single-file tree view, character name resolution only works if the Character(...) definition is in the currently open file. The project-wide analysis handles this properly.

Configuration

Access settings through File > Preferences > Settings and search for "Ren'Py Analyzer", or right-click the extension in the Extensions list and select "Settings".

Notable options:

  • Word count filtering: stopwords, character names, text tags, interpolation, custom word lists
  • Dialogue parsing: custom narration keywords, how simple quotes and narrator are classified, whether screen/transform/style block content is excluded
  • Keyword list: whether stopwords appear in the list, maximum keywords shown
  • View options: toggle Narration/Thoughts in overall counts, enable/disable sentiment scores, exclude specific speaker tags from analysis entirely
  • CodeLens: enable or disable word counts above label definitions
  • Time estimates: custom WPM for reading vs. speaking
  • Project analysis: folder names or glob patterns to exclude from the project-wide scan

Feedback

If your script structure produces unexpected results — misattributed dialogue, wrong counts, characters not resolving — feel free to reach out.

  • Discord: collynnyy
  • Email: coltosocial@gmail.com

Support

Developed in spare time. If it's useful to you:

Buy Me a Coffee

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft