两种创建project的方式
dev kit
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190118030903331.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhcnJ5aGFyZQ==,size_16,color_FFFFFF,t_70,)
graddle
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190118030759643.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhcnJ5aGFyZQ==,size_16,color_FFFFFF,t_70,)
注意的几点:
- 两种方式的目录结构是不同的
- 两种方式都可以右键src目录新建action
- 两种方式调试时启动的idea实例不同
graddle 是 一个community 的intellij Idea 的 sandbox, 这个sandbox 在第一次运行时要下载,很耗时
devkit 是启动一个当前版本的 intelij Idea 好像
- 对jetbrain 全家桶的支持,传说只要去掉
plugin.xml
中的的一个注释就可以了
<!-- uncomment to enable plugin in all products
<depends>com.intellij.modules.lang</depends>
-->
- graddle 模版中的发布方法有问题,不知道是不是因为我的版本有些老,具体的问题是,jetbrain的发布平台不在支持用户名密码的发布,而是改用token。但是发布工具中依然使用用户名和密码的方式。(文档中就只提到了这种方式)
devkit 的发布流程是正常的,因为是打好jar包上传的。。。
文档中说graddle 发布的前提是帐号已经发布过才可以,并不理解这段话的意思
To do so, you will need to have already published the plugin to the plugin repository. For detailed information, please see the guide to publishing a plugin
Build
dev-kit 的build:
![build](https://img-blog.csdnimg.cn/20190211013917674.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhcnJ5aGFyZQ==,size_16,color_FFFFFF,t_7,)
build 使用的sdk版本:
上面的红圈,感觉用1.8 可以支持大部分的JetBrain 产品。9.0的话,一些老版本会不支持。
下面的红圈,不要选太低的,否则编译报错,8应该够用。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190211013246788.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhcnJ5aGFyZQ==,size_16,color_FFFFFF,t_70,)
发布
我发布成功的一个例子
https://plugins.jetbrains.com/plugin/11556-generate-struct-tags-for-golang
dev-kit 版的代码:
https://github.com/harryhare/go_struct_tag_plugin_jetbrains
graddle 版的代码:
https://github.com/harryhare/go_struct_tag_plugin_jetbrains_gradle
https://plugins.jetbrains.com/ 上 upload plugin 的位置:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190118032531553.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhcnJ5aGFyZQ==,size_16,color_FFFFFF,t_70,)
token /密码的管理:
https://hub.jetbrains.com ->profile -> authentication
审核
审核过后就可以在browse repositories( preferences -> plugins -> 下排中间的那个按钮) 中看的自己发布的插件了: )
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190211130519405.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhcnJ5aGFyZQ==,size_16,color_FFFFFF,t_70,)
遇到的一个坑
不能直接编辑文件,否则报这样的错:
Assertion failed: Write access is allowed inside write-action only (see com.intellij.openapi.application.Application.runWriteAction())
解决:
https://github.com/JetBrains/intellij-sdk-docs/blob/master/tutorials/editor_basics/working_with_text.md
其他
新建的graddle 项目没有java 文件夹的原因是 graddle 没有sync 完,这一步很慢的,要有耐心。。。