vs-picgo icon indicating copy to clipboard operation
vs-picgo copied to clipboard

安装Core支持的插件

Open lizhuangs opened this issue 5 years ago • 21 comments

  1. 如何在配置中配置其它图床,貌似目前配置界面是固定的
  2. 我自己写了一个gitee的图床插件。picgo-plugin-gitee-uploader,我是业务时间写的,后端JAVA开发,基本代码是拿的githubPlus改的。

lizhuangs avatar Jun 09 '19 15:06 lizhuangs

@lizhuangs picgo-core支持的其他图床的配置参见 README 之后会支持安装插件,目前没时间写,马上要期末考试了。参见 #15

upupming avatar Jun 09 '19 17:06 upupming

安装插件应该比较容易支持。不过动态把插件的配置增加到VSCode里的配置会是一个比较麻烦的事情,需要时间去消化

Molunerfinn avatar Jun 18 '19 08:06 Molunerfinn

@Molunerfinn 直接模仿 picgo 的 Electron 版可以吗?咱们另建一个配置文件,然后在自己的Web页里面实现配置,就不用在系统设置里面配置了。蛋哥有什么建议吗?😁

upupming avatar Jun 18 '19 10:06 upupming

这个是最后不得已的方案了吧,先调研调研,尽量把配置放到VScode里

Molunerfinn avatar Jun 18 '19 10:06 Molunerfinn

我也建议配置放在vscode里面,因为我在使用vsc的sync settings插件,这个插件可以同步我的vsc配置到其它电脑上,我公司2台和家里的1台,配置除了系统环境保存路径(主要是win和linux)做了差异化,其它配置都是一致的。

lizhuangs avatar Jun 18 '19 12:06 lizhuangs

对了,顺便说一个很重要的东西,sync settings这个插件的配置文件是同步到了gist.github.com上面,虽在可以创建私有的gist,但是其实这个私有的只要别人知道了你的url是可以看到的。所以token信息放在里面是很危险的,这些信息感觉只能放在data.json这样的本地文件中。我之前给sync的作者提了issue,但是不知道以后是否会支持把敏感配置信息放在外面。

lizhuangs avatar Jun 18 '19 15:06 lizhuangs

@lizhuangs 感谢建议,但是 https://github.com/microsoft/vscode/issues/49359 说『私密设置』已经超出了VSCode 努力的范围,我们应该是只能从插件自身来考虑这个问题了。

upupming avatar Jun 19 '19 02:06 upupming

@Molunerfinn

这个是最后不得已的方案了吧,先调研调研,尽量把配置放到VScode里

因为可以配置的项是随着Core插件的增加不断增加的,所以我们需要『动态增加』vs-picgo 的配置项,但是问题是,VSCode 插件的配置项是只能通过插件的 package.json 来设置的,我好像没有找到通过代码动态设置的方法,也没有见过动态设置的插件。这个确实需要再调研调研。

upupming avatar Jun 19 '19 02:06 upupming

我用到一个vsc的修改背景图的插件background-cover这个插件需要修改vsc主程序的css,修改后会提醒重启vsc,因为修改了vsc主程序进入vsc的时候会提醒vsc损坏,点击不再提醒即可。所以我觉得vsc-picgo一样可以做到,并且不会涉及到vsc程序本身。

  1. 第一种情况用户的电脑已经安装了picgo,那么vsc-picgo可以共享picgo的data.json配置,修改也是,
  2. 第二种就是保存在vsc本身的setting.json中即可,linux目录为/home/tudou/.config/Code/User/setting.json
  3. 由于考虑以上2种情况可能都要支持,所以正好也可以解决sync settings的问题,那就是把token放在data.json中,而settings.json中保存其它配置。 以上是个人看法。不知道你们有没有使用sync settings这个插件的,这个插件非常好用,但是带来的最大的问题就是安全问题,github,阿里云oss这些token又十分重要,所以如果插件本身就直接支持可能是最好的事情了。

lizhuangs avatar Jun 19 '19 12:06 lizhuangs

PicGo的目标不是配合其它插件,你说的这个场景可能确实你需要用,但是这样也会有其它插件用户有类似的需求,如果为了配合不同插件,那就违背了我们的初衷。所以我们只会从本身的需求出发,开发本身的需求,请谅解

Molunerfinn avatar Jun 19 '19 13:06 Molunerfinn

我已经向sync settings提交feather了,只能看什么时候实现了。顺便想问下,我自己简单修改实现的一个gitee,可以提交到Awesome-PicGo么,或者说如何申请?

lizhuangs avatar Jun 19 '19 13:06 lizhuangs

@lizhuangs 可以,看README提交一个PR即可。

Molunerfinn avatar Jun 19 '19 14:06 Molunerfinn

PicGo-Core 1.4.0+ 已经有api接口来安装、卸载、更新插件了。

https://picgo.github.io/PicGo-Core-Doc/zh/api/#pluginhandler

不过插件的配置项等功能依赖于configBasePath,如果要实现这个功能要做一些适配

Molunerfinn avatar Dec 27 '19 15:12 Molunerfinn

希望vs-picgo能支持picgo-plugin-web-uploader。因为一些其他云服务可以通过PicUploader来提供Web接口,然后调用,就不需要picgo这边来开发专门的插件。。

GrayXu avatar Feb 13 '20 09:02 GrayXu

请问vs-picgo能不能设置连接其它图床(我看了README发现是要在已有的里面选择的)

s-keyman avatar May 20 '20 06:05 s-keyman

我现在想的是picgo-core或许应该将gitee内置,而不是作为插件

alexzshl avatar Apr 03 '21 02:04 alexzshl

我现在想的是picgo-core或许应该将gitee内置,而不是作为插件

不,正相反,未来picgo可能不会内置任何图床

Molunerfinn avatar Apr 03 '21 03:04 Molunerfinn

从 picgo-core 1.4.18起,可以通过 picgo.pluginLoader.registerPlugin 来加载插件

https://github.com/PicGo/PicGo-Core/blob/dev/src/lib/PluginLoader.ts#L65

具体用法大致如下:

const webUploader = require('picgo-plugin-web-uploader')
picgo.pluginLoader.registerPlugin('web-uploader', webUploader)

// 然后就可以使用了

picgo.setConfig({
  picBed: {
    current: 'web-uploader'
  }
})

picgo.upload([xxx])

vs-picgo这边要考虑的是,是让用户自行在某个目录安装插件,再配置插件路径,还是把安装插件这件事也包了。如果把安装插件这件事也处理了,势必需要确定某个路径作为安装路径。

Molunerfinn avatar Apr 06 '21 02:04 Molunerfinn

@Molunerfinn 感谢皮蛋哥哥,我尝试一下看看

upupming avatar Apr 10 '21 02:04 upupming

其实这块可以考虑直接开放一个设置的field让用户填关于自定义插件的一个json。举个例子:

image

image

JeffersonQin avatar Jul 29 '21 02:07 JeffersonQin

@JeffersonQin 我是有点想做成 gitlens/spellcheck 那种gui操作的配置页面😊,然后顺便实现相册功能

upupming avatar Jul 29 '21 02:07 upupming