mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-27 16:57:49 +08:00
source: action group with one action and comments
This commit is contained in:
parent
5300e85b5c
commit
fe14eeeb09
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
<!-- Allows a plugin to integrate its help system (in JavaHelp format) with the IDEA help system. The "file" attribute specifies the name of the JAR file
|
<!-- Allows a plugin to integrate its help system (in JavaHelp format) with the IDEA help system. The "file" attribute specifies the name of the JAR file
|
||||||
in the "help" subdirectory of the plugin directory. The "path" attribute specifies the name of the helpset file within the JAR file.-->
|
in the "help" subdirectory of the plugin directory. The "path" attribute specifies the name of the helpset file within the JAR file.-->
|
||||||
<helpset file="plugin-help.jar" path="/Help.hs" />
|
<helpset file="plugin-help.jar" path="/Help.hs"/>
|
||||||
|
|
||||||
<!-- Minimum and maximum build of IDEA compatible with the plugin -->
|
<!-- Minimum and maximum build of IDEA compatible with the plugin -->
|
||||||
<idea-version since-build="139.000" until-build="999"/>
|
<idea-version since-build="139.000" until-build="999"/>
|
||||||
@ -50,7 +50,7 @@
|
|||||||
<!-- If the "workspace" option is set "true", the component saves its state to the .iws file
|
<!-- If the "workspace" option is set "true", the component saves its state to the .iws file
|
||||||
instead of the .ipr file. Note that the <option> element is used only if the component implements the JDOMExternalizable interface. Otherwise, the use of the <option> element takes no effect.-->
|
instead of the .ipr file. Note that the <option> element is used only if the component implements the JDOMExternalizable interface. Otherwise, the use of the <option> element takes no effect.-->
|
||||||
|
|
||||||
<option name="workspace" value="true" />
|
<option name="workspace" value="true"/>
|
||||||
<!-- If the "loadForDefaultProject" tag is present, the project component is instantiated also for the default project. -->
|
<!-- If the "loadForDefaultProject" tag is present, the project component is instantiated also for the default project. -->
|
||||||
<loadForDefaultProject/>
|
<loadForDefaultProject/>
|
||||||
</component>
|
</component>
|
||||||
@ -73,7 +73,8 @@
|
|||||||
The optional "use-shortcut-of" attribute specifies the ID of the action whose keyboard shortcut this action will use.
|
The optional "use-shortcut-of" attribute specifies the ID of the action whose keyboard shortcut this action will use.
|
||||||
The optional "description" attribute specifies the text which is displayed in the status bar when the action is focused.
|
The optional "description" attribute specifies the text which is displayed in the status bar when the action is focused.
|
||||||
The optional "icon" attribute specifies the icon which is displayed on the toolbar button or next to the menu item. -->
|
The optional "icon" attribute specifies the icon which is displayed on the toolbar button or next to the menu item. -->
|
||||||
<action id="PluginSample.DummyAction" class="org.jetbrains.plugins.sample.SimpleAction" text="Dummy Action" description="Illustrates how to plug an action in">
|
<action id="PluginSample.DummyAction" class="org.jetbrains.plugins.sample.SimpleAction" text="Dummy Action"
|
||||||
|
description="Illustrates how to plug an action in">
|
||||||
<!-- The <keyboard-shortcut> node specifies the keyboard shortcut for the action. An action can have several keyboard shortcuts.
|
<!-- The <keyboard-shortcut> node specifies the keyboard shortcut for the action. An action can have several keyboard shortcuts.
|
||||||
The mandatory "first-keystroke" attribute specifies the first keystroke of the action. The key strokes are specified according to the regular Swing rules.
|
The mandatory "first-keystroke" attribute specifies the first keystroke of the action. The key strokes are specified according to the regular Swing rules.
|
||||||
The optional "second-keystroke" attribute specifies the second keystroke of the action.
|
The optional "second-keystroke" attribute specifies the second keystroke of the action.
|
||||||
@ -96,6 +97,28 @@
|
|||||||
the current action is inserted. -->
|
the current action is inserted. -->
|
||||||
<add-to-group group-id="ToolsMenu" anchor="after"/>
|
<add-to-group group-id="ToolsMenu" anchor="after"/>
|
||||||
</action>
|
</action>
|
||||||
|
<!-- The <group> element defines an action group. <action>, <group> and <separator> elements defined within it are automatically included in the group.
|
||||||
|
The mandatory "id" attribute specifies an unique identifier for the action.
|
||||||
|
The optional "class" attribute specifies the full-qualified name of the class implementing the group. If not specified,
|
||||||
|
com.intellij.openapi.actionSystem.DefaultActionGroup is used.
|
||||||
|
The optional "text" attribute specifies the text of the group (text for the menu item showing the submenu).
|
||||||
|
The optional "description" attribute specifies the text which is displayed in the status bar when the group is focused.
|
||||||
|
The optional "icon" attribute specifies the icon which is displayed on the toolbar button or next to the group.
|
||||||
|
The optional "popup" attribute specifies how the group is presented in the menu. If a group has popup="true", actions in it
|
||||||
|
are placed in a submenu; for popup="false", actions are displayed as a section of the same menu delimited by separators. -->
|
||||||
|
<group class="org.jetbrains.plugins.sample.DummyActionGroup" id="DummyActionGroup" text="Action Group"
|
||||||
|
description="Illustration of an action group"
|
||||||
|
icon="icons/testgroup.png" popup="true">
|
||||||
|
<action id="PluginSample.GroupedAction" class="org.jetbrains.plugins.sample.GroupedAction"
|
||||||
|
text="Grouped Action" description="An action in the group"/>
|
||||||
|
<!-- The <separator> element defines a separator between actions. It can also have an <add-to-group> child element. -->
|
||||||
|
<separator/>
|
||||||
|
<group id="ActionSubGroup"/>
|
||||||
|
<!-- The <reference> element allows to add an existing action to the group. The mandatory "ref" attribute specifies the ID of the action to add. -->
|
||||||
|
<reference ref="EditorCopy"/>
|
||||||
|
<add-to-group group-id="MainMenu" relative-to-action="HelpMenu" anchor="before"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
</actions>
|
</actions>
|
||||||
|
|
||||||
<!-- Extension points defined by the plugin. Extension points are registered by a plugin so that other plugins can provide this plugin
|
<!-- Extension points defined by the plugin. Extension points are registered by a plugin so that other plugins can provide this plugin
|
||||||
@ -105,10 +128,10 @@
|
|||||||
<!--</extensionPoints>-->
|
<!--</extensionPoints>-->
|
||||||
|
|
||||||
<!-- Extensions which the plugin adds to extension points defined by the IDEA core or by other plugins. The "defaultExtensionNs " attribute must be set to the ID of the plugin defining the extension point,
|
<!-- Extensions which the plugin adds to extension points defined by the IDEA core or by other plugins. The "defaultExtensionNs " attribute must be set to the ID of the plugin defining the extension point,
|
||||||
or to "com.intellij" if the extension point is defined by the IDEA core. The name of the
|
or to "com.intellij" if the extension point is defined by the IDEA core. The name of the
|
||||||
tag within the <extensions> tag matches the name of the extension point, and the "implementation" class specifies the name of the
|
tag within the <extensions> tag matches the name of the extension point, and the "implementation" class specifies the name of the
|
||||||
class added to the extension point. -->
|
class added to the extension point. -->
|
||||||
<extensions >
|
<extensions>
|
||||||
<!--<testExtensionPoint implementation="com.foo.impl.MyExtensionImpl"/>-->
|
<!--<testExtensionPoint implementation="com.foo.impl.MyExtensionImpl"/>-->
|
||||||
</extensions>
|
</extensions>
|
||||||
</idea-plugin>
|
</idea-plugin>
|
@ -0,0 +1,17 @@
|
|||||||
|
package org.jetbrains.plugins.sample;
|
||||||
|
|
||||||
|
import com.intellij.openapi.actionSystem.ActionGroup;
|
||||||
|
import com.intellij.openapi.actionSystem.AnAction;
|
||||||
|
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Anna Bulenkova
|
||||||
|
*/
|
||||||
|
public class DummyActionGroup extends ActionGroup {
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public AnAction[] getChildren(AnActionEvent anActionEvent) {
|
||||||
|
return new GroupedAction[0];
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package org.jetbrains.plugins.sample;
|
||||||
|
|
||||||
|
import com.intellij.openapi.actionSystem.AnAction;
|
||||||
|
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Anna Bulenkova
|
||||||
|
*/
|
||||||
|
public class GroupedAction extends AnAction {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(@NotNull AnActionEvent anActionEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user