中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
干貨|IntelliJ IDEA插件開發(fā)

每天讀一篇一線開發(fā)者原創(chuàng)好文

作者簡介

作者姚剛,網(wǎng)管軟件開發(fā)高級工程師,開源軟件愛好者,對性能調(diào)優(yōu)有深入研究,近年致力于TDD、重構(gòu)、DDD、DSL等研究以及在團隊中的落地。

今天他通過實戰(zhàn)方式,為我們帶來關(guān)于IDEA 插件開發(fā)全流程,希望給每個想要學(xué)習(xí)IDEA插件開發(fā)的朋友們提供些許幫助。

1.開發(fā)環(huán)境搭建


2.開發(fā)流程

2.1.開發(fā)插件訪問入口(Action)

(1)擴展抽象類AnAction

 Code:

(點擊查看大圖)

(2)將擴展類注冊到plugin.xml文件actions節(jié)點中,并完成相關(guān)屬性配置。

屬性含義:

Id:每個action的唯一標(biāo)識,要保證整個插件定義中唯一。

Class:插件訪問入口類,必須擴展抽象類AnAction

Text:插件在界面上的顯示文本

Description:插件的描述信息

Icon:插件圖標(biāo),本例效果:

add-to-group:定義action錨點,其中g(shù)roup-id指定顯示在某個菜單欄或鼠標(biāo)右鍵。

這里以ToolsMenu為例,指定顯示在菜單欄“Tools”菜單中。

Anchor指定在菜單中相對于其他菜單項的位置,有三個取值“first”“l(fā)ast”,“before”,“after”。

keyboard-shortcut:定義插件的快捷鍵。

說明:當(dāng)通過IDEA新建Action的時候,IDEA也會自動完成Aciton在plugin.xml文件中的注冊配置,注冊內(nèi)容如下(其中部分屬性內(nèi)容可通過后期手動配置進(jìn)行修改添加)。

2.2開發(fā)插件配置面板(SearchableConfigurable)

(1)實現(xiàn)SearchableConfigurable接口

三個關(guān)鍵方法:

getDisplayName:控制在配置面板中左側(cè)窗口的顯示名稱。

createComponent:配置界面的繪制,負(fù)責(zé)用戶輸入信息的接受。

isModified:當(dāng)用戶修改配置參數(shù)后,在點擊“OK”“Apply”按鈕前,框架會自動調(diào)用該方法,判斷是否有修改,進(jìn)而控制按鈕“OK”“Apply”的是否可用。

Apply:用戶點擊“OK”或“Apply”按鈕后會調(diào)用該方法,通常用于完成配置信息持久化。

Reset:用戶點擊“Reset”按鈕后,用戶界面配置參數(shù)重置。

 Code:

(點擊查看大圖)

(2)界面繪制

可通過所見即所得的繪制工具或插件完成,當(dāng)然直接編碼繪制也可以。

(3)在plugin.xml文件中注冊配置面板

含義:

applicationConfigurable :配置

2.3 插件配置參數(shù)持久化 

當(dāng)插件有一些用戶定制的配置參數(shù)信息時,需要插件具備記憶功能,在IDEA重啟后,任然能夠生效,這就需要用到插件配置信息持久化接口。 

(1)實現(xiàn)接口PersistentStateComponent<Element>

(點擊查看大圖)

(2)配置持久化文件位置以及參數(shù)

@State(name = 'SearchJar', storages = {@com.intellij.openapi.components.Storage(id = 'other', file ='$APP_CONFIG$/searchJarPath.xml')})

含義:

name:持久化文件組件名稱可隨意指定,通常用插件名稱即可。

storages :定義配置參數(shù)的持久化位置。其中$APP_CONFIG$變量為Idea安裝后默認(rèn)的用戶路徑,例如:C:\Documents and Settings\10139682\.IdeaIC2017.3\config\options\searchJarPath.xml

上面的注解配置參數(shù),在用戶通過配置界面設(shè)置查找路徑后,會自動修改或生成(當(dāng)文件不存在)如下配置文件:

2.4開發(fā)狀態(tài)欄進(jìn)度條

對于存在長耗時運算的插件,會了提升用戶體驗,常常需要增加進(jìn)度條。

擴展Task.Backgroundable抽象類,并覆蓋run方法。

Code:

3.運行效果

3.1插件管理

3.2 Setting配置界面

3.3 插件入口

通過菜單Tools>>Search Jar或執(zhí)行Ctrl+Alt+U快捷鍵。

彈出搜索jar輸入框

開始執(zhí)行搜索,任務(wù)狀態(tài)欄顯示效果如下

查找結(jié)果展示:

插件源碼:

https://10.89.168.164:8443/svn/Network_Management_Dept4/科室建設(shè)/EMS性能告警科/DEV_TEST_TOOLS/Plugin Dev/SearchJar

參考文獻(xiàn):

[1]http://blog.csdn.net/chengtt_love/article/details/53745025

[2]http://www.jetbrains.org/intellij/sdk/docs/welcome.html

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java IDE實用對比:Eclipse、NetBeans、IntelliJ(網(wǎng)上收集)
分析并解決Intellij IDEA覆蓋tomcat配置的問題/ 解決修改server.xml無效的問題
清華大學(xué)出版,30天搞定IDEA,讓你的代碼能力快到起飛!
Intellij IDEA真實永久激活碼,有效支持IDEA激活2022整年
Intellij IDEA 默認(rèn)打開上次項目設(shè)置
intelliJ 默認(rèn).ignore
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服