当敦煌壁画遇上 VS Code:我用古风色系开发了编程主题

最近去看了敦煌展、园博园的古刹,觉得配色极佳,于是花了 2 个周末开发了一个 VS Code 主题扩展 Ancient China Theme

欢迎加入技术交流群

灵感溯源

这个主题设计了两个风格,一个是暖色调的 Ancient Temple(古刹),比如砖红和暖金来自寺庙的朱漆门柱与鎏金装饰。

另一个是冷色调的 Mogao Grottoes(莫高窟),以敦煌壁画为灵感,采用冷色调,融入群青、矿物绿等色彩,呈现出洞窟壁画的神秘感。

色彩设计

古刹主题

json 复制代码
"colors": {
  "editor.background": "#2A2826", // 编辑器背景色:暗褐色
  "editor.foreground": "#E8E4D9", // 编辑器前景色:米白色
  "titleBar.activeBackground": "#8B2A1C", // 活动标题栏背景:砖红色
}
  • 砖红色 (#8B2A1C):源自古建筑中常见的红漆柱,象征喜庆与庄重
  • 暗褐色 (#2A2826):模拟古建筑内部木质结构的沉稳色调
  • 金黄色 (#D4AA5A):灵感来自佛像与寺庙装饰的金色元素

莫高窟主题

json 复制代码
"tokenColors": [
  {
    "scope": ["keyword", "storage.type", "storage.modifier"],
    "settings": {
      "foreground": "#4A7DAC" // 蓝色 - 敦煌壁画中常见的群青色
    }
  },
  {
    "scope": ["entity.name.type", "entity.name.class"],
    "settings": {
      "foreground": "#4CAF8F" // 孔雀绿 - 壁画中常见的绿色调
    }
  },
  {
    "scope": ["entity.other.attribute-name"],
    "settings": {
      "foreground": "#E67E54" // 赭石色 - 敦煌壁画常用的红土颜料色
    }
  }
]
  • 群青色 (#4A7DAC):敦煌壁画中常用的矿物颜料,表现天空与水的色彩
  • 孔雀绿 (#4CAF8F):壁画中表现植物与装饰的绿色调
  • 赭石色 (#E67E54):壁画中常见的红土颜料,用于人物肤色与衣饰

开发者友好

平衡设计

其实我还挺喜欢 VS Code 自带的 Quiet Light,很柔和不容易疲劳,所以在设计这两个主题时为了确保长时间编程不会造成视觉疲劳,做了以下考虑,提示词也是改了好几个版本:

  • 背景色选择了柔和的暗色调,减少屏幕亮度对眼睛的刺激
  • 前景色与背景色保持足够的对比度,确保文本清晰可辨
  • 语法高亮色彩区分明显但不过于鲜艳,避免视觉干扰

多语言支持

主题支持多种编程语言,目前包括:

  • JavaScript/TypeScript
  • HTML/CSS
  • Markdown
  • JSON
  • YAML
  • PHP
  • Ruby
  • Go
  • Python
  • Java
  • C++
  • C#
  • Rust

使用体验

古刹主题预览

莫高窟主题预览

使用方法

  • 打开 VS Code
  • 进入扩展市场
  • 搜索 Ancient China Theme
  • 点击安装
  • 通过 Ctrl+K Ctrl+T 或菜单 Code → 首选项 → 颜色主题 选择 Ancient Temple 或 Mogao Grottoes

未来计划

  • 增加浅色系的中国传统元素的主题变体,如青花瓷主题、山水画主题等
  • 优化对更多编程语言的支持
  • 根据用户反馈持续改进色彩方案

欢迎大家体验并给予反馈,也欢迎到 GitHub 仓库 点个 Star 🌟 支持!

总之,这是一次将传统文化元素融入现代技术的创意尝试。如果你也对这方面感兴趣,欢迎一起交流讨论!

相关推荐
m0_616188497 分钟前
Vue3 中 Computed 用法
前端·javascript·vue.js
六个点10 分钟前
图片懒加载与预加载的实现
前端·javascript·面试
Patrick_Wilson32 分钟前
🔥【全网首篇】30分钟带你从0到1搭建基于Lynx的跨端开发环境
前端·react.js·前端框架
Moment38 分钟前
前端 社招 面筋分享:前端两年都问些啥 ❓️❓️❓️
前端·javascript·面试
Moment39 分钟前
一坤时学习 TS 中的装饰器,让你写 NestJS 不再手软 😏😏😏
前端·javascript·面试
子洋39 分钟前
AnythingLLM + SearXNG 实现私有搜索引擎代理
前端·人工智能·后端
小满zs1 小时前
React第二十九章(css in js)
前端·react.js
古柳_Deserts_X1 小时前
Manus官方发布视频的1小时后就开始陆续有人注册了相关网站域名!原因就在于「新词新站」这4个字
前端·程序员·创业
YUELEI1181 小时前
vue3 使用sass变量
前端·css·sass
枣仁_2 小时前
大型语言模型(LLM)深度解析
前端·javascript·面试