字体不仅是设计师手中重要的武器,对我们开发人员来说,字体的选择也有许多讲究,一个好的、适合展示代码的字体,应该具备以下要素:

  • 等宽的字符
  • 简洁、清晰并且规范的字符形状
  • 支持ASCII码为128以上的扩展字符集
  • 与字符同等宽度的空格
  • 易于分辨的小写字母l、大写字母I、数字1和符号|
  • 易于分辨的大写字母O和数字0
  • 易于分辨的前引号和后引号,最好能够前后对称
  • 易于分辨的其他标点符号,尤其是大括号、中括号、小括号和尖括号
  • 良好的中文支持和显示

下图展示了一个极端的反例,虽然很有个性,但并不适合用来显示代码。它的大写字母大的可怕,小写字母却小的可怜;字符不仅不清晰,而且不规范;小写字母l、大写字母I、数字1和符号| 难以分辨;大写字母O和数字0难以分辨;标点符号还凑合,只是下划线为什么是断开的?

当然,这个反例的确有些夸张,但其上文所列举的条件是比较苛刻的,我们在选择字体时没有必要非要完全满足所有条件,事实上这种字体也是凤毛麟角。下文所分享的一些字体也并没有完全满足所有条件,我们发现,只要满足了其中一些关键条件,用来显示代码就已经很不错了。

在Visual Studio中,更改编辑器的字体是件简单的事情,选择菜单【工具】【选项】,在弹出的“选项”对话框中依次选择“环境”和“字体和颜色”,然后在“显示其设置”中选择“文本编辑器”,最后在“字体”中选择字体就可以了,如下图所示:

在上图中,我们发现Visual Studio已经将等宽字体用粗体标识了出来,这样做是为了让我们更容易找到等宽的字体,并不表示等宽字体就一定适合显示代码,比如下图所示的“新宋体”就是一个反例:

在新宋体中,数字0之比大写字母O瘦那么一点点,小写字母l和数字1也十分相像,幸亏配色方案能够颜色将它们区别开来,否则实在难以分辨。这也从另一个角度说明了配色方案与字体是相辅相成的,搭配恰当时,会让代码更加清晰易辨。

下面就和大家分享一些在编程界声名烜赫的字体,截图所采用的配色方案为HumaneStudio,展示顺序为字体首字母升序。这些字体可能乍一看都一样,但仔细品味,还是能够发现不同的味道,希望大家都能找到适合自己的字体。

Andale Mono,演示字号为14,猛击这里下载

Anonymous Pro,演示字号为14,猛击这里下载

Bitstream Vera Sans Mono,演示字号为14,猛击这里下载

Consolas,演示字号为14,Windows或Visual Studio已内置:

Courier New,演示字号为14,Windows已内置:

DejaVu Sans Mono,演示字号为14,猛击这里下载

Envy Code R,演示字号为16,猛击这里下载

Inconsolata,演示字号为16,猛击这里下载

Monaco,演示字号为12,猛击这里下载

Monofur,演示字号为16,猛击这里下载

Progmata,演示字号为14,猛击这里下载

Share TechMono,演示字号为16,猛击这里下载

注:此字体似乎会将连在一起的fl显示为一个点,不建议使用,可惜可惜。

尾注:

  • 本文所分享的字体均支持ClearType。
  • 从评论来看,中文的显示的确是一个影响美观的重要因素,所以产生了许多微软雅黑和一些优秀英文字体的混合版,但其实还有一种方法可以快速而简单的实现用不同的字体显示中英文(感谢DiryBoy提醒),方法如下:
    • 用文本编辑器打开%AppData%\Microsoft\VisualStudio\9.0\VsFontLk.dat;
    • 将0804一行修改为需要的中文字体,格式为“0804|中文字体名称”,比如“0804|微软雅黑”;

程序员常用字体(vs字体修改方案)相关推荐

  1. 面向程序员的精品开源字体:让代码更易读、更美观、更实用

    随着计算机技术的飞速发展,程序员需要处理大量的文本信息,而字体作为信息传达的重要元素,在这个过程中扮演着至关重要的角色.一款精美.实用的字体能够帮助程序员更好地表达自己的思想和感情,提高工作效率和工作 ...

  2. 收录Java程序员常用英语

    Java程序员常用英语 基础----进阶 A. array数组accessible 可存取的  area面积audio 音频   addition  加法  action 行动  arithmetic ...

  3. Java程序员常用英语

    干程序员这行实在是离不开英语,干程序员是一项很辛苦的工作,要成为一个高水平的程序员尤为艰难.这是因为计算机软件技术更新的速度越来越快,而这些技术大多来源于英语国家,我们在引进这些技术时往往受到语言障碍 ...

  4. Java程序员常用英语词汇

    干程序员这行实在是离不开英语,干程序员是一项很辛苦的工作,要成为一个高水平的程序员尤为艰难.这是因为计算机软件技术更新的速度越来越快,而这些技术大多来源于英语国家,我们在引进这些技术时往往受到语言障碍 ...

  5. 600个程序员常用的单词和词汇

    600个程序员常用的单词和词汇 来自:网络 一小时轻松掌握程序员单词 1小时搞定程序员单词 集结了600个程序员常用的单词和词汇,让你写代码变量命名 so easy!!! 还等什么!GOGOGO! a ...

  6. java excel 插件开发工具_程序员常用的15 种开发者工具推荐

    程序员常用的15 种开发者工具推荐:Java 线上诊断工具 Arthas.IDE 插件 Cloud Toolkit.混沌实验注入工具 ChaosBlade.Java 代码规约扫描插件.应用实时监控工具 ...

  7. 阿里程序员常用的 15 个高效工具,大部分已开源!

    阿里程序员常用的 15 个高效工具,大部分已开源! 阿里将自身在各类业务场景下的技术积淀,通过开源.云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率. ...

  8. 第 14 章 程序员常用 10 种算法

    第 14 章 程序员常用 10 种算法 1.二分查找算法 1.1.二分查找算法介绍 前面我们讲过了二分查找算法,是使用递归的方式,下面我们讲解二分查找算法的非递归方式 二分查找法只适用于从有序的数列中 ...

  9. 最全程序员常用术语,科技互联网翻译必备

    最全程序员常用术语,科技互联网翻译必备 (整理不易,给个赞叭 蟹蟹) A abstract 抽象的 abstract base class (ABC)抽象基类 abstract class 抽象类 a ...

  10. Java程序员常用开发软件介绍

    Java程序员常用开发软件介绍 Java程序员常用开发软件介绍 后端开发利器:idea / eclipse及各种封装版本 数据库客户端:Navicat / Heidisql 前端开发: vs code ...

最新文章

  1. spring-session用mysql实现session共享实践
  2. U3D 打包时找不到tag的问题
  3. 当执行打印预览window.close无效
  4. 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等...
  5. 软件工程--第十三周学习进度
  6. 很好的理解遗传算法的样例
  7. 巧用记忆化搜索代替暴力递归(洛谷P1464题题解,Java语言描述)
  8. Laynews内核仿阿怪资源娱乐网源码
  9. 比特币、以太坊、瑞波币、万融链和区块链
  10. android如何让gps服务停止,android – 启动/停止GPS(或位置服务)时接收通知(通过BroadcastReceiver)...
  11. 嵌入式工作笔记0007---对讲机嵌入式开发记录---认识对讲机的功能--随时更新
  12. 台湾出境旅游项目数据分析
  13. ELK日志分析系统部署
  14. LineageOS源码定制手机系统
  15. 机器翻译是否能替代人工翻译?从前世今生说起
  16. 【规范】万字集大成的SCHPCB设计规范和AD的使用
  17. JAVA 逆向工程技术研究日志
  18. 未来几年,自动化发展趋势展望
  19. opencv-python傅里叶变换以及逆变换
  20. Java8新特性之Joining

热门文章

  1. 服务器内存有很多不显示,这里大神多,帮忙看看这个服务器内存是不是真的
  2. cad高程点怎么抽稀_地形图缩编1:500变成2000,植被符号抽稀功能,
  3. c++ 制作蠕虫病毒
  4. SAP那些事-理论篇-7-SAP的优势和劣势
  5. 软件测试技术之: 白盒测试和黑盒测试
  6. 【自动驾驶】模型预测控制(MPC)实现轨迹跟踪
  7. 关于AD15中恢复默认菜单的快捷操作
  8. 林子雨大数据软件安装和编程指南导航
  9. iOS 实现长屏截图,scrollview,tableview截图
  10. elementUI select 默认选中