Purple Groove Theme
A purple arbor for VS Code: soft purple violet and dusty groove over a porcelain lavender editor in the light variant, with a touch of gold saved for numbers and the active tab, and over a deep plum editor in the dark one. Both variants are cut from one palette, so switching changes the light level rather than the character of the workspace.
一套紫藤花架配色的 VS Code 主题:浅色版是瓷感淡紫纸面配紫罗兰与藕粉,金色只留一点——数字和当前标签页的细线;深色版是深梅紫夜色的底子。明暗两套变体共享同一套色板,切换时改变的是明暗而非气质,工作区始终保持春末紫藤般的安静与柔和。
Preview / 预览
| Light 浅色 |
Dark 深色 |
 |
 |
Both previews are captured from a real VS Code window running the theme — no mockups.
上方预览图取自真实运行该主题的 VS Code 窗口截图,非模拟图。
Palette / 色板
| Role |
Light |
Dark |
| Editor background |
#FBF7FC porcelain lavender |
#24152F deep plum |
| Foreground |
#514458 purple ink |
#EADFEB pale petal |
| Muted text / placeholders |
#78697E |
#947F9B |
| Side bar |
#F8F1FB with #65408B text |
#21102C with #D8B9E8 text |
| Panel / terminal |
#F6EFFA |
#22102F |
| Title bar |
#EFE3F5 with #7654A8 text |
#1B1024 with #DCC8F3 text |
| Tab bar / inactive tab |
#F2E8F7 |
#170D21 |
| Active tab indicator |
#D8A72E gold |
#D291BC |
| Activity bar |
#ECE0F4 with #8B5CB8 icons |
#180D22 with #B979D6 icons |
| Status bar |
#E7CDEF with #633A86 text |
#3B2050 with #F2B5D8 text |
| Selection |
#DFA6E5 groove wash |
#512A68 deep plum |
| Current line |
#F7EDFB |
#28152F |
| Borders / indent guides |
#DCC9E8 / #EEDDF1 |
#3C2455 / #493650 |
| Button |
#B979D6 with #3B1E4A text (hover #D4A9DC) |
#B979D6 with #35243D text (hover #F0CDEB) |
| Badge |
#7F63A0 with white text |
#B979D6 with #35243D text |
| Cursor |
#B04C91 |
#FF4D88 |
| Links |
#87479D |
#D8B7E3 |
| Errors / warnings |
#B14E63 / #A17B3D |
#EE9BAE / #E8CB91 |
| Git added / modified / deleted |
#6B8B64 / #A17B3D / #B46C7E |
#B6D5A9 / #E8CB91 / #E7A4B5 |
Wisteria #E0BBE4, violet #B979D6, dusty groove #D291BC, petal pink #FEC8D8 and peach #FFDFD3 carry both variants, so a file still reads as "purple groove" after switching.
紫藤紫 #E0BBE4、紫罗兰 #B979D6、灰粉 #D291BC、花瓣粉 #FEC8D8 与蜜桃 #FFDFD3 贯穿明暗两版,切换后整个文件依然是同一份「紫藤花架」气质。
Syntax mapping / 语法映射
| Syntax |
Light |
Dark |
| Comments |
#7C6782 italic |
#A58BAE italic |
| Keywords / storage |
#9A5885 purple |
#E2A5CA orchid |
| Strings |
#5E745E sage |
#BCD5B7 soft sage |
| Regexp |
#885E97 |
#DABBE5 |
| Escapes |
#866949 |
#E8C79B |
| Numbers / constants |
#8A6A1F gold |
#FFE5B8 peach |
| Types / classes |
#886092 |
#B979D6 |
| Functions / methods |
#78609F |
#D6BCEB |
| Properties |
#4C757A |
#AED1D2 |
| Variables |
#514458 |
#EADFEB |
| Parameters |
#7F667E |
#D5BED4 |
| Operators |
#7D6783 |
#CBB1D2 |
| Punctuation |
#806588 |
#B298BB |
| Tags / headings |
#9A5885 |
#FF4D88 |
| Attributes |
#826A50 |
#E8C9A8 |
| Invalid |
#B65353 |
#E99B91 |
Keywords stay purple violet, strings stay sage green and numbers stay warm (gold in the light variant, peach in the dark one), so the syntax keeps its identity whichever variant you use. Every syntax colour and every body-text pair clears WCAG AA (4.5:1) on its own background; muted UI labels clear 3:1.
关键字在浅色下是紫藤紫、深色下是淡兰紫,字符串始终保持鼠尾草绿,数字始终保持暖色(浅色是金、深色是蜜桃),两套变体的语法读感一致。所有语法色与正文文字在各自底色上都达到 WCAG AA(4.5:1),次级 UI 文字达到 3:1。
Coverage / 覆盖范围
Every surface below is themed in both variants (140+ UI colors each):
- Editor — background, foreground, selection and inactive selection, current-line highlight, word and selection highlights, find match and find highlight, bracket-match background and border, cursor, line numbers (plus the active line number), indent guides, whitespace, ruler, errors, warnings and info.
- Workbench chrome — activity bar, badge and active border, title bar (active and inactive), side bar with section headers and border, status bar (normal, no-folder and debugging states), editor group header and tabs (active, inactive, hover, modified border and active top border).
- Panels and overlays — panel, editor widgets, hover widget, suggest widget, dropdowns, inputs and placeholder text, notifications, quick input, and the focus border.
- Lists — active, inactive and hover selection backgrounds, plus the highlight and focus-highlight colors, and tree indent guides.
- Terminal — background, foreground and the full 16-color ANSI palette, matched to the theme.
- Details — workbench borders, scrollbar sliders, git decoration colors (added / modified / deleted) with their gutter markers, buttons, badges, diff editor backgrounds, and semantic token colors for variable, parameter, property, function, method, type, class and interface.
以下区域在两套变体中均已配色(每套 140 多个 UI 颜色):编辑器本体(选区与失焦选区、当前行、词/选区高亮、查找匹配与高亮、括号匹配、光标、行号、标尺、缩进线、空白符、错误/警告/提示);活动栏与角标、标题栏、侧边栏(含分节标题)、状态栏(含无文件夹与调试态)、标签栏;面板与各类浮窗(悬停、建议、通知、快速输入)、下拉与输入框、列表选中/悬停/高亮、树缩进线;终端 ANSI 全色;全部边框与滚动条、Git 装饰色与 gutter 标记、按钮与角标、差异编辑器底色,以及变量/参数/属性/函数/方法/类型/类/接口的语义高亮。完整的颜色清单见 COLOR-SPEC.md。
Features / 功能
Two coordinated variants — Purple Groove Theme Light and Purple Groove Theme Dark ship in one extension.
One flower palette — porcelain lavender and deep plum surfaces with violet, dusty groove and a single gold accent.
Readable syntax colors — purple keywords, sage strings, gold and peach numbers, all contrast-checked against their own background.
Semantic highlighting enabled, so language-aware tokens are colored beyond the classic TextMate scopes.
Terminal ANSI colors — all sixteen tuned to the palette while staying visually distinct, so red, green and blue output still read as themselves.
明暗两套协调变体——同一扩展内含 Purple Groove Theme Light 与 Purple Groove Theme Dark。
一套花系色板——瓷感淡紫与深梅紫底色,配紫罗兰、灰粉,金色只做一点点点缀。
可读的语法配色——紫罗兰关键字、鼠尾草绿字符串、金色与蜜桃数字,全部按各自底色做过对比度校验。
启用语义高亮,在传统 TextMate scope 之外为语言感知的 token 着色。
终端 ANSI 配色——十六色都调进色板,同时保持彼此可区分,红绿蓝输出不会糊成一片紫。
Installation / 安装
Requires VS Code 1.80 or newer.
- Search for Purple Groove Theme in the Extensions view (
Ctrl+Shift+X / Cmd+Shift+X), or open the Marketplace page.
- Or install from a VSIX: download
purple-groove-theme-1.0.0.vsix, open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run Extensions: Install from VSIX....
需要 VS Code 1.80 或更高版本。
- 在扩展面板(
Ctrl+Shift+X / Cmd+Shift+X)搜索 Purple Groove Theme,或打开 Marketplace 页面。
- 也可以从 VSIX 安装:下载
purple-groove-theme-1.0.0.vsix,打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),运行 Extensions: Install from VSIX... 并选择该文件。
Or from the command line:
或使用命令行:
ext install lilinhuang.purple-groove-theme
Activation / 启用
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P), run Preferences: Color Theme, and choose Purple Groove Theme Light or Purple Groove Theme Dark.
To switch between the two variants quickly, use the keyboard shortcut Ctrl+K Ctrl+T at any time.
打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),运行 Preferences: Color Theme,选择 Purple Groove Theme Light 或 Purple Groove Theme Dark。
随时可用快捷键 Ctrl+K Ctrl+T 在两套变体之间快速切换。
Development / 开发
Open this folder in VS Code and press F5 to launch an Extension Development Host with the theme loaded. Regenerate the real-window preview screenshots with:
在 VS Code 中打开本文件夹并按 F5,在扩展开发宿主中预览主题。重新生成真实窗口预览图:
python3 scripts/capture-real-screenshots.py
The script builds a throwaway VS Code profile, installs this theme into it, opens the sample project under scripts/demo-project and captures the window for both variants into store-assets/screenshots/en/.
脚本会临时创建一个独立的 VS Code 配置目录,把本主题装进去,打开 scripts/demo-project 示例工程,并把两套变体的窗口截图输出到 store-assets/screenshots/en/。
Check a build before publishing:
发布前自查:
python3 scripts/validate.py
It refreshes COLOR-SPEC.md from the theme JSON files, verifies that every color value is a valid hex code, checks that the screenshot edges match titleBar.activeBackground, and — when a .vsix is present — verifies the manifest publisher, version and theme entries.
脚本会依据主题 JSON 重新生成 COLOR-SPEC.md,校验所有颜色值均为合法十六进制,检查截图首行/首列与 titleBar.activeBackground 一致,并在存在 .vsix 时校验清单里的发布者、版本与主题条目。
Re-check contrast after touching any colour:
修改任何颜色后复检对比度:
python3 scripts/check-contrast.py
It walks both variants and prints every pair — workbench text, syntax tokens, semantic tokens and the 16 ANSI colours — that falls under WCAG AA (4.5:1 for text, 3:1 for muted UI). Add --strict to make it exit non-zero.
脚本会遍历两套变体,列出所有未达到 WCAG AA 的配色对(正文 4.5:1、次级 UI 3:1),涵盖工作区文字、语法 token、语义 token 与 16 色 ANSI;加 --strict 可让不合格时以非零码退出。
Package the extension with:
打包扩展:
vsce package
License / 许可
Released under the Non-Commercial License — licensed for personal, educational and non-commercial use. See LICENSE for details.
基于 Non-Commercial License(非商业使用许可) 发布,可用于个人、教育及非商业用途,详见 LICENSE。
Feedback / 反馈
Found an unthemed area or want a tweak? Open an issue at github.com/vaxicy/purple-groove-theme/issues.
发现没有配色的区域或想调整某处颜色,欢迎在 GitHub Issues 反馈。
Publisher / 发布者
Published by lilinhuang on the Visual Studio Code Marketplace.
由 lilinhuang 发布于 Visual Studio Code Marketplace。