要開發 JetBrains 家族的編輯器擴充套件,首先需要先安裝
Plugin DevKit
套件,可以方便我們建立 IDE Plugin 專案。
點選 File > Net Project...
選擇 IDE Plugin ,這裡 JDK 選擇 17
這裡有個小坑,如果對新的 Java 相關的專案比較了解,就會知道其實可以同時存在 Java 和 Kotlin 兩種語言,這裡建立完成後會自動依照 package 建立資料夾,但是是在 kotlin 的資料夾內:
如果想要使用 Java 開發,需要在 main 資料夾下(和 kotlin 資料夾同層)增加 java 資料夾,在裡面建立 .java 檔案才不會有多餘的問題,也可以依照平時的習慣依照 package 建立多個資料夾,不過就不是必須的了
下面使用 Java 示範
這裡建立一個簡單的顯示訊息的視窗,建立 ShowMessage.java 檔案,需要繼承 AnAction 類別。
會發現類別名稱有黃色波浪符底線,他提示我們需要在 plugin.xml 中註冊,用來定義我們這個套件的行為
這裡需要定義我們剛剛建立的 ShowMessage 會在哪裡出現,我們建立了一個「顯示訊息」的按鈕,此按鈕會被加入到「編輯視窗的彈出選單(EditorPopupMenu)」中,右側的 Anchor 可以定義顯示順序,下方的 Keyboard Shortcuts 可以定義預設快捷鍵:
上面的步驟會出現在 plugin.xml 中:
我們先回到 ShowMessage.java ,這裡增加一個彈出視窗:
點選編輯器右上角的執行按鈕
會開啟一個新的編輯器,可以發現我們的套件已經出現在這裡了
隨便開啟一個檔案,點選滑鼠右鍵,就會看到我們的「顯示訊息」按鈕
按下後也有正常出現彈出視窗
這就是一個最簡單的 JetBrains 編輯器擴充套件
這裡也附上 Kotlin 的寫法:
參考資料:
IntelliJ Platform SDK
點選 File > Net Project...
選擇 IDE Plugin ,這裡 JDK 選擇 17
這裡有個小坑,如果對新的 Java 相關的專案比較了解,就會知道其實可以同時存在 Java 和 Kotlin 兩種語言,這裡建立完成後會自動依照 package 建立資料夾,但是是在 kotlin 的資料夾內:
如果想要使用 Java 開發,需要在 main 資料夾下(和 kotlin 資料夾同層)增加 java 資料夾,在裡面建立 .java 檔案才不會有多餘的問題,也可以依照平時的習慣依照 package 建立多個資料夾,不過就不是必須的了
下面使用 Java 示範
這裡建立一個簡單的顯示訊息的視窗,建立 ShowMessage.java 檔案,需要繼承 AnAction 類別。
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import org.jetbrains.annotations.NotNull;
public class ShowMessage extends AnAction {
@Override
public void actionPerformed(@NotNull AnActionEvent e) {
}
}
會發現類別名稱有黃色波浪符底線,他提示我們需要在 plugin.xml 中註冊,用來定義我們這個套件的行為
這裡需要定義我們剛剛建立的 ShowMessage 會在哪裡出現,我們建立了一個「顯示訊息」的按鈕,此按鈕會被加入到「編輯視窗的彈出選單(EditorPopupMenu)」中,右側的 Anchor 可以定義顯示順序,下方的 Keyboard Shortcuts 可以定義預設快捷鍵:
上面的步驟會出現在 plugin.xml 中:
<!-- Plugin Configuration File. Read more: https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html -->
<idea-plugin>
<actions>
<action id="com.example.ideplugintest0325.ShowMessage" class="com.example.ideplugintest0325.ShowMessage" text="顯示訊息">
<add-to-group group-id="EditorPopupMenu" anchor="first"/>
<keyboard-shortcut keymap="$default" first-keystroke="shift ctrl alt M"/>
</action>
</actions>
</idea-plugin>
我們先回到 ShowMessage.java ,這裡增加一個彈出視窗:
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.ui.Messages;
import org.jetbrains.annotations.NotNull;
public class ShowMessage extends AnAction {
@Override
public void actionPerformed(@NotNull AnActionEvent e) {
Messages.showInfoMessage("Message", "Title");
}
}
點選編輯器右上角的執行按鈕
會開啟一個新的編輯器,可以發現我們的套件已經出現在這裡了
隨便開啟一個檔案,點選滑鼠右鍵,就會看到我們的「顯示訊息」按鈕
按下後也有正常出現彈出視窗
這就是一個最簡單的 JetBrains 編輯器擴充套件
這裡也附上 Kotlin 的寫法:
import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.ui.Messages;
class ShowMessage : AnAction() {
override fun actionPerformed(e: AnActionEvent) {
Messages.showMessageDialog(
"Message",
"Title",
Messages.getInformationIcon()
)
}
}
參考資料:
IntelliJ Platform SDK
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com