vscode插件-flutter业务模块化管理

1. 为什么要开发这个vscode插件?
在flutter项目中,我们现在开发了一些自己的组件库,依赖库上传到公司的git,通过如下方式引用。

但是过一会代码就丢了,原因就是上面的引用方式并没有指定本地路径,所以flutter统一把这些依赖库下载到一个本地缓存路径了。

所以要让本地plugin的修改不丢失,就需要git clone到本地并指定路径,这样修改就不会丢失。
开发这个vscode插件的主要目的就是实现自动git clone到本地,不让plugin代码修改丢失。
2. 现有的plugin管理方案
其实上面开发plugin丢代码的问题,我们已经通过ci.sh脚本解决了,为什么还要开发这个插件呢?


但是这带来一个非常严重的问题。

依赖库的版本不是由pubspec.yaml决定的,而是这个路径下面的子目录决定的,所以上线前必须执行ci.sh脚本。
如果这个依赖库要指定版本,就必须到ci.sh修改checkout到指定tag的脚本,如果没有修改就会直接导致错误版本的依赖库上线。
所以如果依赖库有多个的话,需要仔细review ci脚本,上线工作量比较大而且不靠谱。
3.flutter-dependency-manager展示

有三种item:
1.使用版本号指定的github模式,通常都是比较著名的第三方库,不需要修改。
2.使用git url指定的模式,通常是公司内部开发的组件库或者业务模块化库,需要定期修改。
3.使用本地路径指定的模式,是组件开发中的模式,可以进行联调和修改。
插件提供两个操作,1.把git url模式下载到本地路径,进行修改和联调。2.开发完成后上传到git并打tag,把local path模式改成git url模式。
注意只有蓝色文字对应的操作是这个插件提供的,其他的操作需要自己使用git命令和工具完成。
git clone后会自动建立workspace,可以很方便的进行插件代码的浏览和修改,界面如下。


因为打包机上面并没有装这个插件也没有plugin目录,所以如果还有依赖库是通过path方式引用的,会直接打包失败,这是可以形成一个强制版本检查。
目前已经上架vscode插件市场,感兴趣的同学可以下载用一下。

转载自:https://juejin.cn/post/6844903896679186440