工具说明书 - 使用带连字功能(ligature)的编程字体
程序员使用大量的符号,通常用几个字符表示一个编码。对于人脑来说,像->、<=或:=这样的序列是单一的逻辑标记,即使它们在屏幕上需要两到三个字符。你的眼睛要多花费些能量来扫描、解析并将多个字符连接成一个单一的逻辑符号。理想情况下,所有的编程语言都应该为运算符设计成熟的Unicode符号,但现在还不是这样的。
所以有一些免费的等宽字体,比如Jetbrains Mono或Fira Code,包含常见的编程多字符组合的连字符。这只是一个字体渲染功能:底层代码仍然与ASCII兼容。这有助于更快地阅读和理解代码。对于一些经常出现的序列,如..或//,连接词还能修改间距,使其更紧凑。
下面这张图显示了使用连字功能(左边)和不使用连字功能(右边)的区别:
而使用这个字体的连字功能,需要应用程序配合。
比如支持私用连字功能的文本编辑器或开发环境包括:Notepad++、Eclipse、Visual Studio、Visual Studio Code、CLion、NetBeans和QTCreator等。
----------------------------
下面以Visual Studio Code为例。
首先要下载带连字功能的字体,这里选择的时Jetbrains Mono Font。
搜索JetBrains Mono, 下载字体,然后安装,里面很多类型,比如粗体、斜体等,可以先安装个普通regular版本或者选择都安装。
JetBrains Mono: A free and open source typeface for developers | JetBrains: Developer Tools for Professionals and Teamshttps://www.jetbrains.com/lp/mono/
关于这个字体的介绍:
JetBrains表示:在当今的大部分时间里,我们作为开发人员都在看代码。我们一直在寻找最佳字体,以使我们更容易在屏幕上查看文本。
但是,许多流行字体中的逻辑并不总是考虑到通读代码和阅读书本之间的区别。
我们的眼睛以非常不同的方式沿代码移动,通常必须垂直移动和水平移动,这与阅读书籍不同,因为它们总是沿同一方向沿文本滑动。
因此,在使用JetBrains Mono进行开发时,除其他外,重点研究了在长时间使用代码期间可能导致眼睛疲劳的问题。
我们考虑了字母的大小和形状等问题;它们之间的空间量,自然以等宽字体设计的平衡;一些看起来不必要的细节和符号之间不清楚的区别,例如(l 和 I);还要和开发字体时的编程连字等。
字体安装完成,我们来设置VS Code。
先打开设定。
在设定里选择Font,然后点击使用JSON编辑。
然后在最后输入:
"editor.fontFamily": "JetBrains Mono",
"editor.fontSize": 13,
"editor.fontLigatures": true
这时,在文件编辑窗口中输入:
if(a>=b)就会变成if(a≧b)
在上面的JSON设置文本中,还有很多其他选项可用:
"editor.fontFamily": "'JetBrains Mono', Consolas, 'Courier New', monospace", // Font Family
"editor.fontSize": 11.3, // Font Size
"editor.fontWeight": "bold", // Font Weight
"editor.fontLigatures": true, // Font ligatures
"editor.letterSpacing": 0.4, // Set letter spacing
"editor.smoothScrolling": true, // Enable smooth scrolling in the editor
---------------------------------------
使用Notepad++设置连字功能。
官方并不支持连接词, 所以先通过插件管理器安装LuaScript,安装后重启APP。
打开Plugins > LuaScript > Edit Startup Script来编辑LuaScript启动文件,并添加以下代码。
editor1.Technology = SC_TECHNOLOGY_DIRECTWRITE
editor2.Technology = SC_TECHNOLOGY_DIRECTWRITE
然后进入设置项:Settings > Style Configurator > Global Styles > Global Override。
在字体选择中,改为支持连字功能的字体,比如Jetbrains Mono或者Fira Code。
然后勾选“启用全局字体”(Enable global font)。
重启Notepad++,新建文本中输入“>=” 就会变成“≥”。
----------------------------------------
在我们编程中,一般都建议使用等宽字体,这样代码编辑和阅读起来都比较方便。
比如courier new、monospace、JetBrains Mono和Consolas都是我们常用的等宽字体。
在编程中使用的话,字体显示的I、L、0、O这几个字母也要方便区分。
而上面介绍的连字功能,也是对于程序员来说,让代码更简洁的一个特性。
前面设置的editor.fontLigatures,就是指这个。
具有连字功能的字体包括但不限于:
Fira Code 和 JetBrains Mono。
而我经常使用的(在Source Insight中)Consolas字体就是不带连字功能的。
下面是一些程序员编程常用的字体,有兴趣可以网上下载下来使用:
Consolas: Consolas 是 Microsoft Visual Studio 的默认字体,随 Windows 一起提供。
Source Code Pro: Source Code Pro 由 Adobe 设计。整体而言,这种字体看起来比其他字体更清晰。
courier new
JetBrains Mono: a typeface for developers.
Fira Code:free monospaced font with programming ligatures.
iosevka
Monoid :open source coding font.
Hasklig (这个是Source Code Pro的连字版本)
MonoLisa : font follows function.
Droid Sans Mono: an open-source sans-serif font.
monospace
参考:
According to JetBrains mono, firacode, source code pro and Consolas, which is your dish? | Develop Paperhttps://developpaper.com/according-to-jetbrains-mono-firacode-source-code-pro-and-consolas-which-is-your-dish/
5 monospaced fonts with cool coding ligatures | Better Web Typehttps://betterwebtype.com/articles/2020/02/13/5-monospaced-fonts-with-cool-coding-ligatures/
6 BEST Fonts for Programming in 2021 | Bloghttps://braydoncoyer.dev/blog/6-best-fonts-for-programming-in-2021/
https://github.com/i-tu/Hasklighttps://github.com/i-tu/Hasklig
https://github.com/JetBrains/JetBrainsMono/https://github.com/JetBrains/JetBrainsMono/
Idea公司真牛逼,发行最适合程序员编程字体~|java|编辑器|编程语言|代码_网易订阅https://www.163.com/dy/article/FVNKTH380531A3HQ.html
https://github.com/tonsky/FiraCodehttps://github.com/tonsky/FiraCode
工具说明书 - 使用带连字功能(ligature)的编程字体相关推荐
- 按键精灵脚本打包工具(自带热更新功能)方便有需要的人有教程有链接
按键精灵小精灵打包工具下载链接: 按键精灵打包工具下载链接 有需要的自行下载吧,比世面上收费的功能强大,具有热更新功能. 直接就可以把自己的程序打包成apk使用.
- Windows造字功能详解
CNET中国·PChome.net 经常进行文字编辑的朋友难免会碰到一些无法输入的怪字,这是因为这些字用得很少所以电脑字库中并没有这些字.此时用Windows的TrueType造字程序就是最佳选择.在 ...
- w ndows默认截图工具,Windows上有哪些自带的截图功能?快来学习吧!
原标题:Windows上有哪些自带的截图功能?快来学习吧! Windows 自带的截图功能! 虽然微信.QQ很顺手,但希望大家也能了解下 Windows 自带的至少 4 种截图功能,是真的很强大很好用 ...
- 2023新版 多功能去水印工具微信小程序源码_带流量主功能(已更新)
简介: 2023新版 多功能去水印工具微信小程序源码_带流量主功能 自带去水印接口的多功能小程序 支持各大平台短视频去水印 支持保存封面,图集,标题等等 支持本地图片去水印 支持图片拼接 支持九宫格切 ...
- 苹果6手机怎么录屏_原来苹果手机还自带录屏功能,那以后就不用下载第三方录屏工具了...
那些玩手游的人经常会用手机来录屏,那你知道如何使用苹果手机来录屏吗?下面小编就来讲讲苹果手机录屏与后期编辑的问题. 一.手机录屏 1.屏幕录制 现在每种手机品牌基本上都有自带录屏功能,作为备受大家关注 ...
- 苹果自带相册打马赛克_不愧是vivo!自带的修图功能分分钟秒杀第三方工具,你有用过吗?...
很多人选择vivo手机是被它的高颜值或实用功能所吸引,确实,vivo手机不仅颜值高,还有自带很多实用的功能,有些功能还是其它手机所没有的.今天我们要来说的就是vivo自带的修图功能,它的修图功能非常强 ...
- 计算机wps系统的造字程序在哪里,Winxp系统自带造字程序在哪|Winxp系统自带造字程序的使用方法...
经典的Winxp系统自带了一个造字程序,不过很多用户对这个程序都不大了解.那么,在什么情况下我们需要使用自带的xp系统造字程序呢?如果用户遇到某些字无论采取什么方式.方法输入都不会出现的话,就需要使用 ...
- 功放板加开关音量_一种带音量开关功能的音响功放板的制作方法
本实用新型涉及音响功放板领域,尤其涉及一种带音量开关功能的音响功放板. 背景技术: 随着时代的变化,人们对于技术的研究飞速,人们的生活中越来越多的工具,其中也缺少不了音响功放板这些设施,在人们使用的过 ...
- 电脑技巧:Win10自带存储感知功能给电脑磁盘瘦身
今天给大家分享Win10自带存储感知功能给电脑磁盘瘦身功能,希望对大家能有所帮助! 1.什么是存储感知 Win10存储感知功能属于Win10操作系统的一大亮点,自带有AI的存储感知功能发挥其磁盘清理功 ...
- jvm调优 java_opt_Java-100天知识进阶-JVM调优工具-JDK自带工具-知识铺《八》
原标题:Java-100天知识进阶-JVM调优工具-JDK自带工具-知识铺<八> JVM 监控分析工具 一.JDK 自带工具 1. jconsole JDK/bin 目录下, jconso ...
最新文章
- React学习笔记4: React脚手架配置代理
- 在Quick-cocos2dx中使用云风pbc解析Protocol Buffers,支持win、mac、ios、android
- php随机数字不重复,php生成N个不重复的随机数
- 中国合成橡胶行业竞争趋势与运营展望规划分析报告2022年
- 给定一个函数做其最佳平方逼近c语言,求函数f(x)在指定区间上对于Φ=span{1,x}最佳平方逼近多项式: (1),[1,3]; (2...
- socket穿透代理代码(C++版)
- spring mvc学习(15)Referenced file contains errors
- 算法日记-01-算法和数据结构概览
- SQL关联查询————LEFT JOIN关键字的使用
- Spring Boot : springboot项目混淆方案
- 华为MA5616配置及维护指南
- axure 彻底删除lib_axure-rplib
- 微信小程序自定义导航栏样式
- 如何用 Stata 做调节中介效应检验?
- 常用会计科目名词解释
- 详解深度学习中的梯度消失、爆炸原因及其解决方法
- python编码使用ascii编码_Python中的编码问题:ASCII码 Unicoden编码 UTF-8编码
- 解决click在ios反应慢的问题
- 内网Gitlab如何拉取代码
- 恒定积自动做市--兑换比例,滑点,平均成本,资金进出对价格影响