产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

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

关注

评论

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

阿里巴巴内网 Java 面试 2000 题解析(2023 最新版

三十而立

面试造火箭?GitHub 飙升“2023(Java 岗)面试真题汇总”转载 40 万

三十而立

不想做架构师的Gopher不是好程序员

王中阳Go

Docker 高效工作 学习方法 面试题 Go 语言

Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库

xuri

开源 编程 Excel Go 语言 Excelize

前端技术培训学习哪个机构靠谱?

小谷哥

华为云推出场景化解决方案帮助制造企业加速数字化转型

科技怪授

华为云ERP上云解决方案助力企业迈向云端,提升业务效率与安全性

i生活i科技

联想超融合加入龙蜥社区,多产品完成与 Anolis OS 适配

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙腾计划 联想超融合

Go 语言读取文件的几种方式

宇宙之一粟

Go 语言

华为云助力制造业解决数字化转型困局:高效上云,加速创新

科技怪授

前端线下面授培训机构该怎么选择

小谷哥

软件测试/测试开发丨如何开始webView 性能测试

测试人

软件测试 性能测试 自动化测试 测试开发

阿里正式加入ChatGPT战局,“通义千问”上线后表现如何?

引迈信息

AI 阿里 低代码 语言模型 ChatGPT

IoTDB Raft协议核心研发宋子阳成为Ratis Committer:分布式IoTDB深度并创新运用Raft协议保障高可用

Apache IoTDB

IoTDB Apache IoTDB

华为云助力制造业高效实现数字化转型

科技怪授

如何解决制造企业数字化转型中的数据散乱和管理难题,实现顺利转型?

i生活i科技

KubeVela:云原生应用和平台工程之路

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

MobTech MobPush|推送的下发逻辑是什么样的

MobTech袤博科技

ChatGPT-5到底有多强?Battle!咱貌似也不输呀!

加入高科技仿生人

人工智能 AI 低代码 ChatGPT GPT-4

3DCAT实时云渲染助力数字孪生检修车间建设,为智能制造赋能!

3DCAT实时渲染

数字孪生 实时渲染 3D实时云渲染

如何过好4000周:关于重新校准人生时间的建议

宇宙之一粟

时间管理

狂刷《Java 权威面试指南(阿里版)》,冲击“金三银四”有望了

三十而立

【亲测有效】30 岁测试工程师的 12 个破除内卷技能!

禅道项目管理

职场 互联网人 敏捷测试 测试工程师

借力函数计算 FC,HEROZ 打造专业级 AI 日本将棋服务

阿里巴巴云原生

阿里云 云原生 函数计算

技术实力与社区贡献的双重认可!乔嘉林成为 Apache 软件基金会 Member

Apache IoTDB

IoTDB Apache IoTDB

2023年最强手机远程控制横测:ToDesk、向日葵、Airdroid三款APP免Root版本

陈橘又青

远程连接

一站式开发平台 加速企业数字化发展

力软低代码开发平台

华为云开源项目OpenTiny的TinyCLI是什么时候开源的?

英勇无比的消炎药

前端 开源项目 cli UI组件库

“PMC零距离” 赖晖:在 IoTDB 我实现了参与贡献共识协议的兴趣方向!

Apache IoTDB

IoTDB Apache IoTDB

软件测试/测试开发丨该如何测客户端专项测试?

测试人

软件测试 自动化测试 测试开发 专项测试

如何使用文件传输协议ftp,教你使用文件传输协议命令行

镭速

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