IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 聊聊Monolisa和JetBrains Mono字体在编码中的体验 -> 正文阅读

[开发工具]聊聊Monolisa和JetBrains Mono字体在编码中的体验

JetBrains Mono

早期一直是 JetBrains Mono 的使用者,vscode 配置如下:

  // settings.json
  // 这里使用的是 NL 无连体版本
  "editor.fontFamily": "'JetBrains Mono NL','等线'",

JetBrains Mono 是 JB 公司出品的免费等宽字体,也是在 JB 系软件上的默认字体,可谓是最普及的字体之一了,因为免费,所以也特别受欢迎。

用了很久的 JB Mono ,总结好处如下:

  1. 免费,用的人多,是经过实践验证的字体

  2. 字母不会很奇怪,不会有各种飞舞的字形,笔画都恰到好处收住,符合大众口味

  3. 在 vscode 上用 JB mono,切到 JB 系 ide 上编码也一致,日常编码间不会有割裂和不适感

总的来说 JetBrains Mono 是很不错的设计和使用体验。

几款人气字体

再另举几款比较火的字体:

Operator

官网:Operator fonts

很多人喜欢用的一款字体,主打连体的风格,特点是特别贵。

Fira

仓库:tonsky / FiraCode

Fira 系列也是和 JB mono 一个重量级的字体,开源免费。

Dank mono

官网:Dank mono

codesandbox 早期使用的默认字体就是 dank mono ,这款字体给我的感觉是 f 很奇怪,关于 f 的问题也有人声讨过:

Issue: Dank Mono is a bad font!

也有人表示某些奇怪的字形对无障碍不友好:

Issue:[Docs]: Dank Mono is hard to read as someone visually and cognitively impaired

对此作者的评价是有瘦字形的考量,是 dank 的独特风格,详见:

How does everyone feel about the lowercase f?

后来 codesandbox 切到了 monolisa 。

Monolisa

官网:monolisa.dev

近期从 JB mono 切到 monolisa 使用了一段时间,发现了一些 monolisa 的缺点和优点,这里细数一下。

优点

  1. 更宽,不费眼:比常规字体多 7% 的字宽,从很紧凑的 JB mono 切过来几个小时不太习惯,但是半天就真香了,眼睛的消耗效率直线下降,事实证明字宽还是很费眼的,现在已经很难回到 JB Mono 了(会感觉很挤,看不清)。

  2. 字体走形一致: 这是官方的设计理念,也是号称不费眼,对此我的体验并没有太明显,只是觉得刚使用时对长命名更清晰了,比如经常有 ISomeScopeMethodModalProps 这种长接口要写,个人感觉命名越长越有连贯优势。

  3. 持续更新,有保证:官方定期会维护维修 bug ,并且有专门的反馈渠道,加上 codesandbox 这么大的用户群体,有实践验证。

  4. 字形定制,款式多通吃:monolisa 另一个令人吃惊的是支持某些字母的字形修改,比如 0 / g / @ 的多种款式,通吃各种开发者的习惯。

缺点

  1. 紧凑连体有缺陷:因为字形定制(见好处第 4 条)的存在,monolisa 把连体分成了上下两 part,只开上 part 是紧凑字体,会对符号开启紧凑,比如 // 注释字符在一起就没必要占两个字符的位置,自动紧凑一些会让编码体验更好。下 part 是连体。

    这里有问题的就是只开启上 part 后符号字宽变窄,会影响到 vscode 的主题着色,存在一些符号连在一起没着色成功的问题,比如正则内的各种 / / . 字符凑在一起,这个问题有在不断改善,但是还是一个痛点,为了让着色完全正常,只能关掉连体两个 part 了。

    有问题的情况:

    正常的情况:

  2. 定制变体不容易作用到终端:目前 vscode 等编辑器的终端字体都没有开放变体设定,所以要在终端上用定制字形,只能用相关工具自己打一份变体是默认设定的 monolisa 字体,不过这是一个通病。

综合来说 monolisa 的利大于弊,本质上存在的问题还是因为设计的很复杂,因为定制度太高所以衍生了新的小问题。

这里分享一下我的 monolisa 字体设定:

  // settings.json
  "editor.fontFamily": "'MonoLisa','等线'",
  "editor.fontLigatures": "'zero' on, 'ss04' on, 'ss06' on, 'calt' off, 'liga' off",

其中:

  • zero :开启 0 替换,默认中间是点,替换成斜线的 0

  • ss04 :替换 g 到汉语拼音的 g 字形,比较符合习惯

  • ss06 :替换 @ 让他完整一些

  • calt / liga :关闭上下两 part 的连体,关掉上 part (calt)避免上面说的紧凑着色问题,关闭下 part (liga)就是关掉连体。

总结

字体会对编码效率产生影响,这个因人而异,屏幕分辨率越高,字体产生的影响越明显,这里建议在 2k + 或者 retina 屏上再注重字体,分辨率太低的屏往往字体的影响效用不大。

另外字体要入正,否则享受不到迭代,会有无数的 bug 和坑,浪费时间给自己埋雷得不偿失。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:35:43  更:2022-03-03 16:38:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:24:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码