当敦煌壁画遇上 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 🌟 支持!

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

相关推荐
GalenWu3 小时前
对象转换为 JSON 字符串(或反向解析)
前端·javascript·微信小程序·json
GUIQU.3 小时前
【Vue】微前端架构与Vue(qiankun、Micro-App)
前端·vue.js·架构
数据潜水员3 小时前
插槽、生命周期
前端·javascript·vue.js
2401_837088503 小时前
CSS vertical-align
前端·html
优雅永不过时·4 小时前
实现一个漂亮的Three.js 扫光地面 圆形贴图扫光
前端·javascript·智慧城市·three.js·贴图·shader
CodeCraft Studio5 小时前
报表控件stimulsoft教程:使用 JoinType 关系参数创建仪表盘
前端·ui
春天姐姐6 小时前
vue知识点总结 依赖注入 动态组件 异步加载
前端·javascript·vue.js
互联网搬砖老肖6 小时前
Web 架构之数据读写分离
前端·架构·web
钢铁男儿7 小时前
C# 方法(值参数和引用参数)
java·前端·c#
阿金要当大魔王~~7 小时前
面试问题(连载。。。。)
前端·javascript·vue.js