VSCODE全名Visual Studio Code,来自微软大法主导的开源项目。在Windows平台做过开发的同学一定用过Visual Studio。那可能是微软官方开发的少数几款比较流畅的软件之一,功能异常强大,分分钟拖拽出一个酷炫的GUI程序;Visual Studio团队在Edit上的技术积累属于全球最顶尖,难得愿意开源部分代码来做VSCODE。VSCODE和Atom都是基于Electron的底层Native封装达到多平台支持,但是对比下Atom和VSCODE很明显感觉出微软大法在Edit上造诣之深(Atom太卡)。
VSCODE的牵头人就是大名鼎鼎的Erich Gamma……好吧,其实我也不知道这个人是谁。但他是《设计模式-可复用面向对象软件的基础》的作者之一。这本书让我印象深刻,因为当时上这门课我是睡过去的,完全听不懂老师在讲啥,最后看了《大话设计模式》才勉强通过,一看到它的封面我就想起了那个适合睡觉的下午。这本书豆瓣上9.1分设计模式-可复用面向对象软件的基础,评价还是很中肯的(一般难看懂的书在豆瓣上评分都比较高)。Erich Gamma除了做理论研究外,还开发了牛气哄哄的『Monaco』Web编辑器,之后这些年他一直在做编辑器。架构能力+垂直领域技术积累+微软支持,使VSCODE进步神速。
微软每次开发者大会都会放出一统江湖的豪言,比如Win10要适配所有移动端和PC端、比如Surface要完爆MacBook等。当然2015年开发者大会说要开源Visual Studio Code编辑器和Visual Studio 2015 支持iOS与Android开发。过了段时间,还真的发布了CSCODE,一听到有免费的VSCODE用我就跑去下载,用了3分钟就卸载了。V0版本真的就是软件的beta版,虽然颜值报表但是扩展少、查找安装慢、配置复杂、文档少……
上个月突然发现V1版本已经发布,抱着试一试的心态又装了一遍……先装了个Python扩展,搜索了”VSCODE如何配置Python3”,官方文档已经比较丰富,三分钟左右就配置成功并打好断点调试。V1版本已经在明显的位置加了扩展管理功能,可以轻松的配置各种语言开发环境。git的支持也做的非常好,修改了哪些文件、哪些不想提交非常清晰。用户设置和工作区设置也是优雅到不行,看一眼就知道这个功能是干嘛的。最主要的是解放了内存,并且开发效率也能通过配置和扩展提高。
最后,我尝试自己写了个扩展,以便更深的理解VSCODE的整个布局。我把扩展发布后,已经被VSCODE的优雅所折服,真是处处体现细节,生态圈做的非常完整,这盘棋你赢了!
VSCODE扩展开发教程可参见官网的详细文档:VSCODE扩展开发
下面是我总结的一些东西,配合官网文档效果俱佳。
- 建议使用cnpm源,人生苦短,不要浪费在下载扩展上;
- 扩展开发有三块主要的功能,文本格式控制(高亮)与智能提示(函数补全)、基于事件的触发(通过命令触发、通过光标焦点触发、通过文本变化触发)、窗口UI的控制。
发布到线上时与官方文档有差异,具体命令如下:
- vsce create-publisher account
- vsce login account
- vsce public
- 扩展中是不支持HTTP远程请求的,如果一定要使用HTTP请求只能在本地使用,上传后无法生效。
- 可参考我的部分代码,仅能参考,文档WIKI这些都没去写,下载到本地执行是妥妥的。vscode-naming