来源 知乎
作者 李少侠
今天就为大家分享一篇关于 VS Code 的文章:
Visual Studio Code(VS Code)近年来获得了爆炸式增长,成为广大开发者工具库中的必备神器。它作为一个开源项目,也吸引了无数第三方开发者和终端用户,成为顶尖开源项目之一。它在功能上做到了够用,体验上做到了好用,更在拥有海量插件的情况下做到了简洁流畅,实属难能可贵。
作为 VS Code 用户,同时也为它开发插件,插件市场里的众多 Java 插件基本都是我们团队的作品,所以我在日常工作中观察到不少 VS Code 在工程方面的亮点,下面就来逐一探讨。
简洁而聚焦的产品定位,贯穿始终
你知道 VS Code 的开发团队人数只有二十出头吗?
难以相信吧,大家都觉得 VS Code 无所不能,如此强大的工具那么几个人怎么做得出来。实际上功能丰富是个美好的错觉,因为大部分针对特定编程语言和技术的功能都是第三方插件提供的,VS Code 的核心始终非常精简,这很考验产品团队的拿捏能力:做多了,臃肿,人手也不够;做少了,太弱,没人用。
他们团队选择了专注于核心功能的开发,为用户提供简洁流畅的体验,并将该思路贯穿在产品开发的每个环节。在我看来,这就是第一个亮点。
第一个亮点同时也是一个难点,因为 “简洁” 说到底是产品的 “形态”,更关键的其实是前置问题 —— 产品的定位,它到底解决什么问题。该问题如果从用户的角度来看,可以转换为以下几个点 —— 我们为什么需要一个新的工具?它到底是代码编辑器 (Editor) 还是集成开发环境 (IDE)?让我们来看看项目负责人 Erich Gamma 的说法:
(视频截图 - Erich 阐述了 VS Code 的定位:编辑器 + 代码理解 + 调试)
这张截图它阐述了 VS Code 的定位:编辑器 + 代码理解 + 调试。这是一个非常节制而平衡的选择,专注于开发者 “最常用” 的功能,同时在产品的形式上力求简洁高效。从结果来看,这个定位是相当成功的。
在这个定位的指导下,这二十多位工程师搞出了 VS Code。相对较小的功能集,使得开发者们能在代码质量上精益求精,最终用户们也得到了一个性能优异的工具,这是 VS Code 从一众编辑器中脱颖而出的重要原因。
正因为产品定位以及团队职责上的高度节制,团队成员才能把时间花在这类问题上,写出经得起考验的代码。
与此同时,较小的团队也使得团队成员做到了行为层面的整齐划一,这点在社区互动上体现得尤为明显,大家可以去 GitHub 上看他们的 Issues,超出产品定位范畴的请求和反馈基本都被婉拒或者转交到第三方插件项目,可以说是很专注了。
看到这里,似乎一切都好,但问题来了,码农千千万,你用 Node 我用 Go,你搞前端我弄后台,VS Code 如何满这些五花八门的需求呢?机智的你已经抢答了 —— 海量插件。那么接下来我们来深究一下 VS Code 是如何经营一个庞大的插件生态的。