最初のIDEAプラグインを0から作成してください!

Javaコードを書く場合、繰り返しの作業が多いので、現時点ではそのようなプラグインを用意したいのですが、皆さんが出会うシーンであれば、IDEがすでに提供しているかもしれません。関連プラグイン。

この操作がコーディング環境に固有の場合は、独自のツールのみを作成できます。そこで、IDEAプラグインを作成して独自のプログラミング環境をより強力に、より適切にロードする方法を学びましょう。

開発環境

IDEAプラグインの開発には、次の依存関係があります。

  • IntelliJ IDEA Community Edition

  • IntelliJ IDEA Community Editionソースコード

  • プラグインDevKit

  • IntelliJプラットフォームSDK

IntelliJ IDEA Community Editionをインストールする

Ultimateバージョンをインストールした可能性がありますが、コミュニティバージョンのIDEAをインストールする必要があります商用バージョンはクローズドソースであるため、デバッグ中にコアコードをデバッグすることはできません。

IntelliJ IDEA Community Editionのソースコードをダウンロードする

インストールパッケージのコミュニティバージョンにはソースコードが含まれていないため、githubからコピーを手動で複製する必要があります。

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

ソースコードからIDEAを実行する方法については、コミュニティエディションのチェックアウトとビルドを参照してください。

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クラスパスに追加する必要がありますWeChatパブリックアカウントに注意してください:Javaテクノロジースタック、バックグラウンドで返信:アイデア、私がコンパイルしたN個の最新のIDEAチュートリアルを入手できます。すべて乾燥品です。

配置IntelliJプラットフォームSDK

File | Project Structure新しいものを開きIntelliJ Platform SDKます:

Java SDKは、先ほど作成したものを選択しますIDEA jdk

次に、ダウンロードしたIDEAコミュニティバージョンのソースコードをソースコードパスに追加して、デバッグ時にIDEA独自のコードをデバッグできるようにします。

最初のプラグイン

簡単なプラグインを作成して、プラグインを作成するための完全な手順を学びましょう。

新築

を選択IntellJ Platform Pluginすると、Project SDKは新しく作成されたプラグインsdkを指定します。

新しいプラグインプロジェクト:

そこ2つのプラグインディレクトリは、ルートディレクトリの下にあるsrcresourcessrcこれは、Java Webプロジェクトと同様に、resourceプラグインコードディレクトリとプラグインリソースディレクトリでありMETA-INF/plugin.xml、プラグインの記述ファイルです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="[email protected]" 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.html    
       on 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>    

新しいアクションを作成する

プラグインがIDEAを拡張する最も一般的な方法は、メニュー項目をメニューバーまたはツールバーに追加することです。ユーザーはメニュー項目をクリックしてプラグイン機能をトリガーします。IDEAはAnActionクラスを提供します。このクラスには仮想メソッドがありactionPerformed、このメソッドはメニューがクリックされるたびに呼び出されます。

カスタムアクションを作成するには、2つの手順があります。

  1. AnActionクラスを継承し、actionPerformedメソッドにプラグインロジックを実装する

  2. 登録アクション、コードを介して2つの方法は、登録とによってそこにあるplugin.xml登録

最初に簡単なActionクラスを書いてみましょう:

public class 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このアクションを次の場所に登録します。

<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>    

ここでは、新しい文字列の下線がショートカットキーとしてこの文字を示す新しいメニューグループを作成しました。このメニューの効果は次のとおりです。

IDEAは、手動で新しいアクションを作成するだけでなく、すばやく新しいメソッドも提供します。コードディレクトリで[新規]をクリックして、アクションを表示します。

このパネルで作成するアクション情報を入力できます。IDEAは新しいクラスの作成を支援し、plugin.xmlへの登録も支援します。

プラグインを実行する

プラグインの実行は特に簡単です。通常のJavaコードを実行するのと同じように、実行またはデバッグボタンをクリックすると、新しいIDEAインスタンスが開始され、プラグインが有効になります。

プラグインの効果を確認するには、[テキストボックス]をクリックします。

出典:Mushanのブログ http://imushan.com/

私はブログを読んで詳細を読むことをお勧めします:

1. Java JVM、コレクション、マルチスレッド、新機能シリーズのチュートリアル

2. Spring MVC、Spring Boot、Spring Cloudシリーズのチュートリアル

3. Maven、Git、Eclipse、Intellij IDEAシリーズのツールチュートリアル

4. Java、バックエンド、アーキテクチャ、Alibabaおよびその他の主要メーカーに対する最新のインタビューの質問

人生は美しいです、また明日ね

495件のオリジナル記事が公開されました 1032件のいいね 144万回の閲覧

おすすめ

転載: blog.csdn.net/youanyyou/article/details/105528616