代码编辑器横评:为何 VS Code 能拔得头筹

摘要: 为何 VS Code 这么火...前端

Fundebug经受权转载,版权归原做者全部。编程

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 已经拥有了超过一万三千个 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 快四岁了,他仍是个很年轻的编辑器。将来的路很长,相信他会愈来愈好,成为更多开发者所喜好的开发工具。

关于Fundebug

Fundebug专一于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有Google、360、金山软件、百姓网等众多品牌企业。欢迎你们免费试用

相关文章
相关标签/搜索