查看原文
其他

知否知否,VS Code 不止开源

开源社 2021-04-22

The following article is from 玩转VS Code Author formulahendry

  作者:韩骏 | 编辑:舒敏  



VS Code, 昨夜始于“开源”,如今“开源”深处渡。


读者看到这句话,也许会有疑惑,为什么两个“开源”都加上了双引号? 其实是笔者有意为之,因为这个两个“开源”的意义有着很大的差别,第一个“开源”代表着开源的初始阶段,而在笔者看来,第二个“开源”,才是真正的开源。




我们先来看看第一个“开源”。2015年4月19日,微软在 Build 大会上宣布了 Visual Studio Code 。在半年后的11月18日, VS Code 在 GitHub 上以 MIT License 开源。 众多开发者为之振奋。至此, VS Code 的开源之路迈出了第一步 —— 把代码放到GitHub,全球的开发者都能看到。可能一些开源项目也就停留在了这个阶段,GitHub 的代码只是个镜像,内部会有个代码控制的系统,定期把代码同步到 GitHub 上,Issue 和 PR 也是关闭的。然而真正的“开源”却不止于此。


我们再来看看第二个“开源”。VS Code 不仅仅是把代码开源出来。而是把整个产品的开发过程建立于开源之上。那我们就来看看微软是怎么来运作 VS Code 这个开源产品的?


  • 每一年,VS Code 团队都会在 GitHub Wiki 发布 Roadmap ,列出一整年的规划图。


  • 每个月初,在产品设计阶段,VS Code 团队会在 GitHub Issue 上会发布 Iteration Plan ,列出这个月会做的每一个功能,每一个功能基本会对应一个 GitHub Issue,你可以看到详细的设计以及 mockup。


  • 每个月末,临近产品发布,你可以在 Endgame 了解到 VS Code 是如何进行产品测试与发布的。


不仅代码开源,VS Code 整个产品的计划,设计以及发布管理都是“开源”的:每一个阶段对每一个用户是公开透明的,你不仅可以开 Issue,发 PR,你甚至也可以参与到每个功能的设计与讨论中去!


甚至于 VS Code 的文档,也是开源的:Microsoft/vscode-docs


此外,除了 VS Code 编辑器是开源的,VS Code 还把它的许多重要组件抽离出来,成为大家都可以复用的开源产品:


  • Language Server Protocol :它是 Editor/IDE 与语言服务器之间的一种协议,可以让不同的 Editor/IDE 方便嵌入各种程序语言,允许开发人员在最喜爱的工具中使用各种语言来撰写程序。Eclipse, Atom, Sublime Text, Emacs 等主流 Editor/IDE 都已经支持了 LSP。


  • Debug Adapter Protocol : DAP 与 LSP 的目的类似,DAP 把 Editor/IDE 与不同语言的 debugger 解耦,极大地方便了 Editor/IDE 与其他 Debugger 的集成。 Eclipse , Emacs , Vim 等已经支持了 DAP 。


  • Monaco Editor :作为 VS Code 的核心组件,Monaco Editor 在 GitHub 已经拥有了超过一万三千个 star 。国内比较有名的比如 Cloud Studio 和 Gitee Web IDE 都使用了 Monaco Editor。


看到这里,读者是不是已经有了感受,“开源”不只是把代码开源出来,打造整个产品的开源生态,才是好的开源产品。


更多VS Code文章,欢迎扫描下方二维码,关注“玩转VS Code”微信公众号”!


玩转 VS CODE






    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存