写点什么

为什么 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:1210025
用户头像

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

关注

评论

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

还能报名!风靡硅谷开发者的Unstructured Data Meetup杭州站与您6月15日见面!

Zilliz

国内首家!悦数图数据库全项完成中国信通院图数据库性能测试

悦数图数据库

数据库 信创 图数据库 知识图谱 悦数图数据库

客户案例 | 通过流程智能帮助国际餐饮巨头企业快速开万店

望繁信科技

数字化转型 智慧餐饮 流程挖掘 流程智能 望繁信科技

从游戏场景看,ByteHouse存算分离架构如何实现降本增效

字节跳动数据平台

数据库 大数据 云原生 Clickhouse 数仓

Databend 开源周报第 148 期

Databend

软件测试学习笔记丨Python 基本数据类型

测试人

软件测试

通过搭建 24 点小游戏应用实战,带你了解 AppBuilder 的技术原理

Baidu AICLOUD

大模型 AI 原生云 AI原生应用 AppBuilder

为什么我的项目Debug运行没问题,编译成Release包就报错?

京东科技开发者

和鲸101加持,高效SAAS服务赋能暨大经管交叉学科数据人才培养

ModelWhale

人工智能 大数据 经管 暨南大学

第一批大模型独角兽开始“挤泡沫”

脑极体

AI

什么是DEFI?DEFI2.0什么时候来?

dappweb

区块链 defi 区块链开发

AIGC系统中聊天小助手卡片小组件嵌套设计实践

京东科技开发者

代购系统:跨境电子商务的创新解决方案

Noah

数字化供应链平台:优化运营、驱动创新的未来之路

天津汇柏科技有限公司

数字化转型 供应链

"数据集成国产化:谷云科技的零代码ETL平台与行业创新"

RestCloud

ETL 数据集成 ETLCloud

和鲸101领航北中医:助力健康医疗AI实验室建设,培养交叉数据人才

ModelWhale

人工智能 北中医 健康医学

MySQL 示例数据库大全

Simon

MySQL

从源码分析 vllm + Ray 的分布式推理流程

阿里技术

突破瓶颈:如何优化 LLMs 的落地成本和延迟

Baihai IDP

程序员 AI LLMs 企业号 6 月 PK 榜 Agents

深度剖析集团型企业在新质生产力和数字化转型过程中面临的身份管理问题(四)

芯盾时代

iam 统一身份认证 身份和访问管理 统一身份管理平台

构建电商竞品分析工具:以京东商品数据为例

tbapi

京东 竞品分析 京东商品列表数据接口 京东数据接口

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