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 快四岁了,他还是个很年轻的编辑器。未来的路很长,相信他会越来越好,成为更多开发者所喜爱的开发工具。

代码编辑器横评:为什么 VS Code 能拔得头筹相关推荐

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

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

  2. vscode代码运行时间工具_代码编辑器横评:为什么 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 高速成长. 根据 ...

  4. VS Code 正在统治代码编辑器领地!

    出品:CSDN(ID:CSDNnews) [CSDN编者按]代码编辑器之于程序员的重要性不言而喻.长久以来,Vim.Emacs等老牌编辑器一直占据着举足轻重的地位,但是近年来情况似乎发生了变化.根据软 ...

  5. macos安装vscode_VS Code 代码编辑器入门指南:核心组件与概念

    作者:思考问题的熊 写在前面 如果当电脑只能装一个软件还需要尽量不影响日常学习工作时,不知道你的选择会是什么.我把这个看似「荒诞」的问题理解为「All-in-One」的升级版拷问. 这个问题陪伴了我很 ...

  6. 代码编辑器VS Code的“Chromium”版来啦:安全、开源、保护你的隐私

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 深受程序猿们欢迎的代码编辑器VS Code迎来了另一个平行版本--VS Codium.这二者的关系有些类似于Chrome和Chromium ...

  7. code vs 集成tfs_10大Python集成开发环境和代码编辑器

    支持Python的通用编辑器和集成开发环境 Eclipse + PyDev 类别:集成开发环境 网址:www.eclipse.org Python工具:PyDev, www.pydev.org 优点: ...

  8. linux cmd 字体,微软开源Cascadia Code新字体,该字体针对命令行和代码编辑器

    本周微软不仅开源了他们的C++标准库(STL),而且他们现在也开源了Cascadia Code的新字体. Cascadia Code主要针对开发人员,专门针对命令行应用程序和代码编辑器进行了优化.微软 ...

  9. 分享好用的文本代码编辑器和源代码编辑器【notepad++,Visual Studio Code】

    文章目录 notepad++介绍 Visual Studio Code介绍 今天在这里给学习者和开发者分享好用的代码编辑器[notepad++]和[Visual Studio Code] notepa ...

最新文章

  1. 7 种 Javascript 常用设计模式学习笔记
  2. C/Cpp / STL / vector 的 erase 会造成当前位置和之后的迭代器失效的疑问
  3. [SoapUI] Jenkins 配置不同环境(TP, LIVE)
  4. iOS NSMutableAttributedString常用方法总结
  5. Windows下的SQL Server备份文件BAK在Linux环境下还原遇到的问题
  6. iOS开发之应用内检测手机锁屏,解锁状态
  7. 【Python】区分List 和String
  8. 数据结构--------单链表+面试题
  9. mysql慢日志分析工具_MySQL慢日志分析工具mysqlsla
  10. matlab简单几何图形的识别代码,MATLAB识别几何图形
  11. wps中的word中公式复制完后是图片
  12. 深度学习项目实践——制作一个能一键更换证件照背景的软件
  13. 基于Python的模拟人脑神经元进行学习
  14. Postman任务栏图标丢失
  15. C# and VB.NET Comparison Cheat Sheet
  16. java期末考试复习题_JAVA期末考试复习试题
  17. 解决报错 WARNING: IPv4 forwarding is disabled. Networking will not work.
  18. iPhone5S等A7设备 任意版本降级iOS10.3.3教程(方法一)
  19. 读书笔记:《德鲁克管理思想精要》- 6
  20. Ajax广告词,用 ajax 的方法解决网页广告显示的问题

热门文章

  1. 谈谈分布式事务(Distributed Transaction)[共5篇]
  2. 遭遇“烧钱瓶颈” 优酷成本结构堪忧
  3. ipad和iphone切图_如何在iPhone,iPad和Mac上使消息静音
  4. 怎么做mysql查询系统_mysql数据库系统学习(一)---一条SQL查询语句是如何执行的?...
  5. 限流算法(记录cyc大佬的专栏)
  6. 8-12 canvas专题-阶段练习一(上)
  7. Oracle精简客户端配置
  8. Jenkins入门系列之——03PDF文档下载
  9. ACM题解系列之一:刘汝佳:《算法竞赛入门经典》(第2版)
  10. linux下ip命令用法