诶嘿,通过PasteMe for Intellij IDE
插件,你可以在 IDE 内直接将代码片段上传至PasteMe.cn
并自动复制Paste链接了
为什么要写这个插件
可能是放寒假太闲所以做一点微小的贡献
个人认为,类似 PasteMe.cn
\ Ubuntu Paste
这类文本片段分享网站,本质上是提供了与图床类似的服务,相比于展示端的代码高亮和剪贴板写入等复杂功能,生成Paste其实只需要一次PUT
请求就可以完成,实际上PasteMe也确实提供了简洁的API可以在多种环境下调用。
在Intellij
中,通过官方的Github
集成插件,可以将代码片段甚至编译报错信息生成Gist
,整个Work-flow不需要离开IDE并自动调用浏览器打开Gist
连接。于是我仿照Gist的思路,尝试将PasteMe集成到了Intellij
中,并利用了IDE 语言推断和配置存储功能提升了体验。比[打开网页=>复制粘贴=>密码加密=>提交=>复制粘贴ID]的传统Work-flow不知道高到哪里去了,整个过程全部集成在IDE中,可谓是 Too Simple
了
如何使用
- 在插件的源代码中的
Plugin.xml
中可以声明插件的动作,以及注入的入口。PasteMe插件注入了ProjectViewPopMenu
即左侧Project文件树的右键菜单,通过此入口获取文件全部内容上传,EditorPopupMenu
即编辑器中的右键菜单,获取选中区域文本或全部文本上传,ConsoleEditorPopupMenu
即编译运行结果区的Console右键菜单
,获取程序输出并上传(不会只有我一个人给别人检查程序Bug的时候只能对着截图或者QQ聊天框里一堆格式杂乱还没有高亮的出错信息Debug吧不会吧不会吧) - 插件通过调用IDE的PSI File相关接口来获取文件所属语言,并提交到PasteMe,以期在展示端获得更准确的高亮体验,同时你可以设置为在上传前自动格式化代码(一颗赛艇!
- 插件通过继承
Intellij
的Configurable
和State
类,可以实现记录偏好设置,并在IDE设置中修改,目前可修改的包括 加密Paste的默认密码,上传前后自动执行的工作流等。(吼啊
截图
TODO
- [ ] 自动插入文件名(难点在于插入的文件名必然应当以注释的形式存在,如何获取不同语言的注释符号呢?
我说还是另请高明吧 - [ ] Paste 下载功能
- [ ] 配合PasteMe的用户系统