Day30 | 30天系列回顾 X赛程後规划

好啦,今天是第三十天了,今天会分享下赛程心得,并回顾一下前面系列文,最後是三十天後的规划!


参赛动机&回顾


这次参加铁人赛,主要有几个目标:

  1. 透过铁人赛的推力,让自己愿意从最基本的原理跟说明介绍开始,介绍extension的使用与学习
  2. 让後续的开发者有基本的教学可以参考,并了解一些官方文件未提及的面向
  3. 开发解决现实生活需求的Extension,并且上架。

大概快一年前左右,笔者在vscode的市集发布了自己的extension,并未特别宣传,也默默地有几百个人下载量。

当时的我,除了vscode的官方文件,也参考了一位国人的VSCode系列文: VSCode开发全攻略

快速了解了元件的使用方法,藉着官方文件与网路上前人的分享两三个礼拜快速的完成开发与上架,但即使已经完成treeview等功能,我发现自己对这些api跟元件的设计,仅仅是知道用法,并不是很有感觉。

因此在前期,我也是利用机会从基本的编辑器开始介绍,让自己对extension的command中的namespace熟悉起来,对於command的使用与查找没有问题後,接着开始介绍api,到後面发现,原本以为查了就有的api资讯但又很陌生的用法,逐渐关联起来。

相关的系列文为2~8天的分享

  • Day02 | VSCode使用者介面概览
  • Day03 | VSCode使用者与工作区设定
  • Day04 | Command命令,一切VSCode操作行为的根源
  • Day05 | 在Extension专案里执行第一个Command命令吧
  • Day06 | 用Command API来操控使用者的VSCode吧
  • Day07 | 那些你可以自订选项的Context Menu

再来後面我觉得,已经了解extension许多地方的设计方式了,可以开始做一些使用者互动跟实务一点的分享
所以开始了底下两篇的介绍

  • Day08 | 提供使用者Extension的设定选项吧
  • Day09 | Data Storage以及教学中没有特别提及的小细节
  • Day10 | 你问我答,Extension与使用者的互动流程

等确实带了api的使用後,我想,Ok,已经操作过这些api应用了。可能还是稍微有点陌生,所以开始了

Day11 | 那些跟extension开发脱不了关系的window命名空间api

主要希望读者跟自己都能在这过程中,一边阅读系列文,了解基本的用法,同时,也开始查找官方api文件。

接下来就介绍我觉得比较重要的元件

再来後面我觉得,已经了解api的设计方式了,可以开始探讨一点元件设计的方式与物件导向的练习了

所以先从TreeView的两个系列文开始

  • Day12 | 打造VSCode上的TreeView树状选单 (一) - 元件基本用法介绍
  • Day13 | 打造VSCode上的TreeView树状选单 (二) - DataProvider的原理与相关观念 X List的增删改查

之後介绍extension很常使用的OutputChannel

  • Day14 | OutputChannel,输出Extension的讯息

与功能强大的WebView

  • Day15 | Webview API (一)
  • Day16 | WebView API (二)
  • Day17 | WebView API (三)
  • Day18 | WebView API (四)

Webview第一天先动手开始一个Webview。
第二天~三天,了解在Webview里的如何配合安全机制使用Javascript与assets,同时穿插一些VSCode API设计的思想。
第四天是将流行的SPA整合到WebView,以React作为示范,了解如何一些整合上的地雷与避免的方法。

在第十九天开始规划一个CodeManager专案与开发基础,这个专案的设计是为了解决我在实际使用VSCode後遇到的痛点与需求,目前也没有在VSCode Extension的Marketplace上看到类似的扩充套件。

  • Day19 | 专案实战:CodeManager介绍
  • Day20 | 初始专案与元件配置
    ...

第二十五天开始介绍设计模式与架构分享

  • Day25 | Extension事件与资料处理
  • Day26 | 实现Extension内的MVVM架构

之後的两三天,回到实作与专案重点功能有关的api介绍

  • Day28 | 获取安装的extension进行操作
  • Day27 | 导入WebviewPanel

第二十九天,了解如何使用language命名空间底下的api产生snippet

  • Day29 | 使用extension动态产生snippet提示吧!

目前当初的第三点目标尚未呈现给读者,赛程结束。

本系列仍会持续进行中,直到介绍到可以解决需求的专案与上架的部分。

後续规划系列文的部分主要为

  • Webview与Extension资料流
  • 专案上架/CI/CD整合

系列文完成後,因为笔者正为其他活动分身乏术,之後再过一段时间会开始

  • 附录:Angular/Vue与Webview整合

感谢在网路上分享知识的各位笔者。

也感谢阅读这个系列的读者,我们之後再见,谢谢大家!


<<:  第三十天:UI切版 & 元件-第五部分情境练习(注册表单、产品清单、登入页面)

>>:  第30天 致谢与心得分享

【D20】修改食谱#1:根据市价,模拟改价

前言 假日没有行情,所以只能平日来做取得行情资料的工作,所以今天的文章是根据期货行情,模拟价格修改的...

人生还有更重要的事! 善选CISSP应考策略!

Express: 三个月内短冲型. 适合有一定的工作经验, 能专注在一个目标, 每天下班後可稳定且...

爬虫怎麽爬 从零开始的爬虫自学 DAY27 python网路爬虫开爬8-储存问题解决

前言 各位早安,书接上回我们将程序码的规模扩大成多档案的规模,也发现了三个大问题,今天我们就要来解决...

Day 27 - 强化学习 Reinforcement Learning(1)

马可夫决策过程 Markov decision process MDP 在概率论和统计学中,马可夫决...

内部稽核

前言 去看中医的时侯,中医师会先望闻问切评估病徵。 身体没病的时侯,去医院也会做点常规或自费项目,做...