时光飞逝,岁月如梭。今天,VS Code 迎来了 5 岁的生日。

回想起 VS Code 发布的那一天,仿佛还在昨天。

回顾 VS Code 这五年的发展,总是能给我们开发者带了无限的惊喜。

  • 2015 年4 月 29 日,在微软 Build 2015 大会上,微软发布了 Visual Studio Code 第一个预览版本。
  • 2015 年 11月 18 日,微软的 Visual Studio Code 团队将Visual Studio Code在GitHub上开源,并采用MIT许可证,同时宣布将支持扩展功能。
  • 2016 年 4月 14 日,Visual Studio Code 正式版发布,版本号为1.0.0。
  • 2017 年 11月 15 日,在微软 Connect(); 2017 大会上,微软宣布 Visual Studio Code 的月活跃用户达到了260 万。
  • 2018 年 5月 7 日,在微软 Build 2018 大会上,微软发布了 Visual Studio Live Share 插件,使得开发者可以在Visual Studio Code 或者 Visual Studio IDE 中进行实时的协同开发和调试。
  • 2018 年 9月 10 日,微软发布了 GitHub Pull Requests 插件,使得开发者可以在 Visual Studio Code 轻松 review 和管理 GitHub pull requests。这也是微软在收购 GitHub 后,Visual Studio Code团队和 GitHub 团队一次非常良好的合作。
  • 2019 年 5月 2 日,在 PyCon 2019大会上,微软发布了 VS Code Remote Development,可以帮助开发者在容器,物理或虚拟机,以及Windows Subsystem for Linux (WSL) 中实现无缝的远程开发。
  • 2019 年11 月 4 日,在微软 Ignite 2019 大会上,,微软正式发布了 Visual Studio Online,一个由云服务支撑的开发环境。除了支持通过浏览器连接到Visual Studio Online 云开发环境,也支持 Visual Studio Code 和 Visual Studio。

回想我这几年来的成长,也与 VS Code 密切相关。从码农、到做产品、到布道师、再到构建社区,我与 VS Code 共同成长。

码农

曾经我也是一个普普通通的 CRUD Boy,可能就是大家所说的码农吧。直到那一天,我遇见了 VS Code,改变由此开始。

做产品

打造一款 VS Code 插件主要包括四个阶段:设计、实现、推广和维护。作为一个开发者,我们往往会把大多数的时间放在实现上(也就是编写代码),但韩老师认为一个好的产品是万万离不开设计、推广和维护这三个方面的。也正是因为意识到了设计、推广和维护的重要性,韩老师才能打造出超过一千万下载量的 Code Runner 插件。如果你 100% 的时间都只是花在编写代码上,那你真的只是码农了,你的产品是没有灵魂的。

布道师

鲁迅先生为什么要弃医从文?

就算我开足马力,也只是写了 20 多个 VS Code 插件。如果我能把 VS Code 传播给更多的开发者,就算只吸引 1000 个开发者,一人写一个 VS Code 插件,那也是 1000 个插件。广大开发者的力量是无比强大的!

当然,我不是弃码从文,我是边码边文。

授人以鱼不如授人以渔。在 PyCon、JS Conf、.NET Conf、COSCon、Microsoft Tech Summit、Google Developer Group、GitHub 官方见面会、VS Code Day 等大会上,你都能看到韩老师的身影。除了 PHPCon,我可能都参加了呢~

构建社区

到如今,我不只是一个人,我们是数以百万计的 VS Code 爱好者,我们是一个社区,一起打造 VS Code 中文社区

感谢 VS Code 给我们开发者带来了无限的精彩。相信未来 VS Code 会更好!

我永远不会忘记,那些年,我们一起追的 VS Code

我是韩老师,我为 VS Code 带眼。

更多最新的 VS Code 热门文章、使用技巧、插件推荐、插件开发攻略等,请关注“玩转VS Code”公众号!

今天,VS Code 五岁了。的更多相关文章

  1. python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹

    python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...

  2. (五岁以下儿童)NS3样本演示:桥模块演示样品csma-bridge.cc凝视程序

    (五岁以下儿童)NS3:桥模块演示样品csma-bridge.cc凝视程序 1.Ns3 bridge模csma-bridge.cc演示示例程序的目光 // Network topology // // ...

  3. linux下一个Oracle11g RAC建立(五岁以下儿童)

    linux下一个Oracle11g RAC建立(五岁以下儿童) 四.建立主机之间的信任关系(node1.node2) 建立节点之间oracle .grid 用户之间的信任(通过ssh 建立公钥和私钥) ...

  4. PE文件结构(五岁以下儿童)基地搬迁

    PE文件结构(五岁以下儿童) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 基址重定位 链接器生成一个PE文件时,它会如果程序被装入时使用的默认ImageBase基地址(VC默认 ...

  5. 程序员与年龄:四十岁普通开发、三十五岁首席架构、三十岁基层Leader

    最近,有一个词儿特别热门--躺平.有没有人跟你说过:"躺平说起来容易,做起来更容易." 和躺平相对的是另外一个词--内卷,群聊的时候,已经很多次看过草卷起来了.jpg表情包.某些节 ...

  6. Android五岁了

    今日(2013-9-24),谷歌开源系统Android迎来了它5岁的生日. 时间过得真快啊!当时的android并不被人看好,而现在的android已经成为了全球最大的智能手机操作系统.而现在的诺基亚 ...

  7. Servlet(五岁以下儿童)web.xml一些常用的配置

    (1)lode-on-startup,这Servlet该项目启动时它将被称为(从主要的电话init办法,为了安全起见,一般不应为Servlet建立URL制图).一些数据通常被用作前处理,或使用多线程建 ...

  8. ExtJs4得知(五岁以下儿童)主要的Ext分类

    Ext类是ExtJs最常见的.最基本的类,它是一个全局对象,它封装了全班.辛格尔顿和 Sencha 该方法提供了一种有用的库. 嵌套在该命名空间中一个较低的水平最用户界面组件. 但是提供了很多有用的功 ...

  9. Scrapy研究和探索(五岁以下儿童)——爬行自己主动多页(抢别人博客所有文章)

    首先.在教程(二)(http://blog.csdn.net/u012150179/article/details/32911511)中,研究的是爬取单个网页的方法.在教程(三)(http://blo ...

随机推荐

  1. Binder驱动理解

    1.Binder的三层架构 2.BC.BR的理解 通信模型 Binder协议包含在IPC数据中,分为两类: BINDER_COMMAND_PROTOCOL:binder请求码,以"BC_&q ...

  2. Cygwin工具编译Ardupilot方法

    注意:该编译方法生成的固件基于Chibios系统,如果想要Nuttx系统固件,需采用make编译,步骤见make编译说明部分. 软件安装准备 安装Cygwin 打开链接www.cygwin.com/i ...

  3. python使用镜像源安装库

    pip install django -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 豆瓣 :http://pypi.d ...

  4. Matlab——m_map指南(4)——实例

    1. 全球/地区温度图 (1)读取数据 clear all setup_nctoolbox %调用工具包 tic %计时 %% nc=ncgeodataset('tmpsfc.gdas.199401. ...

  5. Python input和print函数

    一.input函数 可以看出,input()函数默认输入的是字符串类型,需要eval()函数将其进行转换. 区别直接赋值的情况,Python可以自动识别数据类型 二.print函数 1.直接输出 无论 ...

  6. 1642: 【USACO】Payback(还债)

    1642: [USACO]Payback(还债) 时间限制: 1 Sec 内存限制: 64 MB 提交: 190 解决: 95 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 &quo ...

  7. 从养孩子谈谈 IO 模型(一)

    同步/异步.阻塞/非阻塞 说的是一回事儿吗? 同步/异步.阻塞/非阻塞 你能通俗易懂的讲清楚吗? Java 中的 BIO.NIO.AIO 你了解吗? Socket 编程你还会吗? Linux 操作系统 ...

  8. Func 和 Action 委托

    有了泛型委托,就有了一能适用于任何返回类型和任意参数(类型和合理的个数)的通用委托,Func 和 Action.如下所示(下面的in表示参数,out表示返回结果): delegate TResult ...

  9. 部署zookeepe高可用集群

                                                                部署zookeepe高可用集群 部署规划 Nno1         192.16 ...

  10. Shell:Day10

    shell脚本:明白一点:shell脚本本身是一个工具 在写shell脚本之前,就要明白:这个功能能到底如何实现? curl 访问文件源代码,查看网站状态: 才能通过shell(bash)所提供的逻辑 ...