前言
距离上次更新(v1.6.2)已经过去了5个月,很抱歉2.0版本来得这么晚。本来想着在18年12月(PicGo一周年的时候)发布2.0版本,但是无奈正值研究生开题期间,需要花费不少时间(不然毕不了业了T T),所以这个大版本姗姗来迟。不过从这个版本开始,正式支持插件系统,发挥你们的无限想象,PicGo也能成为一个极致的效率工具。除了发布PicGo 2.0本体,一同发布的还有PicGo-Core(PicGo 2.0的底层,支持CLI和API调用),以及VSCode的PicGo插件vs-picgo等。
插件系统
PicGo的底层核心其实是PicGo-Core
。这个核心主要就是一个流程系统。(它支持在Node.js环境下全局安装,可以通过命令行上传图片文件、也可以接入Node.js项目中调用api实现上传。)PicGo-Core
的上传流程如下:

Input
一般是文件路径,经过Transformer
读取信息,传入Uploader
进行上传,最后通过 Output
输出结果。而插件可以接入三个生命周期(beforeTransform
、beforeUpload
、afterUpload
)以及两种部件(Transformer
和Uploader
)。换句话说,如果你书写了合适的Uploader
,那么可以上传到不同的图床。如果你书写了合适的Transformer
,你可以通过URL先行下载文件再通过Uploader
上传等等。另外,如果你不想下载PicGo的electron版本,也可以通过npm安装picgo来实现命令行一键上传图片的快速体验。PicGo除了PicGo-Core
提供的核心功能之外,额外给GUI插件给予一些自主控制权。比如插件可以拥有自己的菜单项:
PicGo-Core
给予的上传流程,还可以通过PicGo提供的guiApi等接口,在插件页面实现一些以前单纯通过上传区
实现不了的功能:比如可以通过打开一个InputBox
获取用户的输入:


npm
。## 2.0其他更新内容除了上面说的插件系统,PicGo 2.0还更新了如下内容:- 底层重构了之后,某些图床上传不通过base64
值的将会提升不少速度。比如SM.MS
图床等。而原本就通过base64
上传的图床速度不变。- 增加一些配置项,比如打开配置文件(包括了上传的图片列表)、mini窗口置顶、代理设置等。

Bug Fixed
- 修复:macOS多屏下打开详细窗口时位置错误的问题。- 修复:多图片上传重命名一致的问题。- 修复:拖拽图片到软件会自动在软件内部打开这张图片的bug。- 修复:重命名窗口只出现在屏幕中央而不是跟随主窗口的bug。
VSCode的PicGo插件vs-picgo
在PicGo-Core发布不久,就有人根据PicGo-Core的API编写了VSCode版的PicGo插件。使用起来也非常方便:- 截图上传 - 文件浏览器选择文件上传截图上传 - 输入文件路径上传选择文件上传 配置项与PicGo的图床的配置项基本保持一致。在VSCode插件栏搜索PicGo即可下载安装与体验!输入文件路径上传 结语
PicGo第一个稳定版本是在少数派上发布的,详见PicGo:基于 Electron 的图片上传工具。支持macOS、Windows、Linux三平台,开源免费,界面美观,也得到了很多朋友的认可。如果你对它有什么意见或者建议,也欢迎在issues里指出。如果你喜欢它,不妨给它点个star。如果对你真的很有帮助,不妨请我喝杯咖啡(PicGo的GitHub首页有赞助的二维码)?> 下载地址:https://github.com/Molunerfinn/PicGo/releasesWindows用户请下载`.exe`文件,macOS用户请下载`.dmg`文件,Linux用户请下载`.AppImage`文件。Happy uploading!