IDEA 2021及以上版本Lombok插件无法安装的问题

lxf2023-12-15 14:10:02

文中已经参与「」

在下节 《自定义IDEA插件 → 划词翻译替换(上)》 中,熊哥起先踩到个 JDK版本号问题深坑,参考在网上实例教程 写了个简易Demo奔跑起来,最终 依靠ChatGPT顺利实现了划词翻译替换功能

IDEA 2021及以上版本Lombok插件无法安装的问题

写好就立马想发这个软件给亲戚朋友分 (zhuang)享(bi),但汉语翻译需要用到的APPID和KEY全是写死我个人的。因此不大好Share,因此这节就来给这一插件开发一个 简单设定页,让软件用户可填写自己的汉语翻译APPID和KEY。自然,顺便也讲讲 软件的装包及公布

IDEA 2021及以上版本Lombok插件无法安装的问题

废话不多说,立即开冲~


0x1、撰写设定页UI

IDEA 2021及以上版本Lombok插件无法安装的问题

一样,直接说ChatGPT:

IDEA 2021及以上版本Lombok插件无法安装的问题

十分简洁明了,立即CV这一 applicationConfigurable 标签的编码到 plugin.xml中:

IDEA 2021及以上版本Lombok插件无法安装的问题

立即出错,em...又继续乱编了对吧 (也有可能是版本号难题),并找不到这俩引入,configurableClass明显是偏向设定Class的。试了下特性,implementation 能够,但已经废旧,打开具体类 ConfigurableEP,发觉可以使用 instance 取代:

IDEA 2021及以上版本Lombok插件无法安装的问题

新创建一个 CpStringFormatConfig 类传承 com.intellij.openapi.options.Configurable 类:

IDEA 2021及以上版本Lombok插件无法安装的问题

createComponent() 用这种方法会形成设定面板的UI,这儿立即Copy了ChatGPT给予代码实例,然后配备下plugin.xml:

IDEA 2021及以上版本Lombok插件无法安装的问题

实行runIde运作一波:

IDEA 2021及以上版本Lombok插件无法安装的问题

nice,在Settings网页页面能够看见我们自己的软件设定页了,然后健全一下这个设定页,这里也 不手敲 想象UI 了,终究awt的API我们也不熟,直接用 Swing Designer 拖拖拉拉控制,一键生成:

IDEA 2021及以上版本Lombok插件无法安装的问题

界定表格UI为 → PluginSettingUI

IDEA 2021及以上版本Lombok插件无法安装的问题

左边会形成2个文档.form文件和相对应的.java文档

IDEA 2021及以上版本Lombok插件无法安装的问题

点一下from文档逐渐页面设计

IDEA 2021及以上版本Lombok插件无法安装的问题

从右边拖动模块到绘图工具,随后根据需求调节部件特性也就不用详细介绍了啊,这儿熊哥简易拖拖拉拉出网页页面~

开启相对应的java文档,能够看见 field name相对应的便是控制案例,顺便写一个回到根Panel的办法:

IDEA 2021及以上版本Lombok插件无法安装的问题

返回我们自己的设定类 CpStringFormatConfig,创建对象一个PluginSettingUI案例,随后重新写过 createComponent(),启用 getContentPanel() 回到合理布局:

IDEA 2021及以上版本Lombok插件无法安装的问题

运作看一下实际效果:

IDEA 2021及以上版本Lombok插件无法安装的问题

nice!这儿原本加了一个清除和存放的按键,但是后来想一想有一些呆,直接从点一下Apply或是OK时储存就行了~


0x2、设定参数读写能力

随后,我们应该一个东西来储存 设定页的配置信息,方法很多,这儿直接使用最简单的方法 → 内置 com.intellij.ide.util.PropertiesComponent,根据健值正确的方法储存配置参数。然后就是读写能力主要参数的操作流程:

  • 进入设置页,载入主要参数,如果有的话填充
  • 点一下Apply,储存主要参数

部件类 PluginSettingUI 加一点编码,曝露读写能力appId和key的办法:

IDEA 2021及以上版本Lombok插件无法安装的问题

随后返回 CpStringFormatConfig 改下编码:

IDEA 2021及以上版本Lombok插件无法安装的问题

然后运作认证,不难发现设定参数值早已保存成功了。然后就是在需要使用翻译Action读写能力appid和key了,立即改 TranslateUtil

IDEA 2021及以上版本Lombok插件无法安装的问题

编译程序运行后,试着不填好appid和key,立即变换,弹出窗口如愿以偿发生:

IDEA 2021及以上版本Lombok插件无法安装的问题

然后键入自已的appid和key,点一下apply,那这2个主要参数准确无误得话,软件就可正常运转啦~

IDEA 2021及以上版本Lombok插件无法安装的问题

随后就能跟亲戚朋友share啦~


0x3、软件装包

双击鼠标Gradle面板 buildPlugin Task即可进行装包:

IDEA 2021及以上版本Lombok插件无法安装的问题

留意 plugin.xml 黄框一部分的信息要强化下哦,不然就会装包不成功!!!

IDEA 2021及以上版本Lombok插件无法安装的问题

装包之后在网站根目录形成build文件夹名称,装包后软件就在那 \build\distributions 目录下,无依靠的软件是JAR包有依靠的软件是ZIP包

IDEA 2021及以上版本Lombok插件无法安装的问题

之后就可以在其他IDE里组装这一软件,例如我搞到了我的AS里,先后:FileSettingsPlugins点传动齿轮挑选Install Plugin from Disk → 选定插件:

IDEA 2021及以上版本Lombok插件无法安装的问题

但是,出错了:

IDEA 2021及以上版本Lombok插件无法安装的问题

卧槽,到了一步你告诉我 写半天的软件 不可以放进一个新的IDEA上???

IDEA 2021及以上版本Lombok插件无法安装的问题

裤子都TM脱掉,舍弃是没有办法放手的,随后看见了本文 《IDEA 2021及以上版本Lombok插件无法安装的问题》,简要概括下处理步骤:

  • 解压软件打开软件Zip包 → Jar包 (并不是缓解压力!!!)
  • 进到META-INF文件夹名称下,开启plugin.xml文件;
  • 寻找:<idea-version> 标识,把 since-builduntil-build 改为自已的IDE版本号。

比如说我产生的插件:

IDEA 2021及以上版本Lombok插件无法安装的问题

我AS相对应的IDEA版本号:

IDEA 2021及以上版本Lombok插件无法安装的问题

改为:

<idea-version since-build="211" until-build="211.*"/>

随后储存,解压缩软件一般会弹出窗口:

IDEA 2021及以上版本Lombok插件无法安装的问题

是,随后再度组装,TM就行了:

IDEA 2021及以上版本Lombok插件无法安装的问题

自然,这也是治标不治本的方式,我也不可能每一次装包完都自己手动式改一遍吧?接着又看到了本文:IntelliJ Plugin - 软件公布其他版本兼容模式,它给的处理步骤如下:

① plugin.xml 中 立即特定软件支撑的最少和顶级复刻

<idea-plugin>
    <idea-version since-build="211" until-build="213.*" />
</idea-plugin>

build.gradleintellij dsl里将 updateSinceUntilBuild设为false

intellij {
    version 'xx.x.x'
    updateSinceUntilBuild = false
}

再度编译程序会出错:

The CpStringFormat (id=cn.coderpig.CpStringFormat, path=~\IdeaProjects\CpStringFormat\build\idea-sandbox\plugins\CpStringFormat, version=1.0-SNAPSHOT) plugin is incompatible (reason: since build 211.0 > IC-202.8194.7, target build range is 211 to 213.*)

可是插件却正常的衍生出了,开启它plugin.xml文件,能够看见设定起效了,并且插件也可以正常的组装~

IDEA 2021及以上版本Lombok插件无法安装的问题

安装完毕开启Setting寻找我们自己的软件,键入下百度在线翻译的appID和key,就可开心玩耍啦~

IDEA 2021及以上版本Lombok插件无法安装的问题


0x4、公布销售市场

开启 Marketplace,必须注册一个 Jetbrains账户,还可以用第三方账号授权登录 (如Google、Github等)。登录完点击右上的 Upload plugin 递交软件:

IDEA 2021及以上版本Lombok插件无法安装的问题

分别是:挑选插件挑选License源代码URL(由于我挑的开源协议)标识

IDEA 2021及以上版本Lombok插件无法安装的问题

点击Upload就可以上传到 Marketplace,然后就会自动跳转软件宝贝详情,会在这里健全一些软件小细节,图片描述什么的:

IDEA 2021及以上版本Lombok插件无法安装的问题

接着就是等功能审批了,一般在这两个工作中日内进行,审批完就能在Marketplace里找到到插件下载应用啦。

此外,Gradle还提供了 直接把当地的软件分享到提交到软件存储库中,基础是手动式递交过一次,因为要 Token,审核后,在这儿形成Token就可以。

IDEA 2021及以上版本Lombok插件无法安装的问题

因为我软件还没有审批通过,无法演试,相关流程可以参考一下本文:《Idea插件开发(二)——插件的创建打包及发布》,应当相差无异~


0x5、总结

这节先往原来软件的前提下加了一个 设定页让用户可填写自己的百度在线翻译appId和Key,然后实行 buildPlugin 装包软件,在使用到我们的AS时 碰到软件适配问题,通过调节配备,最后成功组装,并公布到 Marketplace 上。

IDEA 2021及以上版本Lombok插件无法安装的问题

开发设计这一软件的一个过程可以说是一波N折啊,但是幸而或是搞出来,其实现在还很简陋,可是 可定制啊!!!阅读者有哪些字符串数组格式化硬盘的需要能够评论留言提,学习能力强的乃至能自己入门改代码~

立即得出仓库地址:CpStringFormat,不想折磨得最直接的下插件:CpStringFormat-0.0.1-SNAPSHOT.zip

最终安利一个很不错的库房:judasn/IntelliJ-IDEA-Tutorial,轻松玩IDEA软件必不可少啊,就酱~

IDEA 2021及以上版本Lombok插件无法安装的问题

本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!