原文链接:
http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/creating_an_action.html
你的插件可以通过向菜单和工具栏添加新项来自定义IntelliJ平台的UI。IntelliJ平台提供了AnAction类,每当您选择菜单项或单击工具栏按钮时,其actionPerformed
方法就会被调用。
要在IntelliJ平台中创建自定义操作,你需要执行两个基本步骤:
- 在你的插件中,定义一个操作并将它添加到菜单和工具栏上;
- 注册你的操作。
本节概述了上述步骤。更多详情和示例参阅IntelliJ平台操作体系。
定义操作
操作类是从AnAction
类派生的类。要在你的插件中定义一个操作,需要创建一个从AnAction
类派生的Java类。在这个类中重写actionPerformed
方法,当菜单项或工具栏按钮被选中时,这个方法就会被调用。
为了阐明这个过程,查看以下代码段,其定义了一个从AnAction
类派生的TextBoxes
类:
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());
}
}
注意你可以定义一系列从AnAction
类派生的类,这样你的插件就定义了一个操作体系。
注册操作
一旦你定义了一个操作或一个操作体系,你必须注册它们以指定与其相关联的菜单项或工具栏按钮。你可以使用以下方式注册操作:
- 在
plugin.xml
文件中的<action>
段中注册操作; - 从Java代码中注册操作。
本节提供了一些注册操作的示例。 更多详情参阅IntelliJ平台操作体系。
在plugin.xml文件中注册操作
要注册操作,需要对IDEA项目的plugin.xml文件的<actions>
部分进行相应的更改。以下plugin.xml文件的代码在主菜单上添加了一个菜单组。点击它你将可以看到Text Boxes和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>
这部分代码仅演示了部分你可以在<actions>
段中使用的元素。想要了解所有的元素可以参阅IntelliJ平台操作体系。
在Java代码中注册操作
你也可以从Java代码注册操作。 从Java代码注册操作的更多信息和示例可以参阅IntelliJ平台操作体系。
快速创建操作
IntelliJ平台提供了新建操作向导,其提供了创建操作的简便方法。该向导可以帮助您声明操作类,并自动对plugin.xml文件的<actions>
部分进行适当的更改。
注意:使用此向导你仅可以将新操作添加到主菜单或工具栏上的现有操作组。 如果你想要创建新的操作组并向此组添加操作,请参照前述方法进行操作。
使用新建操作向导注册和创建操作
- 在你的项目中,在目标包的上下文菜单上点击新建或按Alt + Insert。
- 在新建菜单上点击操作。
- 在打开的新建操作页面,填写以下字段然后点击确定:
操作ID: 输入操作的唯一ID。推荐格式:PluginName.ID
类名: 输入创建的操作的类名。
名称: 输入操作相关的菜单项名称或工具栏按钮提示。
描述: 可选,操作的描述。当焦点在操作上时,描述回显示在IDEA的状态栏上。
在添加到组区域的组、操作和Anchor,指定新建操作添加到的操作组和相对于现有操作的位置。
在快捷键区域指定操作的快捷键(可选)。
IntelliJ平台将生成具有指定类名的.java
文件,在plugin.xml文件中注册新建的操作,向模块树视图中添加一个节点,并在编辑器中打开创建的操作类文件。
网友评论