20000+ 下载量的 Zed 主题开发心得Jetbrains-Darcula-Zed-Theme
Jetbrains-Darcula-Zed-Theme 是我专为 Zed 编辑器设计的深色主题,基于 JetBrains 经典的 Darcula 配色方案。在短时间内积累了 20000+ 的下载量,成为 Zed 插件市场不错的一个主题。
https://github.com/Bronya0/Jetbrains-Darcula-Zed-Theme
Zed 编辑器简介
Zed 是由 Atom 原班人马开发的现代编辑器,具有以下特点:
- 高性能:用 Rust 编写,启动快、内存占用低
- 协作编辑:原生多人编辑支持
- 简洁设计:UI 极简,专注代码编辑
- 可扩展性:插件系统和主题系统灵活
主题系统架构
1. Zed 主题文件结构
themes/
├── jetbrains-darcula-theme-by-bronya0.json
└── background.png (可选)
extension.toml
└── 主题元数据
2. 主题 JSON 的核心结构
{
"name": "Jetbrains Darcula",
"author": "Bronya0",
"type": "dark",
"colors": {
"background": "#2b2b2b",
"foreground": "#a9b7c6",
"editor.background": "#1e1e1e",
"editor.foreground": "#a9b7c6",
"editor.line_number": "#606366",
"editor.cursor": "#bbbbbb"
},
"syntax": {
"comment": {
"color": "#808080",
"font_style": "italic"
},
"string": {
"color": "#6a8759"
},
"number": {
"color": "#6897bb"
},
"keyword": {
"color": "#cc7832",
"font_style": "bold"
}
}
}
设计原则
1. 配色哲学
Darcula 配色的核心很简单:高对比度 + 舒适蓝
| 颜色 | RGB值 | 用途 | 原理 |
|---|---|---|---|
| 背景黑 | #2b2b2b | 编辑器背景 | WCAG AA 标准 |
| 前景白 | #a9b7c6 | 默认文本 | 对比度 7:1 |
| 强调黄 | #cc7832 | 关键字 | 高饱和度,易识别 |
| 舒适蓝 | #6897bb | 数字/参数 | 护眼蓝,减少蓝光 |
| 绿色 | #6a8759 | 字符串 | 自然配色 |
| 红色 | #d7515f | 错误/删除 | 快速识别问题 |
2. 对比度检验
使用 WCAG 对比度检查工具:
前景#a9b7c6 vs 背景#2b2b2b
对比度 = 7.2:1 ✓ 符 合 AAA 级(最高标准)
对于编辑器来说,高对比度至关重要:
- 减少眼睛疲劳
- 提高代码阅读速度
- 便于区分不同语法元素
3. 在明亮显示屏和暗环境的适配
{
"editor.background": "#2b2b2b", // 纯黑太硬,略带灰度更舒服
"editor.foreground": "#a9b7c6", // 不是纯白,带点蓝色更温和
"editor.line_number": "#606366" // 显著低于前景色,不分散注意力
}
主题开发工作流
1. 结构化开发
# extension.toml - 主题元数据
[package]
name = "jetbrains-darcula-zed-theme"
description = "Jetbrains Darcula theme for Zed"
version = "1.0.0"
edition = "0.1"
authors = ["Bronya0"]
repository = "https://github.com/Bronya0/Jetbrains-Darcula-Zed-Theme"
[[extension.themes]]
path = "themes/jetbrains-darcula-theme-by-bronya0.json"
