日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

idea 2020.2 如何设置classpath_开发属于自己的第一款IDEA插件!

發布時間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 idea 2020.2 如何设置classpath_开发属于自己的第一款IDEA插件! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:木杉 http://imushan.com/

寫Java代碼的時候,經常會涉及到重復性的操作,這個時候就會想要是有這樣一個插件就好了,如果是大家都會遇到的場景,IDE或許已經提供了,再不然也有可能有人編寫了相關的插件。

要是這個操作是你們的編碼環境特有的,那就只能自己寫工具了。所以這里來學學如何編寫IDEA插件,讓自己的編程環境更加強大,更好的進行裝逼。

開發環境

開發IDEA插件有以下這些依賴:

  • IntelliJ IDEA Community Edition
  • IntelliJ IDEA Community Edition 源碼
  • Plugin DevKit 插件
  • IntelliJ Platform SDK

安裝IntelliJ IDEA Community Edition

你可能已經安裝了Ultimate版本,但是你還是需要安裝IDEA的社區版本。因為商業版是閉源的,所以在調試時無法調試核心代碼。

下載IntelliJ IDEA Community Edition源碼

社區版的安裝包里是不包含源碼的,所以我們需要手動從github上clone一份:

git clone --depth 1 git://git.jetbrains.org/idea/community.git idea

關于從源碼運行IDEA的方法參考 Check Out And Build Community Edition:http://www.jetbrains.org/intellij/sdk/docs/basics/checkout_and_build_community.html

添加IDEA jdk

雖然不知道原因,但是根據Check Out And Build Community Edition:http://www.jetbrains.org/intellij/sdk/docs/basics/checkout_and_build_community.html我們需要建立一個IDEA jdk來運行插件:

除非你在Mac上使用官方JDK,否則你需要手動添加/lib/tools.jar到classpath中。

配置IntelliJ Platform SDK

打開File | Project Structure新建一個IntelliJ Platform SDK:

Java SDK選擇我們剛剛建立的IDEA jdk:

然后我們可以把下載的IDEA社區版源碼添加到源碼路徑中,這樣在調試時,就可以調試IDEA自身的代碼了:

第一個插件

我們來編寫一個最簡單的插件來學習編寫一個插件的完整步驟。

新建工程

選擇IntellJ Platform Plugin,然后Project SDK指定剛剛新建的plugin sdk:

新建的插件項目:

插件根目錄下有兩個目錄src和resources。src是插件代碼目錄,resource是插件資源目錄,其中META-INF/plugin.xml是插件的描述文件,就像Java web項目的web.xml一樣。plugin.xml默認的內容如下:

<idea-plugin><id>com.your.company.unique.plugin.id</id><name>Plugin display name here</name><version>1.0</version><vendor email="support@yourcompany.com" url="http://www.yourcompany.com">YourCompany</vendor><description><![CDATA[Enter short description for your plugin here.<br><em>most HTML tags may be used</em>]]></description><change-notes><![CDATA[Add change notes here.<br><em>most HTML tags may be used</em>]]></change-notes><!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description --><idea-version since-build="145.0"/><!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.htmlon how to target different products --><!-- uncomment to enable plugin in all products<depends>com.intellij.modules.lang</depends>--><extensions defaultExtensionNs="com.intellij"><!-- Add your extensions here --></extensions><actions><!-- Add your actions here --></actions></idea-plugin>

新建一個Action

插件擴展IDEA最常見的方式就是在菜單欄或者工具欄中添加菜單項,用戶通過點擊菜單項來觸發插件功能。IDEA提供了AnAction類,這個類有一個虛方法actionPerformed,這個方法會在每次菜單被點擊時調用。新建一個自定義的Action有兩個步驟:

  • 繼承AnAction類,在actionPerformed方法中實現插件邏輯
  • 注冊action,有兩種方式,通過代碼注冊和通過plugin.xml注冊
  • 我們先寫一個簡單的Action類:

    publicclass TextBoxes extends AnAction {// 如果通過Java代碼來注冊,這個構造函數會被調用,傳給父類的字符串會被作為菜單項的名稱// 如果你通過plugin.xml來注冊,可以忽略這個構造函數public TextBoxes() {// 設置菜單項名稱super("Text _Boxes");// 還可以設置菜單項名稱,描述,圖標// super("Text _Boxes","Item description",IconLoader.getIcon("/Mypackage/icon.png"));}public void actionPerformed(AnActionEvent event) {Project project = event.getData(PlatformDataKeys.PROJECT);String txt= Messages.showInputDialog(project, "What is your name?", "Input your name", Messages.getQuestionIcon());Messages.showMessageDialog(project, "Hello, " + txt + "!n I am glad to see you.", "Information", Messages.getInformationIcon());} }

    然后我們在plugin.xml中注冊這個Action:

    <actions><group id="MyPlugin.SampleMenu" text="_Sample Menu" description="Sample menu"><add-to-group group-id="MainMenu" anchor="last" /><action id="Myplugin.Textboxes"class="Mypackage.TextBoxes" text="Text _Boxes" description="A test menu item" /></group> </actions>

    這里我們新建了一個菜單組,其中text字符串的下劃線表示這個字母作為快捷鍵。這個菜單顯示的效果如下:

    除了手動新建Action,IDEA還提供了快速新建的方法,在代碼目錄上點擊新建,可以看到Action:

    可以在這個面板中填寫你要新建的Action信息,IDEA會幫你新建類,還有在plugin.xml中幫你注冊:

    運行插件

    運行插件特別簡單,和運行普通Java代碼一樣,點擊運行或者調試的按鈕,就會啟動一個新的IDEA實例,這個實例中插件是生效的。點擊Text Boxes就可以看到插件的效果了。

    參考資料

    • Setting Up a Development Environment
    • How to make an IntelliJ IDEA plugin in less than 30 minutes

    總結

    以上是生活随笔為你收集整理的idea 2020.2 如何设置classpath_开发属于自己的第一款IDEA插件!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。