開發(fā)idea插件

效果

自己也編寫了一個代碼生成器插件并發(fā)布到了倉庫中,可以直接搜索“Neo Coder”殷勘,開發(fā)的這個插件是位于Tool Windows里面的,如下

在這里插入圖片描述

在這里插入圖片描述
要功能陋气,就是根據建表語句,直接生成DO和DAO層的代碼引润,不過其中的Orm框架采用的是框架Neo:
https://github.com/SimonAlong/Neo
下面講述下巩趁,如果創(chuàng)建自己的idea插件

1.建項目

創(chuàng)建idea插件項目很簡單,idea對應的項目就有,如下


在這里插入圖片描述

在這里插入圖片描述

其中plugin.xml就是idea給我們的配置文件议慰,后續(xù)要將我們的插件在哪些位置限制蠢古,都在該文件中配置即可

2.寫代碼

項目創(chuàng)建完畢就可以開發(fā)我們自己的插件了,插件的開發(fā)可以根據idea的插件包别凹,進行快速的開發(fā)

編寫基本代碼

在這里插入圖片描述

我們這里創(chuàng)建Action草讶,該Action就是一個動作


在這里插入圖片描述

創(chuàng)建Action


在這里插入圖片描述

添加之后,在plugin.xml中就有如下的配置

<actions>
  <!-- Add your actions here -->
  <action id="test" class="com.simonalong.test.test" text="test" description="test">
    <add-to-group group-id="ViewMenu" anchor="first"/>
  </action>
</actions>

對應的test類

public class test extends AnAction {

    @Override
    public void actionPerformed(AnActionEvent e) {
        Project project = e.getData(PlatformDataKeys.PROJECT);
        Messages.showMessageDialog(project, "helloword", "test", Messages.getInformationIcon());
    }
}

3.調試

在配置中炉菲,如下堕战,直接運行即可,運行會重新啟動一個新的idea拍霜,記得新的idea也是需要激活才行嘱丢,所以用一些激活碼激活即可(怎么獲取你懂得)


在這里插入圖片描述

在這里就有我們添加的,其中文案對應的就是我們上面的text


在這里插入圖片描述

在這里插入圖片描述

注意:
如果重新打開祠饺,有些時候 Use classpath of module顯示為[none]越驻,如果是這種情況請看后面的問題


在這里插入圖片描述

4.試用

當我們開發(fā)完我們的,我們就可以將我們的程序發(fā)布出去道偷,但是在發(fā)布之前缀旁,我們可以給其他小伙伴或者自己的其他程序先安裝試用下,這個時候只需要build出來我們自己的jar包勺鸦,然后安裝到我們的插件庫就可以了

編寫插件對外文案

如果不編輯則采用的就是默認的


在這里插入圖片描述

打包

在這里插入圖片描述

打包出來如下


在這里插入圖片描述

本地安裝

打包之后并巍,只需要將如上的jar包安裝即可,如下


在這里插入圖片描述

從本地安裝即可


在這里插入圖片描述

5.發(fā)布

當也試用完畢后祝旷,沒什么問題履澳,就可以將自己的插件發(fā)布到idea的市場上面
https://plugins.jetbrains.com/plugin/add#teamcity

如果發(fā)布成功,比如如下怀跛,而且會有一封郵件距贷,表示插件會進行審核,在1~2個工作日之后才會對外公開
[圖片上傳失敗...(image-54dd49-1598283563586)]

6.問題

1.idea插件項目再次打開時候無法運行

原因是idea會將打開的項目默認為java項目吻谋,只需要手動將根目錄下面的.idea文件下的*.iml中的Model從"JAVA_MODULE"修改為"PLUGIN_MODULE"即可忠蝗,就可以運行了

2.編譯啟動上報錯誤

Plugin Error
Problems found loading plugins:
Duplicate plugin id:com.your.company.unique.plugin.id

我這里其實是修改了自己的plugin id的,但是不知道為什么還有上面這個錯誤漓拾,后來重新創(chuàng)建了一個項目阁最,將代碼都拷貝過去,然后就好了

3.發(fā)布時候報如下問題

Invalid plugin descriptor 'plugin.xml': value of <description> must not have default 'Enter short description for your plugin here.' or 'most HTML tags may be used'
在這里插入圖片描述

發(fā)現自己的描述中有如下這么一句話骇两,這句話是之前舊的描述速种,我只是在上面添加了一行,刪除就可以了

<em>most HTML tags may be used</em>

4.發(fā)布時候上報問題

[圖片上傳失敗...(image-dfc664-1598283563586)]

Plugin has no dependencies. Please check the documentation.

只需要將plugin.xml下面的注釋取消即可

  <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
       on how to target different products -->
  <!-- uncomment to enable plugin in all products
  <depends>com.intellij.modules.lang</depends>
  -->

或者將下面的添加即可

  <depends>com.intellij.modules.lang</depends>

補充:

1.編寫界面

對于需要編寫界面的部分低千,可以采用Swing的手寫方式配阵,也可以采用idea提供的這個界面拖拽公共。
前面調用部分寫完之后,就可以在idea點擊了棋傍,但是沒有界面的話救拉,還是不好交互,我們直接用idea中的拖拽方式進行開發(fā)界面即可


在這里插入圖片描述
在這里插入圖片描述

創(chuàng)建完就如下瘫拣,然后就可以在上面通過拖拽的方式亿絮,開發(fā)自己的界面了


在這里插入圖片描述

提示:
開發(fā)后界面的查看可以直接點擊右鍵預覽,不用啟動也可以看界面效果麸拄,只能看界面效果不能看功能


在這里插入圖片描述

官方文檔

https://jetbrains.org/intellij/sdk/docs/intro/welcome.html

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末派昧,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子感帅,更是在濱河造成了極大的恐慌斗锭,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件失球,死亡現場離奇詭異岖是,居然都是意外死亡,警方通過查閱死者的電腦和手機实苞,發(fā)現死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門豺撑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人黔牵,你說我怎么就攤上這事聪轿。” “怎么了猾浦?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵陆错,是天一觀的道長。 經常有香客問我金赦,道長音瓷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任夹抗,我火速辦了婚禮绳慎,結果婚禮上,老公的妹妹穿的比我還像新娘漠烧。我一直安慰自己杏愤,他們只是感情好,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布已脓。 她就那樣靜靜地躺著珊楼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪度液。 梳的紋絲不亂的頭發(fā)上厕宗,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天邓了,我揣著相機與錄音,去河邊找鬼媳瞪。 笑死,一個胖子當著我的面吹牛照宝,可吹牛的內容都是我干的蛇受。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼厕鹃,長吁一口氣:“原來是場噩夢啊……” “哼兢仰!你這毒婦竟也來了?” 一聲冷哼從身側響起剂碴,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤把将,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后忆矛,有當地人在樹林里發(fā)現了一具尸體察蹲,經...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年催训,在試婚紗的時候發(fā)現自己被綠了洽议。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡漫拭,死狀恐怖亚兄,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情采驻,我是刑警寧澤审胚,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站礼旅,受9級特大地震影響膳叨,放射性物質發(fā)生泄漏。R本人自食惡果不足惜各淀,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一懒鉴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碎浇,春花似錦临谱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至苟穆,卻和暖如春抄课,著一層夾襖步出監(jiān)牢的瞬間唱星,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工跟磨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留间聊,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓抵拘,卻偏偏與公主長得像哎榴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子僵蛛,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345