【Intellij Idea 插件從入門到深坑】基礎的AnAction

簡介

本篇博客主要是介紹Intellij Idea 插件的基礎環境的搭建,以及簡單的入門操作,用於熟悉插件的編寫流程,更快的熟悉和適應插件的編寫。如有錯誤,請在留言中指正,謝謝。 系列彙總地址


基礎知識

環境搭建

首先爲了方便開發,我們採用Intellij Idea 作爲我們開發的IDE,可以點此下載
安裝過程比較簡單我就不在此贅述了,下面我們講解下如何設置,讓你能夠搭建好可以運行的插件系統。

打開Intellij Idea ,然後選擇新建項目,然後按照下圖操作:

設置項目

然後選擇Next ,然後輸入你的項目名稱,然後選擇Finish,最後你的項目結構將如下圖所示:

項目結構

我們根據當前的圖來簡介下Intellij Idea 插件開發項目的目錄結構。

  • src 目錄,用於存儲我們編寫插件的源碼

  • resources目錄, 用於存儲我們所需的資源文件。其中比較重要的是在META-INF 文件下的plugin.xml ,它是插件的配置文件,用於配置插件的各種屬性各種依賴,以及註冊後續將接觸到的ActionInspection等,所以此文件很重要!!!

通過上面的幾個簡單的步驟就可以搭建完成我們的開發環境了,下面我們編寫個簡單的例子來熟悉下如何進行插件的開發。


入門操作

action 是什麼?

如果我上來就開始寫代碼你可能處於懵逼狀態,好,我們先講解下定義。
定義:用於描述一個動作、行爲,可以通過快捷鍵、點選的方式進行觸發。

下面我們將講解兩種方式去創建Action


藉助IDE創建Action

按照如下步驟進行操作:

  1. 在Src目錄下創建你的包,用於存儲代碼
  2. 選擇你創建的包然後點擊右鍵->New
  3. 然後選擇最下方的Plugin Devkit->Action

參考下圖:

項目結構

然後需要設置Action的各個屬性,可以參考下圖:

項目結構

然後點擊下一步,你就會發現你的對應包下面就有你設置好的Action的類了。你是否好奇IDE究竟爲我們做了什麼?還記得說過的比較重要的那個配置文件嗎?打開看看吧,你的設置是不是都在裏面?是不是恍然大悟了!

下面介紹的創建Action 的方法就是依照此原理進行的。


手動創建Action

按照如下步驟進行操作:

  1. 在Src目錄下創建你的包,用於存儲代碼
  2. 選擇你創建的包然後點擊右鍵->New
  3. 然後選擇Java Class,設置好你的Action名稱點擊完成

將你的類繼承AnAction,然後重寫actionPerformed()方法,如下圖所示:

項目結構

我們還要配置一下plugin.xml ,將你的Action註冊進去。
配置內容,如下圖:

項目結構

配置的內容參數的含義可以參考IDE生成Action時的講解,都是對應的。


講解Action

這個類中比較重要的有兩個方法:

  • actionPerformed(AnActionEvent e): 當用戶點擊IDE中對應Action的圖標時會觸發此方法,也就是說每選中一次觸發一次。
  • update(AnActionEvent e):當IDE中需要展示你的Action圖標的時候就會觸發一次,當點擊時也會觸發且在actionPerformed(AnActionEvent e) 之前觸發。

實現個小功能

通過上面的介紹我們對Action大致有了一些瞭解,下面我們來實現一些功能,來更好的學習印證一下。

這個例子應該是很普遍了,這個應該是官網的例子,就以此講解吧,具體實現就是當點擊你對應的Action的時候,彈出一個彈窗,下面我們看下如何實現。

其實代碼很簡單,我們剛講解了Action比較重要的就那兩個方法,根據需求我們知道actionPerformed(AnActionEvent e) 就可以滿足效果,下面我們來編寫代碼。

 @Override
    public void actionPerformed(AnActionEvent e) {
        Messages.showMessageDialog("這個是我的測試彈窗!", "TestTile", Messages.getWarningIcon());
    }

可以看到代碼確實很簡單,然後我們點擊運行即可,IDE會自動打開新的IDE進程,如果沒有直接打開對應的IDE,你需要手動選擇打開的Project即可。需要注意的是,Intellij Idea 中使用的Ui 相關的都是基於java 的,所以如果想高度定製,需要一些java ui的基礎。

好,我們驗證下學習成果,點擊自動打開的IDE,上方選擇help,查看最下方是不是有你命名的action的名字,然後點擊,是否出現彈窗,出現則成功。

如果在help下沒看到你的action名字,請按照如下修改plugin.xml中的對應代碼:

 <add-to-group group-id="HelpMenu" anchor="last"/>

然後,重新運行即可~

此時重新進行點擊查看應該就可以看到對應的效果了。

注意:如果有其他情況還請下方留言。


總結

至此已經基本瞭解了Intellij Idea 的插件開發,是不是感覺還比較簡單?後續會有更多更復雜的內容,敬請期待~

學完了內容後,多回顧多思考,繼續後續內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章