atom无法通过config.cson或设置面板调节字重,因font-weight未被纳入配置白名单;必须在styles.less中为.atom-text-editor和.editor添加font-weight数值规则(如600)才生效,且需手动重载窗口。

Atom 默认不提供“字重调节滑块”,代码字体的粗细只能靠 CSS 强制指定 font-weight,且必须写在 styles.less 里才生效——改 config.cson 或设置面板里的任何选项都无效。
为什么 config.cson 和设置面板调不了 font-weight
Atom 的 config.cson 只暴露了 fontFamily、fontSize、lineHeight 这几个编辑器文本渲染参数,font-weight 不在白名单内。设置面板里所有可调项都映射到 config schema,没定义就不可见、不可设。
常见错误现象:
– 在 Editor 设置里填 "Fira Code Bold" 或 "Consolas-Bold",结果字体变回默认或 fallback 到 monospace
– 改完 config.cson 加了 fontWeight: 700,重启后完全没反应
- 根本原因:Atom 渲染代码区域用的是
atom-text-editor自定义元素,它的样式由 CSS 控制,不读取 config 中的字重配置 - 系统字体名(如
Consolas-Bold)不是通用方案:macOS 上可能叫Consolas Bold,Windows 是Consolas-Bold,Linux 下甚至可能压根没这个 PostScript 名 - 依赖字体名硬编码极易失效,尤其换机器、重装系统、升级 Atom 后
正确做法:在 styles.less 里覆盖 atom-text-editor 的 font-weight
打开 Atom → Stylesheet…(或手动编辑 ~/.atom/styles.less),添加以下规则:
.atom-text-editor, .editor {
font-weight: 600;
}
说明:
– 必须同时写 .atom-text-editor 和 .editor,前者是实际渲染容器,后者是旧版兼容类名,缺一可能部分行不生效
– 推荐用数值(400 正常,600 半粗,700 粗),不用 bold,避免某些字体把 bold 映射成假粗(fake bold)导致边缘发虚
– 如果只想对特定字体加粗,可限定范围:
.atom-text-editor[data-font-family="Fira Code"] {
font-weight: 600;
}
连字字体(如 Fira Code)加粗后连字断裂?这是正常现象
Fira Code、JetBrains Mono 等连字字体的粗体版本(Fira Code Bold)是独立字形文件,它自带的连字规则和常规体不同。直接用 font-weight: 700 强制加粗,会触发浏览器/Atom 的合成加粗(synthetic bold),破坏 OpenType 连字特性。
- 验证方法:写
!=或=>,如果显示为两个分离字符,说明连字已失效 - 真正解决办法:安装该字体的官方粗体版(如
FiraCode-SemiBold.ttf),然后在config.cson中显式指定:fontFamily: "'Fira Code SemiBold', 'Fira Code'" - 注意:不能只写
'Fira Code SemiBold',必须保留回退链,否则字体未安装时整个编辑器变方块
终端输出(script 插件)、目录树、面板字体也想加粗?得单独配
styles.less 里加的 .atom-text-editor 规则只管代码区,其他区域需独立选择器:
- script 插件的控制台输出:
.script-view .line或.script-view pre - 左侧目录树(tree-view):
.tree-view .file, .tree-view .directory - 底部状态栏:
.status-bar - 设置界面文字:
.settings-view .section .setting-description
这些地方加粗后,如果出现文字模糊或渲染延迟,大概率是开启了 text-rendering: optimizeLegibility,高分屏上建议关掉它,或仅对代码区保留。
最易被忽略的一点:改完 styles.less 后 Atom 不会自动刷新样式,必须手动按 Ctrl+Shift+P(macOS 是 Cmd+Shift+P),输入 Window: Reload 执行重载,否则永远看不到效果。











