Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>PZ Studio 42New to Visual Studio Code? Get it now.
PZ Studio 42

PZ Studio 42

escapepz

|
1 install
| (0) | Free
Effortlessly create and maintain Lua mods for Project Zomboid with intuitive structuring.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PZ Studio (VS Code)

PZ Studio banner

Version Project Zomboid Ask_Zread DeepWiki

PZ Studio is a powerful environment designed to streamline the creation, management, and building of Lua mods for Project Zomboid. This extension brings the capabilities of the PZ Studio CLI directly into VS Code, providing a seamless workflow for modders.

⚠️ This extension has moved to pzstudio42.

The PZ Studio VS Code extension now lives at its new marketplace listing: PZ Studio (pzstudio42). Version 0.42200.1 is published to both the old listing (escapepz.pzstudio) and the new one, so this notice can point you to the new home. Install from the new listing — after 0.42200.1 the old listing stops receiving updates and this notice is removed.

🚀 Features

  • Instant Project Creation: Initialize a full modding project structure with templates in seconds.
  • Multi-Mod Support: Manage multiple mods within a single project workspace.
  • Automated Building: Build your workshop-ready folders with one click, including mod.info generation and dual-branch support (Main & Dev Branch).
  • Project Explorer: A dedicated tree view mirroring your projects and mods — build, clean and configure mods with inline buttons.
  • In-Place Documentation: Automatically clones the latest modding docs and guides into your project.
  • Integrated Output Logging: Standardized timestamps and labels ([INFO], [WARN], [ERROR], [DEBUG]) in the VS Code output channel for easier troubleshooting.
  • Actionable Errors: Failures raise a localized notification with Show Details opening the PZ Studio output channel; verbose runs reveal it automatically.
  • Multilingual UI: Ships in 25 languages — pzstudio.language overrides the VS Code display language and applies live.
  • Version Compatibility: Optimized for Project Zomboid build 42.x and later versions.

🛠 Commands

Access these commands via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

Command Description
PZStudio: New Project Create a new project from the project template.
PZStudio: New Project Here Create a new project inside the opened workspace folder.
PZStudio: Add Mod Add a new mod to a project.
PZStudio: Build Build the project and deploy to the Workshop folder.
PZStudio: Clean Clean the output directories.
PZStudio: Delete Mod Remove a mod from the project.
PZStudio: New Language Add a new translation template to a mod.
PZStudio: Rename Mod ID Safely rename an existing mod (folder + project.json key).
PZStudio: ModInfo Generate Generate mod.info files in your source tree.
PZStudio: Update Refresh the cached templates (libraries and documentation).
PZStudio: Run Diagnostics Check a project (project.json, mods, output folder, template cache, build target) and list every finding with a hint. The same report pzstudio doctor prints.
PZStudio: Toggle Development Sync Keep the workshop outputs synced while you edit: saved files apply incrementally, mod.info/.pzstudioignore edits re-sync their mod, project.json edits trigger a full rebuild. Run again to stop.

Commands that always act on one specific row — Edit Mod Configuration, the per-mod build-state toggles, explorer refresh and the All/Essential files toggle — are intentionally not in the Command Palette: they live in the PZ Project Explorer, where their target is unambiguous.

🌲 PZ Project Explorer

The activity-bar view mirrors the real folder structure: every project found in the workspace (workspace roots and first-level subfolders) with its mods.

  • Project rows carry inline Build and Clean buttons; both ask for confirmation first (disable with pzstudio.confirmBeforeRun). Right-click a project for Run Diagnostics — the row description also shows the finding counts (✗ 1 ⚠ 2) with the full list in the tooltip.
  • Mod rows show their build state right in the row (included / dev builds only / excluded from build) with inline buttons: include/exclude toggle, dev_branch-only toggle, generate mod.info, rename and delete.
  • Right-click a mod for Edit Mod Configuration (author, description, build.modInfo, build inclusion, …).
  • Every command that needs a mod resolves the project first — the active editor's project, then the only discovered project, then a quick-pick labeled with the workshop title — so multi-root workspaces and projects in subfolders always target the right files.

⚙️ Configuration

You can configure PZ Studio directly through VS Code settings (settings.json). These settings override the global ~/.pzstudio/config.json but can be overridden by project-specific settings in your project.json where applicable.

Setting Description
pzstudio.outdir The directory where your built workshop files will be deployed (overrides global config, but overridden by project.json's outdir).
pzstudio.useSymlinks Whether to use symlinks (junctions) when scaffolding templates (overrides global config).
pzstudio.verbose Enable verbose/diagnostic output for all commands (--verbose) — [DEBUG] lines in the PZ Studio output channel.
pzstudio.offline Skip remote template refresh and use cached/legacy data (--offline). Applies to New Project and Add Mod.
pzstudio.forceUpdate Force refresh of cached templates (--force-update). Applies to New Project and Add Mod.
pzstudio.build.target Build target mode — default, production, development or both. Controls whether the main or dev_branch workshop output is built. An explicit task target replaces this setting.
pzstudio.gameBuild Game build the diagnostics compatibility check compares the project's pzBuildCompatibility against (e.g. 42.20.1). Leave empty to disable the check.
pzstudio.confirmBeforeRun Ask for confirmation before running Build or Clean (protects against misclicks while the game is debugging the output).
pzstudio.templates.project.url Repository URL for the default project template (overrides global config).
pzstudio.templates.project.ref Git ref (branch, tag, or commit) for the project template.
pzstudio.templates.mod.url Repository URL for the default mod template (overrides global config).
pzstudio.templates.mod.ref Git ref (branch, tag, or commit) for the mod template.
pzstudio.templates.workshop.url Repository URL for the default workshop template (overrides global config).
pzstudio.templates.workshop.ref Git ref (branch, tag, or commit) for the workshop template.
pzstudio.templates.language.url Repository URL for the default language template (overrides global config).
pzstudio.templates.language.ref Git ref (branch, tag, or commit) for the language template.
pzstudio.language Display language for the extension UI. auto (default) follows the VS Code display language.
pzstudio.newProject.defaultLocation Preferred default folder for new projects (user setting): the New Project picker opens at this location; cancelling the picker aborts project creation without selecting a fallback destination.

Precedence Order:

  1. project.json (Project-specific, highest precedence)
  2. VS Code Workspace Settings (.vscode/settings.json)
  3. VS Code User Settings
  4. Global CLI Config (~/.pzstudio/config.json, lowest precedence)

🌐 Language

The extension UI (explorer tree, prompts, notifications) ships in 25 languages. By default it follows the VS Code display language; set pzstudio.language to a specific language code (e.g. vi, ja, zh-cn) to override it independently of VS Code. The setting applies live — no window reload needed.

Command titles and setting descriptions rendered by VS Code itself (Command Palette, Settings UI) always follow the VS Code display language — the VS Code extension API does not allow an extension to localize manifest strings independently.

📂 Project Structure

A typical PZ Studio project looks like this:

my-project/
├── .docs/                  # Cloned modding documentation
├── .libraries/             # Umbrella Lua libraries for IDE support
├── my_mod/                 # Your mod's Lua source and assets
│   ├── media/
│   └── mod.info            # Managed by PZ Studio
├── project.json            # Project-wide configuration
└── workshop/               # Workshop assets (preview.png, etc.)

📦 Automated Workshop Deployment

When you run the Build command, PZ Studio creates two versions of your mod in your Zomboid Workshop folder:

  1. Main Workshop: The production-ready mod.
  2. Dev Branch: An unlisted version with the _dev suffix, allowing you to test changes in multiplayer without affecting your live subscribers.

📝 Requirements

  • Node.js: Required to run the underlying engine.
  • Git: Required for cloning documentation and libraries.

🔗 Links

  • Marketplace: Visual Studio Marketplace
  • Repository: GitHub
  • Support: Issue Tracker
  • License: Apache-2.0

☕ Support

If you find this tool useful, consider supporting the developers:

  • Support escapepz on Ko-fi
  • Support konijima on Ko-fi

Based on the original Project Zomboid Studio.

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