Witcher 3: Wolf School DarkA 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
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 Install (local, as a
|
| 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.jsondirectly (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.