写点什么

为什么 VS Code 会迅速占领 JavaScript 开发者社区

  • 2019-06-19
  • 本文字数:2537 字

    阅读完需:约 8 分钟

为什么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


2019-06-19 18:1210093
用户头像

发布了 731 篇内容, 共 459.5 次阅读, 收获喜欢 2004 次。

关注

评论

发布
暂无评论
发现更多内容

龙蜥操作系统完成与高通 Cloud AI 100 兼容认证

OpenAnolis小助手

开源 操作系统 龙蜥社区 兼容适配 高通

规则引擎调研及初步使用 | 京东云技术团队

京东科技开发者

算法 规则引擎 企业号 6 月 PK 榜 匹配算法 rete

创新涌动于先丨2023 PingCAP 用户峰会等你来!

PingCAP

数据库 TiDB pingCAP 平凯星辰 用户峰会

Apache Doris 1.2.5 版本正式发布

SelectDB

Nest 实现 OSS 签名直传上传回调

昆吾kw

OSS Node 后端开发 文件上传 nestjs

数字非洲,沐光而行

脑极体

出海

【直播预告】今晚7点,来HarmonyOS极客松直播间与技术专家聊聊新技术!

HarmonyOS开发者

HarmonyOS

如何设计一个高效的分布式日志服务平台

百度Geek说

分布式 企业号 6 月 PK 榜 服务平台 大模型结合 6 月 优质更文活动

目前只To B,腾讯云为什么优先发布行业大模型,而非大模型?

B Impact

设计模式之工厂模式

越长大越悲伤

设计模式 工厂模式

基于STM32的无人售货机系统设计

DS小龙哥

6 月 优质更文活动

ChatGPT 不只是聊天机器人,更是……

baiyutang

创业 openai ChatGPT

Sentinel 机制解决 Redis 缓存雪崩问题:限流、降级与熔断策略实践

xfgg

redis sentinel 6 月 优质更文活动

龙蜥白皮书精选:Ancert——硬件兼容性验证与守护

OpenAnolis小助手

开源 龙蜥社区 龙蜥操作系统 Ancert 硬件兼容性

k8s中PV和PVC的生命周期

穿过生命散发芬芳

6 月 优质更文活动

SolidUI 上Gitee AI-人工智能热门

李孟聊AI

开源 2D 3D AIGC ChatGPT

K8S中的Node管理

穿过生命散发芬芳

k8s 6 月 优质更文活动

ChatGPT小型平替之ChatGLM-6B本地化部署、接入本地知识库体验 | 京东云技术团队

京东科技开发者

知识库 企业号 6 月 PK 榜 ChatGLM-6B LLM模型

IoTOS v1.0.0 开源,高效 实用 | 免费商用

开源物联卡管理平台-设备管理

IoT 若依 物联网, 开源物联网 国产OS开源社区

C语言编程—中缀表达式转换为后缀表达式

芯动大师

C语言 中缀 6 月 优质更文活动

【TypeScript】TS自定义类型之对象属性必选、对象属性可选

不叫猫先生

typescript 6 月 优质更文活动

让性能腾飞!亚马逊云科技的 Java 云端之旅

亚马逊云科技 (Amazon Web Services)

机器学习 Java' Amazon EC2

Kubernetes——构建平台工程的利器

SEAL安全

Kubernetes 平台工程

作为超级自动化的重要先驱,流程挖掘正在成为组织运营标配

王吉伟频道

人工智能 RPA 超自动化 流程挖掘 业务流程

Flink 流批一体在 Shopee 的大规模实践

Apache Flink

大数据 flink 实时计算

6月14日红杉最新报告:The New Language Model Stack

B Impact

AI “机里机气”的虚构内容,令人愤慨

B Impact

参与共建 SolidUI AI 生成可视化项目:开源社区的力量

李孟聊AI

开源 2D 3D AIGC ChatGPT

对线面试官-Redis(一)

派大星

Java 面试题

为什么VS Code会迅速占领JavaScript开发者社区_语言 & 开发_Pierre Mary_InfoQ精选文章