
简介一款为 IntelliJ IDEA、PhpStorm、PyCharm、RubyMine、WebStorm 等 JetBrains 系 IDE 打造的深色主题基于 One Dark 配色风格适合长时间编写代码并希望降低视觉疲劳的前端与后端开发者。该主题已在 PhpStorm 2017.3/2018.2 和 IntelliJ IDEA 2017.3/2018.2 上验证可用能够适配主流 JetBrains 产品提供统一的暗色编辑体验。压缩包共 8 个文件大小约 208KB包含 jar 设置包、icls 配色定义、js 与 Makefile 等辅助文件以及预览图和说明文档结构清晰便于直接导入或按需调整。已有 767 人学习下载。通过这套设置包使用者无需自行配置即可获得完整的深色主题方案同时可基于源码对配色细节进行二次微调满足个性化开发环境需求。 说实话我最早花精力折腾 IDE 主题不是因为它能提升多少“生产力”纯粹是因为每天对着屏幕的时间实在太长了。大概五年前我从 Atom 切到 IntelliJ IDEA 时第一件事不是配置 JDK而是找一套和 Atom 默认配色一样的主题。后来这套配色在 JetBrains 全家桶里有了一个统一的名字idea-one-dark-theme。它几乎覆盖了 IntelliJ IDEA、PhpStorm、PyCharm、RubyMine、WebStorm 这五款最常见的 JetBrains IDE连 Android Studio 也能用。如果你也长期盯着编辑器里的代码看对默认高亮配色或者纯黑背景感到疲劳这篇文章就是写给你参考的。1. 为什么我在 JetBrains 全家桶里长期锁死这套配色1.1 从 Atom 时代延续下来的审美惯性One Dark 最早是 Atom 编辑器的默认配色由 Atom 团队设计。那个年代 Atom 的 Electron 架构虽然经常被人吐槽吃内存但它的默认主题是真的好看。后来很多人离开 Atom 转向 JetBrains 系最怀念的往往不是编辑器本身而是这套配色。这套配色高明在哪里它没有走“纯黑背景 高饱和前景”的激进路线而是用了一组带蓝灰调的深色背景配合中等亮度的浅色前景整体观感是“暗但不黑亮但不刺”。拿具体的色值来说主背景是#282C34前景是#ABB2BF。这两个颜色放在一起既保留了深色主题对眼睛的友好度又不会让代码文字发虚。1.2 多 IDE 一致体验带来的隐性收益我同时维护 Java 后端、Python 脚本和前端页面所以 IntelliJ IDEA、PyCharm、WebStorm 每天都在切。如果每个 IDE 用一套不同的主题大脑每次切换都要重新适应一套色彩映射——这个关键字是紫色的那个是橙色的实在没必要。装一个 idea-one-dark-theme三套 IDE 里看到的代码颜色完全一致。视觉上的肌肉记忆一旦建立切 IDE 的成本就趋近于零。RubyMine 和 PhpStorm 虽然我用得少但给同事推荐时也都是同一套标准装上这个主题起码不用再花时间解释“为什么你的 IDEA 颜色跟我的不一样”。2. 安装不是只有 Plugin Marketplace 一条路2.1 插件市场安装最直接但要注意区分同名插件大多数情况下你只需要打开File - Settings - Plugins - Marketplace搜索 “One Dark theme”点 Install 然后重启 IDE 就够了。安装完成后再到Settings - Appearance Behavior - Theme里选 One Dark编辑器配色会自动跟随。这里有一个容易踩的坑插件市场里叫 “One Dark” 的插件不止一个有的叫 “One Dark theme”有的叫 “Atom One Dark”作者不同维护状态也不同。我建议认准 GitHub 上baelen/idea-one-dark-theme这个仓库对应的插件它的更新频率比较稳定对新版本 IDE 的适配也及时。2.2 离线安装内网环境和旧版本 IDE 的备选方案有些公司开发机不能连外网或者你用的 IDE 版本比较老Marketplace 里搜不到新版插件。这时候需要去 GitHub Releases 页面手动下载One Dark theme-x.x.x.zip包然后走Settings - Plugins - 齿轮图标 - Install Plugin from Disk。需要注意手动安装的插件如果和你当前 IDE 的版本不兼容重启后可能直接被禁用。我遇到过的一次情况是某个中间版本只支持 2022.1我当时的 PyCharm 还是 2021.3装上之后完全没反应。所以离线安装前务必看一下插件包的plugin.xml或者 README 里写的兼容版本范围。2.3 用 Settings Sync 把主题同步到所有 IDE如果你像我一样装了多个 JetBrains IDE一个一个重复安装很蠢。JetBrains 自带的Settings Sync可以同步插件列表、配色方案、快捷键前提是插件在目标 IDE 的仓库里存在。具体做法先在 A 软件里登录 JetBrains Account开启File - Manage IDE Settings - Settings Sync在 B 软件里同样开启并选择同一账号插件和配色就会拉取下来。同步完成后记得检查一下 Editor 配色方案是否切到了 One Dark因为有时候插件装了但方案没自动激活。3. 配色方案拆解One Dark 为什么看着舒服3.1 背景色阶不是单一的“深色”很多人以为深色主题就是背景一个色、前景一个色其实好的配色是一组色阶。idea-one-dark-theme 在 JetBrains 里用到的背景色至少有三层编辑器主背景#282C34侧边栏和工具窗口背景略深一点接近#21252B弹窗和悬浮层又有独立的深色。这样设计的目的很简单——让不同层级的 UI 在视觉上有前后关系而不是糊成一团。对比纯黑色#000000背景One Dark 的深蓝灰能显著减少高强度对比带来的视觉疲劳。我刚用那会儿做过一个蠢测试分别用纯黑主题和 One Dark 连续写两小时代码纯黑主题下眼睛更容易发干这就是高对比度在暗光环境下的代价。3.2 语法高亮的颜色语义拿到一套主题我最先看的是编辑器里几个关键 token 的颜色因为这才是每天接触最多的部分。One Dark 在这几个 token 上的选择非常讲究关键字public、class、def#C678DD偏紫的粉色辨识度高但不抢眼字符串#98C379柔和的绿色长时间看不容易疲劳函数名#61AFEF亮蓝色在深色背景上有足够的亮度差数字#D19A66橙黄色和字符串的绿色不会混淆注释#5C6370明显低于前景亮度的灰色让注释退到代码之后这套颜色不是随便取的。它避免了高饱和的纯红#FF0000和纯绿#00FF00因为它们在某些低端显示器上会有严重的色彩断层。同时不同 token 之间的色相间隔足够大色弱人群也能靠亮度差分辨出代码结构。3.3 容易被忽视的 UI 元素也做了适配真正让我决定长期使用的原因不只是编辑器里的代码配色而是 IDE 里那些非编辑器区域同样被处理得干净。滚动条、行号、缩进线、当前行高亮、选中文本背景这些元素在默认深色主题下经常出现“亮瞎眼”的问题但 One Dark 都做了统一处理。比如缩进线用的是非常淡的蓝色#2C313A左右在你需要对齐代码时能看见不需要时绝不会干扰视线。选中文本的背景色也不是刺眼的亮蓝而是一种偏灰的蓝这在 JetBrains 默认主题里几乎做不到。对“一天 8 小时盯着 IDE”的人来说这些细节比某个语法 token 的颜色重要得多。4. 和几款热门深色主题的横评有对比才有说服力4.1 四款主流深色主题的参数对比我身边不少同事会在 One Dark、Dracula、Nord、Monokai Pro 之间反复横跳因为各有各的死忠粉。这里拉一个我自己使用后的对比表方便你按需求选型。主题主背景色彩风格对比度长时间编码舒适度多语言适配One Dark#282C34蓝灰底、彩色前景中等偏高高优Dracula#282A36偏紫灰底、高饱和中中等良Nord#2E3440冷蓝灰底、低饱和偏低高良Monokai Pro#2D2A2E暖棕底、亮黄橙高中等优4.2 从实际开发场景看差异如果你主要写 Java 和 PythonOne Dark 和 Monokai Pro 的适配都很好因为这两种语言的关键字和字符串在颜色上有足够大的区分。Monokai Pro 的问题是整体对比度太高橙黄色使用频率大看久了有点累。Dracula 的紫色系背景在不开灯的环境下氛围感很强但它的部分高亮颜色饱和度偏高在 OLED 屏幕上会有轻微的光晕感。Nord 是我见过最“冷淡”的深色主题蓝灰色几乎是主旋律喜欢的人觉得干净不喜欢的人觉得沉闷。相比之下One Dark 属于中间路线有足够的色彩辨识度又不会像 Dracula 和 Monokai 那样张扬。4.3 我的建议别只看截图实际写一天代码再决定截图展示的是静态效果真正重要的是滚轮滚动时代码不断变化的视觉感受。我的建议是每个主题都切到底用自己平时的项目实际写一小时以上重点感受三类场景长时间读代码时眼睛是否容易疲劳、搜索高亮时是否看得清选中项、一屏代码里有多种 token 时是否能快速定位结构。我实测下来One Dark 在这三个场景里都保持在中上水平没有明显短板。5. 定制前你要知道的几个配置点5.1 微调语法高亮而不是整体换主题没有任何主题能完美覆盖所有语言的 token 类型比如 Java 的注解、Python 的装饰器、TypeScript 的泛型One Dark 的默认方案已经不错但如果你有特殊偏好可以在Settings - Editor - Color Scheme - One Dark下直接改。我的一个小习惯把注释默认的斜体关掉。JetBrains 里 One Dark 的注释默认是斜体看中文注释时斜体表现一般而且和代码里的普通文本缺乏区分。在Language Defaults - Comments - Italic去掉勾选注释用颜色区分就够了不需要依赖字体倾斜。5.2 配合字体一起调整观感会再上一个台阶配色只能决定颜色字体决定字形两者配合好才算完整。我用的是 JetBrains Mono它的字形设计本身就考虑了代码场景0和O、1和l、l和I的区分度很高。开启 Ligatures字体连字之后、!、-这些符号会自动变成更紧凑的形态配合 One Dark 的深色背景整个编辑器区域看起来非常干净。字体大小我建议 14 到 15 号在 1080P 屏幕上是比较舒服的范围。如果你用 2K 或 4K 屏可以适当调大字号来保持可读性字号太小时 One Dark 那种低亮度注释会显得发灰影响信息获取效率。5.3 新版 UI 下的适配设置JetBrains 从 2022.1 开始逐步推广新版 UIOne Dark 也在持续跟进。如果你用的是新 UI 又发现某些窗口标题栏、工具窗口按钮没有跟随主题色可以去Settings - Appearance Behavior - Appearance里把 Theme 切成 One Dark同时把 New UI 的 Density 调成 Comfortable这样整体的深色覆盖更完整。另外新版 UI 下建议把Settings - Editor - General - Appearance里的 “Use smaller font in editor tabs” 关闭否则标签栏字体会显得特别局促和 One Dark 的宽大背景风格不搭。6. 实际使用中容易踩的几个坑6.1 不同 IDE 之间的显示不完全一致同一套主题装到不同 IDE 上不可能 100% 一致。原因是 IntelliJ IDEA、PyCharm、WebStorm 的语言解析规则不同同一个颜色在 Java 里是普通方法调用在 Python 里可能是装饰器高亮结果自然有差异。我遇到过最典型的差异是 Python 的self参数在 PyCharm 里默认不会特殊高亮而在同一配色方案下 IDEA 里不会出现这个概念。这类差异不影响主题本身的观感但如果你在多个 IDE 之间截图对比时发现颜色不一致不用慌这属于语言解析的正常差异不是主题坏了。6.2 主题和字体连字、图标插件的配合问题One Dark 本身不包含文件图标如果你装了额外的文件图标插件某些图标配色可能和 One Dark 的侧边栏背景不协调最常见的是彩色图标在深蓝灰背景上显得突兀。我的做法是图标插件只启用文件夹图标不启用文件类型彩色图标这样文件列表看起来更统一。字体连字如果出现显示错位可能是字体在特定字号下渲染的问题和主题关系不大。但如果你用的不是等宽字体One Dark 的对齐优势会被直接削弱代码缩进和列对齐会变得很难看。建议至少在代码编辑器里用等宽字体正文终端里用别的字体都行代码区必须按等宽来。6.3 IDE 大版本更新后主题暂时失效JetBrains IDE 每年有几个大版本更新每次更新后我都遇到过插件暂时失效的情况通常是主题插件还没有适配新版 IDE。这种情况不用急着卸载先去插件市场看看有没有更新版本手动升级到最新版本一般能解决。某个大版本刚发布的那一两周主题插件作者通常还没跑通兼容性测试。我的经验是如果你依赖 One Dark 作为主力主题大版本更新可以稍微晚几天再升等主题出适配版再动避免出现“IDE 更新完、主题变高亮”的尴尬期。另外提醒一句JetBrains 的插件兼容性检查和 IDE 小版本无关但大版本跨度太大时旧插件可能直接在启动时报错或静默失效。升级前最好确认一下插件版本是否支持新的大版本。用 One Dark 这几年我最大的体会是好的主题不会让你时刻注意到它但会让写代码的过程变得非常顺滑。它不像 Dracula 那种一眼惊艳的张扬也不像纯黑主题那样寡淡而是稳到让你几乎忘记主题这件事本身的存在。也许这就是它从 Atom 时代一路活到现在的真正原因。本文还有配套的精品资源点击获取