Skip to content
| Marketplace
Sign in
Visual Studio Code>Themes>Eye Like LightNew to Visual Studio Code? Get it now.
Eye Like Light

Eye Like Light

domin1c86

|
8 installs
| (0) | Free
A warm, eye-friendly light theme with high-contrast syntax highlighting
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Eye Like Light

English · 中文

一款专为长时间编码设计的护眼浅色主题。配色方案基于色彩科学研究和 WCAG 无障碍标准,兼顾舒适性与高区分度。

Eye Like Light 预览 1 Eye Like Light 预览 2 Eye Like Light 预览 3


设计原则

1. 暖白背景,告别刺眼纯白

问题:纯白 #FFFFFF 背景配合深色文字会产生「光晕效应」(halation),即白光从背景溢出,模糊文字边缘,长时间阅读会导致眼睛疲劳。这类似于在直射阳光下阅读——对比度过高,瞳孔需要不断调节。

方案:采用 #FAF8F5 作为编辑器背景——一种带微黄暖调的米白色(HSB: 30°, 2%, 98%)。灵感来源于:

  • Solarized 主题设计师 Ethan Schoonover 的理念:将理想的屏幕阅读体验比作"坐在树荫下看书"——纸张柔和、对比适中,而非"烈日下的白纸"
  • 传统出版业使用米黄色纸张而非亮白纸张,也是出于同样的阅读舒适性考虑
  • 暖色调降低蓝光比例,对视觉系统的刺激更小

参考:Solarized 官方设计文档

2. 感知均匀的色彩明度(CIELAB L*)

问题:如果某些语法颜色特别亮、某些特别暗,眼睛需要反复适应不同亮度,增加视觉疲劳。例如一个亮红色关键字和深蓝色函数名放在一起,视觉上的"音量"不一致。

方案:所有 6 种语法强调色都经过 CIELAB 色彩空间校准,L*(明度)值集中在 38–48 的中等区间内:

颜色角色 HEX L* 与背景对比度
函数/方法 #2860A6 ≈ 41 6.0:1
关键字 #B8345E ≈ 43 5.4:1
字符串 #2D7D53 ≈ 47 4.8:1
类型/接口 #7B50B0 ≈ 43 5.5:1
数字/布尔 #AD5E17 ≈ 48 4.5:1
常量 #7E4E1E ≈ 38 6.6:1

这意味着每种颜色在视觉上的"分量"相近,你不会觉得某个 token 比其他的更"吵"。区分度主要来自色相差异(hue),数字与常量则以明度差异(亮琥珀 vs 深棕橙)相互区分。

参考:Solarized CIELAB 设计原理、WCAG 2.1 对比度标准

3. 中等饱和度,避免"霓虹灯"效果

问题:高饱和颜色在浅色背景上会产生刺眼的"发光"感。例如纯绿 #00FF00 在白底上几乎无法阅读,饱和度过高的 #008000 在长时间编码后也会产生视觉残留。

方案:大部分语法色的 HSB 饱和度控制在 55%–80% 范围内(对比:纯色为 100%)。参考 Solarized 的做法——降低亮度对比但保持色相对比,用温和但可区分的色彩取代刺眼的纯色。

例外:琥珀橙(数字,饱和度约 87%)略高于此上限——因为在暖白背景上进一步降低橙色饱和度会使其发"浑"、偏向泥棕,反而降低辨识度。故此单一色相保留较高饱和度。

4. WCAG 对比度合规

所有语法颜色与背景 #FAF8F5 的对比度均达到 WCAG AA 标准(≥ 4.5:1);正文文字达到 AAA 标准(≥ 7:1)。以下为实测对比度:

元素 对比度 WCAG 等级
正文文字 #4A4A4A 8.4:1 AAA
常量 #7E4E1E 6.6:1 AA
函数 #2860A6 6.0:1 AA
类型 #7B50B0 5.5:1 AA
关键字 #B8345E 5.4:1 AA
字符串 #2D7D53 4.8:1 AA
数字 #AD5E17 4.5:1 AA
注释 #998F80 3.0:1 装饰性文本

注释刻意使用较低对比度——作为"背景知识",它们不需要也不应该抢夺注意力。

参考:WCAG 2.1 SC 1.4.3 对比度(最小值)

5. 六色色相分布,最大化可区分性

6 种语法颜色在色轮上均匀分布,确保即使对色觉不敏感的用户也能区分:

色轮分布(5 个色相 + 一对明暗琥珀):

    0°          60°         120°        180°        240°        300°
    |           |           |           |           |           |
    橙          黄-绿       绿          青          蓝          紫-红
  数字/常量    (留空)      字符串      (留空)      函数        关键字
  亮 #AD5E17               #2D7D53                 #2860A6     #B8345E
  深 #7E4E1E                                       类型
                                                   #7B50B0

数字与常量同属暖橙色相,但以明度区分:数字为亮琥珀(L* ≈ 48),常量为深棕橙(L* ≈ 38),二者相差约 10 个 L* 单位,一眼可辨。其余色相间隔:橙→绿 约 85°、绿→蓝 约 140°、蓝→紫 约 70°、紫→橙 约 105°,各色距离足够大,即使在低色觉情况下也不易混淆。

特殊考量:避免红-绿配对作为唯一区分手段(约 8% 的男性有红绿色盲),本主题中红色(关键字)和绿色(字符串)除了色相不同外,还有明显的饱和度和明度差异。

6. 语义分组的色彩逻辑

颜色的选择不是随机的,而是遵循语义直觉:

颜色 语义 角色 直觉
玫瑰红 #B8345E 热/重要 关键字、控制流 需要"注意"的结构词
海绿 #2D7D53 自然/数据 字符串、文本 "内容",像树叶一样承载信息
靛蓝 #2860A6 冷静/行动 函数、方法 "动作",执行操作
紫色 #7B50B0 抽象/结构 类型、接口、类 "蓝图",定义结构
琥珀橙 #AD5E17 温暖/具体 数字、布尔、属性 "具体值"
深橙 #7E4E1E 恒定/不变 常量、枚举值 "固定不变的标记"

参考:GitHub Light 主题 的语义分组、Solarized 色彩语义


完整色彩方案

语法高亮

元素 颜色 HEX 样式
关键字 玫瑰红 #B8345E 粗体
字符串 海绿 #2D7D53 常规
数字/布尔/null 琥珀橙 #AD5E17 常规
函数/方法 靛蓝 #2860A6 常规
类型/接口/枚举 紫色 #7B50B0 常规
常量/枚举成员 深橙 #7E4E1E 常规
变量/参数 深灰 #4A4A4A 常规
属性/键名 灰绿 #556B5F 常规
注释 暖灰 #998F80 斜体
装饰器/正则 橄榄绿 #75701E 斜体
操作符/标点 棕灰 #7A6B5A 常规

编辑器界面

元素 颜色
编辑器背景 #FAF8F5 暖白
行高亮 #F0EDE8 淡灰
选区 #D4E4F7 淡蓝
行号 #B8B0A6 柔灰
光标 #B8345E 玫瑰红
缩进线 #E8E4DE 浅灰

UI 面板

元素 颜色
侧栏背景 #F5F2EE 暖灰白
面板背景 #F8F6F2 暖灰
标签栏背景 #F5F2EE 暖灰白
状态栏 #EDE9E3 暖灰白
活动标签顶部边框 #2860A6 靛蓝

Git 装饰

状态 颜色
新增 #2D7D53 海绿
修改 #2860A6 靛蓝
删除 #B8345E 玫瑰红
未跟踪 #AD5E17 琥珀橙
冲突 #7B50B0 紫色

使用方式

  1. 在 VS Code 中按 F5 启动扩展开发宿主(Extension Development Host)
  2. 在开发宿主窗口中,打开命令面板(Ctrl+Shift+P)
  3. 输入 Preferences: Color Theme
  4. 选择 Eye Like Light

与同类主题对比

特性 Eye Like Light Solarized Light GitHub Light One Light
背景色调 暖白 #FAF8F5 米黄 #FDF6E3 纯白 #FFFFFF 浅灰 #FAFAFA
语法色数量 6 色 4 色 4 色 5 色
CIELAB 明度校准 ✅ ✅ ❌ ❌
饱和度控制 中低 低 中 中
语义高亮 ✅ ❌ ✅ ❌
WCAG AA 合规 ✅ 全部 部分 ✅ 部分

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft