Features
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插件市场,感兴趣的同学可以下载用一下。
|