第1章 如何学习Visual Studio Code
1.1 学会搜索
1.2 学会提问
1.3 学会学习
1.3.1 自己的思考
1.3.2 知其然知其所以然
1.3.3 举一反三
第2章 Visual Studio Code 简介
2.1 概览
2.2 Visual Studio Code 简史
2015年4月29日,在微软 Build 2015大会上,发布 Visual Studio Code 第一个版本。
2015年11月18日,微软的 Visual Studio Code 团队在Github上采用 MIT许可证开源,同时宣布支持插件机制。
2016年4月14日,正式版1.0.0发布。
2017年11月15日,微软 Connect(); 2017大会,月活用户达260万。
2018年5月7日,微软 Build 2018大会,发布 Visual Studio Live Share 插件,使开发者可以在 Visual Studio Code 或 Visual Studio IDE 中进行试试的协同开发和调试。
2019年5月2日,在PyCon 2019大会上,微软发布了 Visual Studio Code Remote Development,使开发者可以在容器、物理或虚拟机,以及WSL中实现远程开发。
2019年11月4日,微软Ignite 2019大会上,正式发布 Visual Studio Online,支持通过浏览器直接连接。
2.3 优势
2.3.4 生态
相关协议及组件:
- Language Server Protocol (LSP): 让不同的编辑器/IDE方便地支持各种编程语言的语言服务器
- Debug Adapter Protocol (DAP): 将编辑器/IDE与不同语言的 debugger 解耦
第3章 核心组件
3.1 Electron
原名 Atom Shell,由Github开发的开源框架。以Node.js作为 runtime,chromium作为渲染引擎,使开发者可以使用前端技术栈来开发跨平台桌面GUI应用程序。
2013年4月11日,Atom Shell 发布。
2015年4月17日,改名Electron。
3.2 Monaco Editor
早在2011年,Erich Gamma就开始带领团队开发基于浏览器的 Monaco Editor了。
3.3 TypeScript
微软开发的编程语言,于2012年10月1日正式发布。
它是 Javascript 的严格超集。
TypeScript的设计目标就是开发大型应用程序,解决开发者在使用 Javascript 进行开发过程中的痛点。
在JavaScript的基础上添加了许多功能:
- 类型批注
- 类型推断
- 类型擦除
- 接口
- 枚举
- Mixin
- 泛型编程
- 名字空间
- 元组
除此之外,TypeScript还引入了声明文件(扩展名为.d.ts),类似于 C/C++ 的头文件,用于描述一个 JavaScript 库或模块导出的虚拟 TypeScript 类型。
TypeScript 的重要人物 -- Anders Hejlsberg(安德斯·海尔斯伯格)
在Borland公司,Anders设计了Delphi和Turbo Pascal。
1996年,Anders加入微软,主持开发 Visual J++,后由于在 Java开发工具授权问题上和 Sun公司的纠纷,微软停止了 Visual J++ 的开发。
随后,Anders开始主持 .NET 的设计与开发,并且担任C#语言的首席架构师。
2012年,Anders发布了他设计的新语言 TypeScript。
3.4 LSP
语言服务器提供了诸如自动补全、定义跳转、代码格式化等与编程语言相关的功能。
LSP通过JSON-RPC于语言服务器之间传输消息,可以让不同的编辑器/IDE方便嵌入各种语言。
LSP起初只是为 Visual Studio Code 而开发的。2016年6月27日,微软宣布与 RedHat 和 Codenvy 一起合作标准化LSP规范。
3.5 DAP
基于JSON的协议,抽象了开发工具与调试工具之间的通信。
3.6 Xterm.js
集成终端(Integrated Terminal)可以说是 Visual Studio Code 最重要的功能之一。其基于 Xterm.js 开源项目进行开发。