作者 | 韩骏

责编 | 郭芮

2015 年 4 月 29 日的 Build 大会上,微软发布了 Visual Studio Code 第一个预览版本。短短四年时间里,VS Code 高速成长。

根据 2019 年 2 月的 PYPL Top IDE index 排名,VS Code 涨势迅猛,在所有编辑器与 IDE 中排名第六,领先于其他主流的代码编辑器:Sublime、Atom 和 Vim。可以说是已经在代码编辑器中拔得头筹。

在 Stack Overflow 的 2018 年开发者调查中,VS Code 亦是最受欢迎的开发工具。

那么,VS Code 为什么能这么成功?有哪些地方是开发者所喜爱的呢?让我们从各个方面与 Sublime、Atom 和 Vim 比较下,逐一分析。

学习曲线

对于任何人来说,特别是新手,一个工具的学习曲线也会影响到它的受欢迎程度。还记得 Stack Overflow 上著名的问题之一:"How to exit the Vim editor?" 吗?已经有接近两百万的访问量了。在学习曲线上,VS Code、Sublime 和 Atom 一定是遥遥领先于 Vim。同时,VS Code 的使用文档相比于其他编辑器也是做得最好的,无论是“快速入门”还是每一个功能的使用,在官网上都写得一清二楚有条有理。官网还提供了 PDF 版的键盘快捷键参考表,让开发者轻松上手。此外,考虑到一些开发者是从 Vim、Sublime、IntelliJ 或是其他开发工具转来的,依旧习惯于原来开发工具的键盘快捷键。VS Code 也提供了各种键盘映射的插件,让你可以在 VS Code 中继续使用不同开发工具的快捷键,而不用重新学习 VS Code 的快捷键。

用户体验

VS Code 提供了许多良好的开箱即用的用户体验。与 Vim、Sublime 和 Atom 一样,VS Code 都提供了代码编辑的体验。此外,VS Code 在保持其轻量级代码编辑器的前提下,还内置了一些 IDE 中会有的重要功能:

  • Terminal:内置的 Terminal 使得开发者可以直接在 VS Code 中快速地运行脚本,而不需要在 VS Code 和系统的 Terminal 之间来回切换。

  • 调试器:直接在 VS Code 中调试代码,断点、Call stacks、交互式的 Debug Console,使调试变得异常轻松。

  • 版本控制:开箱即用的 Git 支持,让你方便地进行文件更改比较,管理你的源代码。

特别是对于前端开发者来说,VS Code 有着非常好的支持。除了对 JavaScript 的智能提示、重构、调试等功能的支持,像 HTML、CSS、SCSS、Less 和 JSON 这些前端技术栈,都有着很棒的支持。

此前在一些用户体验上,VS Code 也有不足之处。比如,曾经 VS Code 设置页面的体验就没有 Atom 好,Atom 有着图形化的配置界面,而 VS Code 是基于 JSON 文件的。VS Code 对此也是听取用户的反馈,增加了图形化的配置界面,也保留了基于 JSON 文件的配置方式,满足了不同人群的使用习惯。

开源

开源对于一个产品的长期发展极为重要。在四款编辑器中,Sublime 是闭源的,VS Code、Vim 和 Atom 都是开源的,而 VS Code 可以说是开源做得最好的。

VS Code 不仅仅是把代码开源出来。而是把整个产品的开发过程建立于开源之上,与整个社区深入合作,倾听用户在 GitHub 上的反馈,使 VS Code 越做越好:

  • 每一年,VS Code 团队都会在 GitHub Wiki 发布 Roadmap ,列出一整年的规划图;

  • 每个月初,在产品设计阶段,VS Code 团队会在 GitHub Issue 上会发布 Iteration Plan ,列出这个月会做的每一个功能,每一个功能基本会对应一个 GitHub Issue,你可以看到详细的设计以及 mockup,并且可以提出你自己的见解;

  • 每个月末,临近产品发布,你可以在 GitHub 看到 Endgame 了解到 VS Code 是如何进行产品测试与发布的。

不仅代码开源,VS Code 整个产品的计划,设计以及发布管理都是“开源”的:每一个阶段对每一个用户是公开透明的,你不仅可以开 Issue,发 PR,甚至也可以参与到每个功能的设计与讨论中去。

性能

天下武功唯快不破。相信从 IDE 转投 VS Code 的童鞋,一定是对 VS Code 的性能非常满意。同为基于 Electron 开发的产品,VS Code 在性能的优化上要比 Atom 领先许多。当然,我们必须承认的是,在速度上 VS Code 与 Vim 和 Sublime 相比,还是略有差距。但是,我们依旧能看到 VS Code 不断在性能上优化。从插件进程与主进程的隔离、插件的延迟加载,再到 Text Buffer 的优化,提升大文件的加载与编辑速度,减少内存使用率。我们看到了 VS Code 的不断进步。

插件

VS Code 有着丰富且快速增长的插件生态,如今,已经有超过一万个插件。不仅有中心化的插件市场,而且在 VS Code 编辑器里也可以轻松搜索插件,直接进行安装与管理。相比之下,Sublime 只有 5000 不到的插件,而且在编辑器里不能很方便地搜索管理插件;Vim 插件虽多,但因为没有一个中心化的插件市场,查找插件很麻烦;Atom 有 8000 多的插件,比 VS Code 少一些,虽然在编辑器内也可以查找插件,但 VS Code 的搜索和浏览功能做得要比 Atom 要好。

此外,VS Code 还推出了 Extension Packs,方便开发者一键安装多个插件。比较出色的 Extension Pack 有 Java Extension Pack、PHP Extension Pack、Vue.js Extension Pack 等,使得 VS Code 秒变 IDE。

生态

VS Code 不仅仅是一个代码编辑器,它有着强大的生态。VS Code 把它的许多重要组件抽离出来,成为大家都可以复用的开源产品,与社区合作,把产品越做越好:

  • Language Server Protocol :它是 Editor/IDE 与语言服务器之间的一种协议,可以让不同的 Editor/IDE 方便嵌入各种程序语言,允许开发人员在最喜爱的工具中使用各种语言来撰写程序。Eclipse、Atom、Sublime Text、Emacs 等主流 Editor/IDE 都已经支持了 LSP。

  • Debug Adapter Protocol:DAP 与 LSP 的目的类似,DAP 把 Editor/IDE 与不同语言的 Debugger 解耦,极大地方便了 Editor/IDE 与其他 Debugger 的集成。Eclipse、Emacs、Vim 等已经支持了 DAP 。

  • Monaco Editor:作为 VS Code 的核心组件,Monaco Editor 在 GitHub 已经拥有了超过 13000 个 star 。国内比较有名的比如 Cloud Studio 和 Gitee Web IDE 都使用了 Monaco Editor。

VS Code 作为 Visual Studio Family 的重要产品,与 Visual Studio IDE 一样,也有两大重要的功能:

  • Visual Studio Live Share:极大地方便了协作编程:实时共享代码编辑、跟随光标、团队调试、分享本地服务器、共享终端等。

  • Visual Studio IntelliCode:通过 AI 赋能,根据上下文给出编程建议和智能提示,提高开发者的效率。

VS Code 快四岁了,它还是个很年轻的编辑器。未来的路很长,相信它会越来越好,成为更多开发者所喜爱的开发工具。

作者:韩骏,微软研发工程师,VS Code 代码贡献者,VS Code 及 IoT 领域专家。

【End】

 热 文 推 荐 

☞ 腾讯服务器崩溃!

5G 是未来的唯一选择?| 畅言

苹果新一代 AirPods 能活过两年吗?

☞ 18 岁少年盗取价值 90 万元的萌乃币, 交易所被迫关停!

李笑来登顶 GitHub TOP 榜!币圈大佬要教程序员如何自学编程

马云:蚂蚁金服这样做区块链!

女生适合做程序员吗?

Google首页玩起小游戏,AI作曲让你变身巴赫

曝光!月薪 5 万的程序员面试题:73% 人都做错,你敢试吗?

System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!\n");
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在好看吧!"

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

喜欢就点击“好看”吧!

代码编辑器横评:为什么 VS Code 能拔得头筹?| 程序员硬核评测相关推荐

  1. 别熬夜加班了,Facebook 开源了一款代码推荐神器!| 程序员硬核评测

    近日,科技巨头 Facebook 开源了一款代码到代码的搜索和推荐神器--Aroma,开发者基于此可以轻松找到常见的编码模式而无需手动浏览多个代码片段. 作者 | Celeste Barnaby.Sa ...

  2. confluence 编辑器这次没有加载_代码编辑器横评:为什么 VS Code 能拔得头筹

    2015 年 4 月 29 日的 Build 大会上,微软发布了 Visual Studio Code 第一个预览版本.短短四年时间里,VS Code 高速成长. 根据 2019 年 2 月的 PYP ...

  3. 代码编辑器横评:为什么 VS Code 能拔得头筹

    2015 年 4 月 29 日的 Build 大会上,微软发布了 Visual Studio Code 第一个预览版本.短短四年时间里,VS Code 高速成长. 根据 2019 年 2 月的 PYP ...

  4. vscode代码运行时间工具_代码编辑器横评:为什么 VS Code 能拔得头筹

    2015 年 4 月 29 日的 Build 大会上,微软发布了 Visual Studio Code 第一个预览版本.短短四年时间里,VS Code 高速成长. 根据 2019 年 2 月的 PYP ...

  5. ChatGPT、低代码等技术出现会不会导致底层程序员失业

    目录 1. ChatGPT会不会导致底层程序员失业 2. 低代码会不会导致底层程序员失业 3. 总结 1. ChatGPT会不会导致底层程序员失业 今天在浏览知乎时,看到一个问题,问题如下图: 同时, ...

  6. 0行代码拿210万年薪,ChatGPT催生新型「程序员」岗:工作纯靠和AI聊天

    梦晨 发自 凹非寺 量子位 | 公众号 QbitAI 靠玩ChatGPT,还能找到新工作? 没错,Riley Goodside(后面叫他好面哥)4月份开始在网上发布玩GPT-3的心得. 最近ChatG ...

  7. Copilot逐字复制代码,恐抹去整个开源社区?程序员拿出律师证发起集体诉讼

    选自GitHub Copi­lot inves­ti­ga­tion 作者:Matthew Butterick 机器之心编译 视学算法发布 编辑:蛋酱.张倩 Copilot是开源社区的「寄生虫」? 作 ...

  8. Fira Code:适合程序员的编程字体

    #Fira Code Fira 是 Mozilla 公司 主推的字体系列.Fira Code 是其中的一员,专为写程序而生.出来具有等宽等基本属性外,还加入了编程连字特性(ligatures). Fi ...

  9. 关于Hard Code的思考 - 程序员的管理不能简单使用制度

    http://blog.csdn.net/decision/archive/2005/11/23/536011.aspx 版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息 ...

最新文章

  1. nbalive05 editor 正式版
  2. sql语句练习50题(Mysql版-详加注释)
  3. NIO详解(四):NIO编程
  4. 4.边缘光照的描边shader
  5. 在ARM Linux下使用GPIO模拟SPI时序详解
  6. javaScript对象及初识面向对象
  7. python 爬取历史天气
  8. 【房价预测】基于matlab Elman神经网络开盘价预测【含Matlab源码 708期】
  9. 不小心中了makop勒索病毒
  10. PWM是如何调节直流电机转速的?电机正反转的原理又是怎样的?
  11. 全国计算机将文件属性隐藏,一键玩转隐藏属性文件
  12. github修改语言设置
  13. Git子模块使用-管理多个git项目
  14. springboot二手交易平台毕业设计源码290915
  15. 代码写的太烂了,所以我干不下去了
  16. LaTeX 设置图片caption左对齐
  17. ubuntu 关闭 笔记本键盘背景灯
  18. python批量pdf转word_Python:PDF批量转Worde+PDF图片快速提取(附源代码)-Go语言中文社区...
  19. 【第二十四题】逻辑闭环(北理工/北京理工大学/程序设计方法与实践/小学期 )
  20. 计算机看服务代码,帮我查 下戴尔笔记本服务代码 25822644085 服务编号 BV24VP1 (电脑出厂日期,配置)...

热门文章

  1. 广州大学数据库实验报告_广州大学学生Access数据库实验1_表的创建和操作
  2. leetcode python3 简单题141. Linked List Cycle
  3. windows聚焦图片为什么不更新了_网站内容更新,相同内容,不同网站为什么排名不一样?...
  4. [SQL实战]之查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工
  5. 关于计算机博弈的开源项目
  6. 中国1,3丁二醇市场趋势报告、技术动态创新及市场预测
  7. sar分辨率公式_对PAR DAR SAR的理解
  8. 俄罗斯 Android 系统受限,或将转用 HarmonyOS?
  9. 仅用一年时间,蓝巨人 IBM 如何开发出首台个人计算机?
  10. UNIX会被取代吗?来听听UNIX诞生的见证者怎么说~