Skip to content
| Marketplace
Sign in
Visual Studio Code>Themes>Witcher 3: Wolf School DarkNew to Visual Studio Code? Get it now.
Witcher 3: Wolf School Dark

Witcher 3: Wolf School Dark

Shanmukha Srinivasa

|
3 installs
| (0) | Free
Dark monochrome VS Code theme inspired by The Witcher 3, with steel-silver accents and a companion Wolf School Journal panel (git/diagnostics board, focus timer, notes). Unofficial fan project — not affiliated with or endorsed by CD Projekt Red.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Witcher 3: Wolf School Dark

A dark VS Code theme inspired by The Witcher 3 — near-black grays for the UI chrome (sidebar, status bar, tabs, panels), cut by a cold steel-silver accent (medallion / silver- sword color). Syntax highlighting is deliberately not monochrome: keywords, strings, numbers, functions, classes, properties, tags and more each get their own distinct color so code stays easy to read at a glance, while errors/deletions stay blood-red and additions stay moss-green.

It changes more than just syntax colors — it reaches into the parts of VS Code most themes don't touch, using only safe, supported Extension APIs (no unsupported vscode.exe/CSS patching, so it survives VS Code updates):

  • A new Activity Bar icon (an original pixel-art wolf-head, matching the file icons' house style — also used as the extension's own Extensions-view icon) opens the Wolf School Journal panel — a real webview, built as a tabbed dashboard so it's genuinely useful, not just decorative:

    • A breathing medallion, a liquid-filled toxicity vial with rising bubbles, and a Contract chip showing your current git branch (live, via the same source the Source Control view uses) with an uncommitted-changes badge next to it.
    • Board tab — real errors/warnings pulled from VS Code's own diagnostics plus a workspace scan for TODO/FIXME comments, merged into one clickable list grouped by file (click an item to jump straight to the line; a "This file" toggle filters down to just the file you're editing); below it, recent commits and a quick commit box (stage everything and commit with a message, in one click).
    • Vigil tab — a real pomodoro-style focus timer (15/25/50 minute presets) with a live countdown (also mirrored in the status bar so you don't need the panel open) and lifetime stats, nudging you to Meditate once a session completes.
    • Notes tab — a pinned notes board for your own working notes, persisted across restarts and also synced to a WITCHER_NOTES.md file at the workspace root.
    • Signs tab — the 5 Witcher Sign buttons, each with their own animation (Igni flickers, Quen pulses outward, Axii glows, Yrden spins, Aard bursts) and, now, their own glyph (🔥🛡️✨🌀💨) floating up from your cursor when cast.
    • Stats tab — a 35-day activity heatmap and current streak counter.
    • Today's hunt stats (files touched / edits made, resetting at midnight) alongside the lifetime "⚔ Signs cast" / "🧘 Meditations" counters, a collapsible Activity log, and a one-time atmospheric entry the first time you open it each session.
  • A full custom File Icon Theme ("Witcher 3: Wolf School Icons") — 30 languages/formats (JavaScript, TypeScript, Python, Markdown, CSS, HTML, Git, JSON, YAML, C, C++, C#, Java, Go, Rust, PHP, Ruby, Swift, Kotlin, Shell/Bash, Dart, Lua, R, Docker, Vue, Scala, Elixir, Haskell, Perl, PowerShell) plus images, lockfiles, plain files, and folders each get an original icon — no background, no border, no outside/brand logos. Each is generated as reference art and traced into a clean vector SVG, colored from the same palette used for syntax highlighting and the Product Icon Theme, so the whole extension shares one consistent look.

  • Editor-wide feel changes, set as this extension's defaults (your own settings.json always wins if you've set these yourself): smooth caret animation, "phase" cursor blinking, smooth scrolling everywhere, bracket-pair colorization/guides, and a custom window title (⚔ file — folder — Wolf School).

  • Toxicity Meter — a real activity gauge, not a timer animation: it rises based on the size of the edits you actually make and decays once you've paused for a few seconds, and now blinks once it hits critical. Click it (or the Meditate button in the panel) to Meditate, which plays a short animated notification and resets it to 0%. Same value drives the vial in the Journal panel.

  • Witcher Signs from the Command Palette too — Witcher 3: Cast Igni/Quen/Axii/Yrden/ Aard, each with an animated progress notification and a flavor-text payoff. A spinning status-bar indicator now shows while a Sign is being cast or while meditating.

  • In-editor animations (toggle with witcher3Theme.editorAnimations):

    • a subtle breathing glow on your current line — which shifts to warning red once toxicity goes critical — and a second, independently-phased pulsing outline around the word under your cursor. Both pause while you're actively typing and fade back in shortly after you stop, so they animate while you're reading, not while you're editing.
    • on save: a brief mark in the overview-ruler strip (never over the code itself) plus a quick Sealed status-bar confirmation — not a full-screen flash
    • a colored flash across the editor (and the overview ruler/minimap strip) when you cast a Sign (color matches the Sign) or Meditate

    All done with VS Code's own decoration API — nothing injected into the app itself.

Why no "patch VS Code's own UI files" animations?

There's a well-known class of extension (paired with a "Custom CSS and JS Loader"-style loader) that edits VS Code's own installed workbench files to add window/tab/menu transitions. That's genuinely possible, but it: patches your actual VS Code installation outside the extension sandbox, requires disabling its integrity/signature check, shows an "installation is corrupt" warning, and has to be re-applied after every VS Code update (and can break outright). I didn't want to make that change to your machine without a very explicit ask, so instead this theme gets as much of that "alive" feeling as possible through the supported extension APIs above — smooth caret/scrolling, bracket colorization, the Journal panel, and the new in-editor flashes. Say the word if you still want the riskier route and I'll walk you through it instead of doing it silently.

Install (local, as a .vsix)

  1. In this folder, build the package (only needs Node + the vsce packager):
    npx @vscode/vsce package --no-dependencies
    
    This produces witcher3-wolf-dark-theme-0.5.0.vsix.
  2. In VS Code: open the Extensions view → ... menu (top right) → Install from VSIX... → select the .vsix file.
  3. Open the Command Palette (Ctrl+Shift+P) → Preferences: Color Theme → choose Witcher 3: Wolf School Dark.
  4. Also via Command Palette → Preferences: File Icon Theme → choose Witcher 3: Wolf School Icons.
  5. And → Preferences: Product Icon Theme → choose Witcher 3: Wolf School Interface Icons to restyle the Activity Bar/close-button icons too (optional — everything else works without it).
  6. Look for the new wolf-medallion icon in the Activity Bar (far left) and click it to open the Wolf School Journal panel.

Or from a terminal, once you have the .vsix:

code --install-extension witcher3-wolf-dark-theme-0.5.0.vsix

Commands

Open the Command Palette (Ctrl+Shift+P) and look for Witcher 3: ...:

Command What it does
Witcher 3: Cast a Sign... Quick-pick menu of all five Signs
Witcher 3: Cast Igni (Fire) Animated fire-sign notification
Witcher 3: Cast Quen (Shield) Animated shield-sign notification
Witcher 3: Cast Axii (Mind) Animated mind-sign notification
Witcher 3: Cast Yrden (Trap) Animated trap-sign notification
Witcher 3: Cast Aard (Force) Animated force-sign notification
Witcher 3: Meditate (reset Toxicity Meter) Resets the status bar Toxicity Meter to 0%
Witcher 3: Open Wolf School Journal Reveals and focuses the Journal panel
Witcher 3: Start a Vigil (Focus Timer) Quick-pick a duration and start a Vigil without opening the panel
Witcher 3: Add a Note Pin a note to the Journal/WITCHER_NOTES.md via an input box
Witcher 3: Rescan Board Re-runs the TODO/FIXME workspace scan on demand

A first-run walkthrough (Help → Get Started, or shown automatically after install) also walks through setting the theme/icon theme and trying the Journal/Vigil.

Settings

Setting Default Description
witcher3Theme.showToxicityMeter true Show/hide the Toxicity Meter status bar item (tracking itself always runs, so the Journal panel vial stays accurate either way)
witcher3Theme.editorAnimations true Master switch for in-editor animations. Turning this off disables all of the below regardless of their own setting
witcher3Theme.breathingLine true Breathing glow on the current line (while editorAnimations is on)
witcher3Theme.cursorHalo true Pulsing outline around the word under your cursor (while editorAnimations is on)
witcher3Theme.signGlyphEffect true Floats the cast Sign's glyph up from the cursor (while editorAnimations is on)
witcher3Theme.boardTodoScan true Scan the workspace for TODO/FIXME comments on the Board tab; turn off on very large repos
witcher3Theme.vigilPresets [15, 25, 50] Minute presets for the Vigil focus timer, in both the panel and the Command Palette prompt

Palette

UI chrome (sidebar, status bar, panels — stays monochrome), backgrounds matched to a neutral charcoal rather than a cool near-pure-black:

Role Hex Notes
Editor background #141414 neutral charcoal
Panel / sidebar background #181818 one step up from editor
Primary text #dde2e7 bright neutral off-white
Comments / dim text #868b91 neutral gray, italic
Accent (cursor, focus, badges) #9fb4bf / #cfe3ec steel silver (Witcher identity, kept)
Errors / deleted #a23b3b / #d1555a blood red
Warnings #c9a227 dull amber
Added / success #7a9a7e desaturated moss green

Syntax highlighting is built from the five Witcher Signs — the same colors used for the Sign-cast flash/glyph animations and the Signs tab now drive the core syntax roles too, so the code itself carries the theme's identity instead of being an arbitrary rainbow:

Sign Color Hex Used for
🔥 Igni (fire) gold #f0b03c bold Keywords, storage (public, class, while...)
🛡️ Quen (shield) steel #8ec2da Classes, interfaces, namespaces, types
💨 Aard (force) rust #e8835a Functions & method calls
✨ Axii (mind) violet #b48cf0 Local variables
🌀 Yrden (trap) teal #5ecbb0 Strings

Supporting tones fill in the rest: parameters #e096d9 (pink-violet), properties/fields #e0a15c (amber), numbers/booleans #d9a878 (peach), decorators #cf7a4a (rust-brown), tags #e8927a (coral), regex/escapes #f08fd4 (pink), comments #868b91 (gray, italic). Bracket-pair colors and Outline/breadcrumb symbol icons follow the same five-Sign mapping.

Project structure

witcher3-wolf-dark-theme/
├── package.json                                 extension + theme + icon-theme manifest
├── extension.js                                 Journal webview, Toxicity Meter, Witcher Signs
├── media/
│   ├── activitybar-icon.svg                     Activity Bar wolf-medallion icon
│   ├── icon.png                                 marketplace/gallery icon
│   ├── witcher3-product-icon-theme.json         product icon theme mapping
│   └── witcher3-product-icons.ttf               the product icon font (7 glyphs)
├── fileicons/
│   ├── witcher3-icon-theme.json                 file icon theme mapping
│   └── *.svg                                    pixel-art file/folder icons
└── themes/
    └── witcher3-wolf-dark-color-theme.json       the color theme

Uninstall / tweak later

  • Toggle the toxicity meter off in settings.json:
    "witcher3Theme.showToxicityMeter": false
    
  • To tweak colors, edit themes/witcher3-wolf-dark-color-theme.json directly (it's a standard VS Code color theme file — "colors" for UI chrome, "tokenColors" for syntax highlighting) and reload the window (Developer: Reload Window) to see changes live.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft