时光飞逝,岁月如梭。今天,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. python—os模块

     os模块(操作目录) 1 import os 2 os.rename('旧','新') #修改文件名 3 os.remove('') #删除文件 4 print(os.listdir('.')) # ...

  2. TensorFlow报错module 'tensorflow' has no attribute 'xxx'解决办法

    原因:TensorFlow2.0版本修改了许多函数名字 tf.sub()更改为tf.subtract() tf.mul()更改为tf.multiply() tf.types.float32更改为tf. ...

  3. [HDU]1166敌兵布阵<静态线段树>

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 题目大意:给出n个点,每个点有一个值,现在有三种操作, 1.在i点加上j 2.在i点减去j 3. ...

  4. python fabric 练习记录

    https://blog.csdn.net/freeking101/article/details/81103945   fabric 域名

  5. Rust入坑指南:万物初始

    有没有同学记得我们一起挖了多少个坑?嗯-其实我自己也不记得了,今天我们再来挖一个特殊的坑,这个坑可以说是挖到根源了--元编程. 元编程是编程领域的一个重要概念,它允许程序将代码作为数据,在运行时对代码 ...

  6. iSCSI集群与存储

                                                                                                        ...

  7. 关于android中数据库的创建以及基础的增删改查的相应操作

    这里主要是掌握一些基本的相应的知识,具体的是阿金是等到明天在进行. 相应的知识点如下: 对于数据库中的一些常识.SQLite 没有服务器进程,它通过文件保存数据,该文件是跨平台的,可以放在其他平台中使 ...

  8. Android 启动一个Activity的几种方式

    启动一个Activity的几种方式在Android中我们可以通过下面两种方式来启动一个新的Activity,注意这里是怎么启动,而非启动模式!分为显示启动和隐式启动! 1.显式启动,通过包名来启动,写 ...

  9. Python 1基础语法四(数字类型、输入输出汇总和命令行参数)

    一.数字(Number)类型 python中数字有四种类型:整数.布尔型.浮点数和复数. int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long. ...

  10. ASP.NET Core中配置监听URLs的五种方式

    原文: 5 ways to set the URLs for an ASP.NET Core app 作者: Andrew Lock 译者: Lamond Lu 默认情况下,ASP. NET Core ...