Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

安装Core支持的插件 #43

Open
lizhuangs opened this issue Jun 9, 2019 · 21 comments
Open

安装Core支持的插件 #43

lizhuangs opened this issue Jun 9, 2019 · 21 comments
Labels

Comments

@lizhuangs
Copy link

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

upupming commented Jun 9, 2019

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

@upupming upupming added the todo label Jun 9, 2019
@upupming upupming changed the title 如何配置其它图床 安装Core支持的插件 Jun 9, 2019
@Molunerfinn
Copy link
Member

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

@upupming
Copy link
Member

upupming commented Jun 18, 2019

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

@Molunerfinn
Copy link
Member

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

@lizhuangs
Copy link
Author

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

@lizhuangs
Copy link
Author

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

@upupming
Copy link
Member

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

@upupming
Copy link
Member

upupming commented Jun 19, 2019

@Molunerfinn

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

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

@lizhuangs
Copy link
Author

lizhuangs commented Jun 19, 2019

我用到一个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又十分重要,所以如果插件本身就直接支持可能是最好的事情了。

@Molunerfinn
Copy link
Member

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

@lizhuangs
Copy link
Author

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

@Molunerfinn
Copy link
Member

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

@Molunerfinn
Copy link
Member

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

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

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

@GrayXu
Copy link

GrayXu commented Feb 13, 2020

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

@s-keyman
Copy link

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

@alexzshl
Copy link

alexzshl commented Apr 3, 2021

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

@Molunerfinn
Copy link
Member

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

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

@Molunerfinn
Copy link
Member

Molunerfinn commented Apr 6, 2021

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

@upupming
Copy link
Member

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

@JeffersonQin
Copy link

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

image

image

@upupming
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants