为什么 VS Code 会迅速占领 JavaScript 开发者社区
首先,为了避免与微软的 Visual Studio IDE 发生混淆,这里先说明一下,Visual Studio Code(也即 VS Code)是一款轻量级的编辑器,类似 Atom 或 Sublime Text。它的采用量节节攀升,迅速占领了开发者市场!
2015 年,微软推出了 VS Code 的第一个版本。在第二年的 Stack Overflow 开发环境调查报告中,它只有 7.2% 的市场份额,位居第 13 位,与 Notepad++ 和 Visual Studio(它们两个都是 35.6%)以及 Sublime Text(31.0%)差了一大截。不过,一年之后,它爬到了第 5 位(24%)。到了 2018 年,市场份额攀升至 34.9%。2019 年的报告更是说明 VS Code 之前的增长趋势并非昙花一现,市场份额达到了 50.7%。
VS Code 已经成为 JavaScript 社区最受欢迎的编辑器。有人说:“在很长一段时间里,微软被认为是 JavaScript 生态系统里的一颗毒瘤,因为它的陈旧的浏览器总是碍手碍脚的。不过,在过去几年,微软在 TypeScript 和 VS Code 方面表现强劲,似乎是在极力弥补过去的错误”。
那么,是什么让 VS Code 在 JavaScript 开发者当中变得如此流行?
1. 开源和社区支持
与 Sublime Text 和 WebStorm 不一样,VS Code 是完全免费和开源的,类似 Atom 和 GitHub 的编辑器。它与 Atom 的关键区别在于微软真的想把它打造成一款开源的编辑器。VS Code 在 GitHub 上是一个排名非常靠前的开源项目,在 2018 年收到了 19000 次代码提交。微软内部团队与社区紧密合作,采用了敏捷和 DevOps 开发方式,所以他们可以更快地发布版本和更快地改进产品。另外,为了确保交付给用户的是用户想要的东西,开发团队会收集产品使用信息以及来自 GitHub 和 UserVoice 的用户反馈。
在细分市场中,插件生态系统对代码编辑器来说是至关重要的。微软很快就意识到了这一点,所以,它不仅自己发布了很多插件,还让第三方插件开发变得很容易。因为 VS Code 是使用 JavaScript 开发的,并且是基于 Electron 框架的,所以开发 VS Code 插件非常容易。所以,VS Code 拥有很多高质量的插件。
当然,因为微软很擅长市场营销和软件销售,这一点在 VS Code 推广方面也起到了很大作用。
2. 跨平台能力
现如今,跨平台开发能力是非常重要的。2019 年 Stack Overflow 开发者调查显示,有 45.3% 专业开发者使用 Windows,有 29.2% 使用 macOS,还有 25.3% 使用 Linux。因为 VS Code 是基于 Electron(一个跨平台框架)的,所以微软才能毫不费力地在这三个平台上发行 VS Code。
3. 同时支持 JavaScript 和 TypeScript
VS Code 是一款开箱即用的编辑器,几乎不需要做什么配置。它提供了各种非常受欢迎的特性,(比如与 GitHub 的集成),而且对 JavaScript 和 TypeScript 的支持非常好。另外,它还内建了 JavaScript IntelliSense、调试、格式化、代码导航和重构等功能。
IntelliSense
IntelliSense 可用于显示很多有用的信息,分析后台都发生了些什么,这样用户就可以借助类型推断、JSDoc 注解或者 TypeScript 类型声明文件更好地理解代码。
VS Code 提供了代码补全、显示参数信息、引用搜索等功能。还有一些插件提供了其他语言的 IntelliSense 特性。
调试
VS Code 支持原生 JavaScript、TypeScript 和 Node.js 调试。用户可以设置断点、检查对象信息和调用栈,以及在调试控制台执行代码。它还提供了一个运行按钮,按下这个按钮就可以运行代码,这些都是很多其他文本编辑器所没有的。
在开发客户端应用程序时,用户还可以借助 Chrome、Firefox 和 Edge 插件直接在 VS Code 调试控制台显示浏览器的调试信息。
4. 其他非常方便的特性
集成终端
在开发 Node.js 应用程序时,通常需要打开一个终端窗口。也就是说,除非你有两个显示器,否则就需要不断地在编辑器和终端窗口之间来回切换。为了能同时看到编辑器和终端窗口,你需要缩小编辑器窗口,导致屏幕上可显示的代码列数少了一些。
VS Code 提供了集成终端,用户可以打开多个终端,并自由自在地在多个终端间切换。你还可以将两个终端并列显示,这样就可以同时看到两个终端。
实时代码协作
Live Share 插件可以让你像使用 Google Docs 那样进行实时代码协作。它可以通过一键进行安装,集成了声音和文本聊天功能,而且完全免费。
要开始一次会话,只需要把链接发给其他人,这样他们就可以访问你的工作空间。每一个处于会话中的成员都可以进行独立的调试,并共享终端实例。
如果你对这个功能感到很好奇,可以看看这里https://vscodecandothat.com/,它提供了更多相关信息。
5. 性能
VS Code 提供了 IDE 风格的功能,但它实际上是一款非常轻量级的代码编辑器。它提供了这么多原生功能和插件,但它的速度仍然很快,不像其他 IDE——比如 NetBeans、Eclipse、Visual Studio 或者 Android Studio——这些 IDE 膨胀得很快,有时候会吃掉你所有的内存。
不过,有一点需要注意,尽管 VS Code 非常稳定,响应也很快,但它并不是最快的。在处理大文件或搜索大代码库时,它的速度不如 Vim 和 Sublime Text。但因为它在其他方面具有良好的性能表现,并提供了跨平台能力和很多非常有趣的功能,这个小问题就显得不那么重要了。
结论
VS Code 的流行并非偶然。内置源码控制管理、集成终端、调试工具,并支持 JavaScript IntelliSense,这些都让这款编辑器成为 JavaScript 开发者的开发利器。在过去几年中,微软花了很大力气解决 Web 开发方面的问题,特别是提供对 JavaScript 的支持,这让 VS Code 吸引了越来越多的用户,从而让 VS Code 的发展处在一个良性循环中。
不过也有一些不足的地方需要注意。对于那些认为 VS Code 功能过剩的人来说,Atom 或许是更好的选择。Atom 使用起来非常简单,如果要添加功能,也有很多插件可用。另外,正如之前提到的那样,如果你要快速处理大文件,请考虑使用 Vim 或 Sublime Text。
我们已经看到,VS Code 已经被 JavaScript 社区广泛采用,但其实也可以用它来开发其他语言。不过,它的普及主要受限于它没有提供足够多可与全功能 IDE(如 PyCharm、Eclipse)相媲美的东西。这些全功能 IDE 专门针对某些编程语言,并经过多年的改进和优化。那些数据科学家可能更偏爱 Spyder 或者 Pycharm。
但不管怎样,得益于广大的社区和微软在开源方面的投入,VS Code 的流行程度在未来几年仍然会继续……
英文原文:https://www.welcometothejungle.co/en/articles/vs-code-javascript