Cloud Studio 插件开发总结

历时一个多月的插件比赛即将在1月1日进入投票环节,开发了4个插件后也打算歇一歇了,趁此也总结一下。总结会分为下面这几部分,先写如何找到 Idea

  • 如何开发一个插件
  • 如何快速的找到 Idea
  • 关于设计一个插件的思考

流水账篇(随着时间推移)

抓耳挠腮

刚开始是在朋友圈看到有这么个活动,好奇点开了,哇,奖品很丰富啊,所以跃跃欲试。当即想出了一个打开文件的插件 idea,写到了一半,摸索到了原来有快捷键可以唤出这个功能,于是第一个插件就夭折了。

后面的一个多礼拜一直在思考该开发什么功能的插件,我把关注点放在了效率上面,既然是代码编辑器,那么提高效率是第一位的,也就没有考虑【娱乐分类】这一类方向。

对我个人而言我希望自己开发的插件最终会有人用,没有实际意义的插件不值得浪费时间。

确定方向 -> 模仿

后面我看到了其他人写的一些插件后,再加上前面一个礼拜的思索,此时一下子Idea跳出来很多,但为了兼顾比赛截止时间和自己的业余情况,先挑了一个【模板预设】的插件,其实这个功能在 WebStorm 上就原生支持,我想一个IDE的强大无非会走向人们口中的【重型IDE】靠拢的,只不过 Sublime 和 VsCode 仅保留了基础功能,其他的交给了扩展去自行实现。

其实按照这个思路下去的话,包括从 VsCode 上去找一些功能就可以开发出很多插件。

完善功能

刚开始的两周出现了几个插件类似的功能,于是有人在群里吐槽,功能重复,抄袭。后者反而得到的评分比“原创”的高。

抛开这个比赛而言,一个插件仅仅是做到了能用是不够的,一定要向【好用】去前进,让人用了后觉得非你不可才算是合格了,如果能给使用者一些惊喜(不是 antd 圣诞惊喜),那就是从 良–优秀 更近一步了,所以越是做到后面,越是花更多的时间去打磨一些功能,否拿到奖品反而是其次。

专一或是全家桶

看遍插件市场,有的插件功能单一,有的插件企图一劳永逸。

在开发 Q-Npm 这个插件的时候,我的想法是,如果一个插件的功能够【小】,那么它所能做的事情反而要【多】

举个栗子:

Q-Npm 有查询和安装 Npm 依赖的功能,同时能接收 Npm 官方 Blog 最新博文的功能,另一款插件只有 Npm 依赖检测、升级、删除的功能。

在 Npm 这个方向上,我更倾向于将二者整合,而不是零散的作为两个插件,所以在升级后的 Q-Npm 中就包含了另一个插件的所有功能,工作量也不大,反倒是在【同步 Npm Blog 文章】的功能点上浪费了很多时间。因为涉及到后端抓取内容这部分功能。

不过整体而言,当你找到一个起点后,就有更多机会去开发其他功能的插件了,所要做的无非是权衡能不能在规定时间内做出一个高质量的插件。

高质量的插件

对于一个高质量的插件,个人理解是:

  • 能完成主题适配
  • 文档清晰简练
  • 能不断升级优化
  • 可以使用快捷键操作,提升用户的效率

暂且写到这里,后面有了新的体会再继续更新