使用下面的步骤列表来确保您已经准备好开发您的自定义插件。
为配置插件开发环境,请执行以下操作:
单击 File | Project Structure ,在打开的窗口下创建新的 * IntelliJ Platform SDK* :
指定 IntelliJ IDEA Community Edition 的安装文件夹作为主目录。
警告: 您可以使用 IntelliJ IDEA Ultimate 作为替代方案,但只能用Community Edition版本调试核心代码。
选择1.8作为默认的Java SDK版本。有关创建1.8版本的JSDK说明,请参阅IntelliJ构建配置的 [Check Out And Build Community Edition](```Check Out And Build Community Edition``) 部分。
指定IntelliJ IDEA Community Edition版的源代码目录:
有关默认 Sandbox Home 主目录位置和内容的详细信息,请参阅IDE Development Instances。
本节将说明如何使用New Project向导从头创建一个新的插件项目。通常,您可以选择导入现有项目或导入外部模块项目。您还可以向现有的 IntelliJ Platform 项目添加一个新的插件模块。有关详细信息,请参阅IntelliJ IDEA Web Help。
您的插件可以通过向菜单和工具栏添加新的选项来自定义IntelliJ平台的UI。IntelliJ平台提供了AnAction类,每次选择菜单项或单击工具栏按钮时都会调用它的 actionPerformed
方法。
要在 IntelliJ Platform 中创建自定义操作,您需要执行两个基本步骤:
本主题概述上述步骤。如需详细资料及示例,请参阅IntelliJ Platform Action System。
Action是从AnAction类派生的类。要定义您的操作,在您的插件中,创建一个从 AnAction
类派生的Java类。在这个类中,当选择菜单项或工具栏按钮时会调用重写的 actionPerformed
方法。
为了了解这个过程,请参照以下从AnAction类派生的TextBox类的代码片段:
public class TextBoxes extends AnAction {
// If you register the action from Java code, this constructor is used to set the menu item name
// (optionally, you can specify the menu description and an icon to display next to the menu item).
// You can omit this constructor when registering the action in the plugin.xml file.
public TextBoxes() {
// Set the menu item name.
super("Text _Boxes");
// Set the menu item name, description and icon.
// 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());
}
}
注意,可以随意的从AnAction类派生出一组类。在这种情况下,您的插件将定义一系列的行为操作。
一旦定义了行为操作或者行为操作系统,就必须注册它们来指定与操作相关联的菜单项或工具栏按钮。您可以按照下列任意一个方法进行注册操作:
plugin.xml
文件的
部分中注册操作。本节提供了一些示例来说明如何进行注册操作。有关更多信息,请参见IntelliJ Platform Action System。
要注册您的操作,请对您的IDEA项目的plugin.xml文件的
部分进行适当的更改。以下的plugin.xml文件代码片段演示的是如何将菜单组(选项)添加到主菜单中。单击此项使您可以访问 Sample Menu | Text Boxes and Sample Menu | Show Dialog 菜单命令:
<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" />
<action id="Myplugin.Dialogs" class="Mypackage.MyShowDialog" text="Show _Dialog" description="A test menu item" />
group>
actions>
这个plugin.xml文件的代码片段只演示了您可以在中使用的部分元素来注册您的操作。有关用于注册操作的所有元素的信息,请参阅ntelliJ Platform Action System。
或者,您可以通过Java代码注册您的操作。有关说明如何从Java代码注册操作的更多信息和示例,请参见IntelliJ Platform Action System。
IntelliJ平台提供了 New Action 向导,该向导提供了一些必需的基础操作简化创建Action的方法。它可以帮助您声明Action类,并自动对plugin.xml文件的
部分进行适当的更改。
但是请注意,只能使用该向导向主菜单或工具栏上的现有菜单组添加新操作。如果要创建新的菜单组,然后向此组添加操作,请按照本文档前面的说明进行操作。
在新打开的 New Action 页面上,填写以下字段,然后单击OK:
PluginName.ID
。以上操作完成后,IntelliJ平台将生成一个具有指定类名的 .java
文件,并在plugin.xml文件中注册新创建的Action,然后会向模块树视图添加一个节点,并在编辑器中打开新创建的Action文件。
有关操作的更多信息,请查看action system documentation和actions tutorial。
您可以直接从IntelliJ IDEA运行和调试插件。您需要配置一个特殊的配置文件(插件运行/调试配置)来指定插件模块,VM 参数和其他特定的选项。当您运行这样的配置文件时,它会启动一个安装了您的插件的IDE。
有关如何更改运行/调试配置文件的信息,请参阅Run/Debug Configuration和Run/Debug Configuration: Plugin。
使用IntelliJ IDEA的调试器,您可以找到运行时错误和异常的来源。
Shift
+ F9
。Shift
+ F10
。在使用自定义插件之前,需要先通过:构建、安装,然后使用插件管理器启用来部署。
部署插件:
editor_basics
代码示例将压缩文件/jar文件的插件导入到 editor_basics
项目文件夹中:当您的插件开发完后,您可以将其发布到插件仓库,以便其他用户可以安装它。您可以选择将其发布到 JetBrains Plugin Repository或其他自定义插件仓库中。
要将您的插件上传到JetBrains Plugin Repository,您必须先使用您的个人JetBrains帐户登录。
如果计划将插件发布到除 JetBrains Plugin Repository 以外的仓库中,请参阅 Publishing to Custom Plugin Repositories 的文档。