最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

養(yǎng)發(fā)神器:重復(fù)代碼一鍵生成,從此遠(yuǎn)離加班,告別禿頭!

2023-06-26 23:27 作者:劉姥姥看人間  | 我要投稿

一、背景

??作為Java開(kāi)發(fā),經(jīng)常需要根據(jù)數(shù)據(jù)庫(kù)某個(gè)字段獲取對(duì)應(yīng)的枚舉類,然后就要在枚舉類添加如下的方法:

java復(fù)制代碼 ? ?public static TestEnum getByCode(Integer code) { ?? ? ? ?return Arrays.asList(values()).stream().filter(i -> i.getCode().equals(code)).findFirst().orElse(null); ?? ?}

這種方法在不同枚舉類的實(shí)現(xiàn)都是很相似的,有什么辦法可以避免這種重復(fù)勞動(dòng)呢? ??于是,我就想到了寫一個(gè)Idea插件去自動(dòng)生成代碼,EnumHelper應(yīng)運(yùn)而生。

二、插件展示

目前該插件已經(jīng)發(fā)布,在Marketplace搜索EnumHelper下載安裝即可體驗(yàn),有其他建議大家也可以留言。

使用教程:

  1. 復(fù)制你想要查詢的枚舉字段

  2. 生成對(duì)應(yīng)的枚舉方法

三、踩坑總結(jié)

該項(xiàng)目代碼不是很復(fù)雜,就不在這里貼出來(lái)了,如果你感興趣的話可以查看源代碼,網(wǎng)上也有一些不錯(cuò)的插件開(kāi)發(fā)教程這里簡(jiǎn)單列一下。

相關(guān)教程:

你們要的Intellij IDEA 插件開(kāi)發(fā)秘籍,來(lái)了!
IDEA插件開(kāi)發(fā)實(shí)戰(zhàn)
官方文檔:plugins.jetbrains.com/docs/intell…

但是在開(kāi)發(fā)過(guò)程中還是踩了不少坑,覺(jué)得有必要在這里記錄下。

問(wèn)題1: 插件開(kāi)發(fā)創(chuàng)建項(xiàng)目有兩種方式,第一種是選擇Intelij Platform Plugin直接創(chuàng)建,第二種是選擇Gradle的方式創(chuàng)建,開(kāi)始選擇了第一種方式,ProjectSDK選擇時(shí)沒(méi)有IntelliJ Platform Plugin SDK這個(gè)選項(xiàng)!

解決方案: 后面發(fā)現(xiàn)這個(gè)SDK是需要手動(dòng)創(chuàng)建的,Project Structure-->SDKs-->點(diǎn)擊+號(hào)添加。而且對(duì)于這兩種方式,如果你不需要引入其他第三方依賴,那么推薦第一種方式創(chuàng)建項(xiàng)目更簡(jiǎn)單,畢竟Gradle配置太麻煩而且有很多人不熟悉Gradle。

問(wèn)題2: 控制臺(tái)顯示Caused by: java.lang.ClassNotFoundException

解決方案: 后來(lái)發(fā)現(xiàn)包依賴不全,需要在plugin.xml添加如下兩個(gè)包。

xml復(fù)制代碼 ? ?<depends>com.intellij.modules.lang</depends> ?? ?<depends>com.intellij.modules.java</depends>

問(wèn)題3: 通過(guò)New-->Plugin Devkit-->Action創(chuàng)建的action,快捷鍵觸發(fā)無(wú)效!

解決方案: 看了官方文檔才發(fā)現(xiàn),idea創(chuàng)建的action配置是不全的,只有默認(rèn)的情況,我的筆記本是Mac OS系統(tǒng)需要在plugin.xml添加配置如下:

xml復(fù)制代碼 <keyboard-shortcut ?? ? ? ? ? ? ? ? ? ?keymap="$default" ?? ? ? ? ? ? ? ? ? ?first-keystroke="control shift J"/> ? ? ? ? ? ? ?<!-- ...except the "Mac OS X" keymap and its children. --> ?? ? ? ? ? ?<keyboard-shortcut ?? ? ? ? ? ? ? ? ? ?keymap="Mac OS X" ?? ? ? ? ? ? ? ? ? ?first-keystroke="control shift J" ?? ? ? ? ? ? ? ? ? ?remove="true"/> ? ? ? ? ? ? ?<!-- The "Mac OS X 10.5+" keymap and its children will have only ?? ? ? ? ? ?this keyboard shortcut for this action. --> ?? ? ? ? ? ?<keyboard-shortcut ?? ? ? ? ? ? ? ? ? ?keymap="Mac OS X 10.5+" ?? ? ? ? ? ? ? ? ? ?first-keystroke="control shift J" ?? ? ? ? ? ? ? ? ? ?replace-all="true"/>

問(wèn)題4: 當(dāng)時(shí)代碼寫完功能也測(cè)試完了,準(zhǔn)備打包才發(fā)現(xiàn)找不到打包方式??。于是就以為這種方式打不了包,換成Gradle重建項(xiàng)目,然后idea下載gradle很慢我就取消,手動(dòng)下載了6.4.1的包,好不容易安裝完gradle啟動(dòng)卻報(bào)錯(cuò)至少要7.3+!

解決方案: build.gradle上org.jetbrains.intellij的版本和Gradle的版本有關(guān)聯(lián)關(guān)系的,如果不想升Gradle版本也可以降低org.jetbrains.intellij版本,建議提前閱讀plugins.jetbrains.com/docs/intell…

問(wèn)題5: build.gradle報(bào)錯(cuò)==No signature of method: build_ah2nr93m937t291v887ebyou3.patchPluginXml() is applicable for argument types==

解決方案: 這個(gè)問(wèn)題google都沒(méi)找到解決方案,后來(lái)感覺(jué)這個(gè)不重要就注釋掉試試,問(wèn)題解決。

問(wèn)題6: Gradle版本的項(xiàng)目弄好了,啟動(dòng)沙箱環(huán)境調(diào)試時(shí)才發(fā)現(xiàn)插件入口調(diào)不出來(lái),F(xiàn)ile菜單顯示的還是之前的插件action名稱。

解決方案: 后面想到可能是緩存導(dǎo)致的,就在項(xiàng)目SDKs配置那里找到沙箱環(huán)境路徑,在命令行進(jìn)入路徑rm -rf * 刪除所有文件,再次啟動(dòng)項(xiàng)目就行了。

問(wèn)題原因就是本地不同的idea插件開(kāi)發(fā),共用一個(gè)沙箱環(huán)境。

養(yǎng)發(fā)神器:重復(fù)代碼一鍵生成,從此遠(yuǎn)離加班,告別禿頭!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
五大连池市| 武平县| 拜泉县| 景德镇市| 南木林县| 江安县| 仪征市| 曲周县| 寿阳县| 太保市| 卓资县| 云浮市| 安泽县| 临夏县| 梁山县| 运城市| 富宁县| 马关县| 云霄县| 琼结县| 永嘉县| 沾化县| 泉州市| 即墨市| 昌图县| 宜州市| 大冶市| 清徐县| 于田县| 杭锦后旗| 怀柔区| 大兴区| 宁乡县| 沭阳县| 中方县| 溆浦县| 白河县| 南陵县| 简阳市| 玛沁县| 宁波市|