时光飞逝,岁月如梭。今天,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. 【WPF学习】第六十一章 组织模板资源

    为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院今天发布公告,决定2020年4月4日举行全国性哀悼活动. 当使用控件模板时,需要决定如何更广泛地共享模板,以及是否希望自动地 ...

  2. Js,JQuery不同方式绑定的同一事件可以同时触发,互不干扰

    比如,onclick绑定,然后jquery.on("click", function(){})绑定等

  3. 2.Metasploit数据库配置及扫描模块介绍

    01.Metasploit数据库配置及扫描模块介绍     信息收集   信息收集是渗透测试中首先要做的重要事项之一,目的是尽可能多的查找关于目标的信息,我们掌握的信息越多,渗透成功的机会越大.在信息 ...

  4. 使用Putty登录亚马逊云主机

    亚马逊云主机配置之后会提示 提供一个 pem证书, 打开 SSH 客户端.(了解操作方法 使用 PuTTY 连接) 找到您的私有密钥文件(test001.pem).向导会自动检测您用于启动实例的密钥. ...

  5. 基于 HTML5 WebGL 的 水泥工厂可视化系统

    前言 如今的制造行业,基于数据进行生产策略制定与管理已经成为一种趋势,特别是 工业4.0 的浪潮下,数据战略已经成为很多制造企业的优先战略,而数据可视化以更直观的方式,帮助指导决策,成为数据分析传递信 ...

  6. mysql服务器内存使用情况总结

    活动链接(动态)使用的内存数量如下所示: per_connection_memory = read_buffer_size //memory for sequential table scans +r ...

  7. Linux学习,账号管理与权限管理

    linux系统本来不认识账号,只是通过UID(用户ID)和GID(所属组ID)来区分账号属性的.而这对应的目录如下: UID ===> /etc/passwd GID ===> /etc/ ...

  8. openpyxl 模块 读写Excel

    import openpyxl #写到execl中def write_execl(): book=openpyxl.Workbook() sheet=book.active #获取默认sheet # ...

  9. Linq中带有迭代索引的Select扩展方法,为啥知道的人不多呢?

    一:背景 昨天在看C#函数式编程这本书的时候,有一处让我干着急,需求是这样: 给多行文字加上数字列表项. 针对这个需求你会如何快捷高效的给每个项目加上数字编号呢? 我看书中是这样实现的,如下代码 pu ...

  10. MyBatis通用 Mapper4使用小结

    官网地址: http://www.mybatis.tk/ https://gitee.com/free 1.使用springboot,添加依赖: 使用tk的mybatis后不需要引用官方原生的myba ...