Agent Skills
› DetachHead/rebased
› actions
actions
GitHub提供 IntelliJ IDEA 插件中 AnAction 的实现与注册指南,涵盖最佳实践、配置文件规范及代码示例。
Trigger Scenarios
实现 IntelliJ Action
配置 plugin.xml action
IntelliJ 插件开发
Install
npx skills add DetachHead/rebased --skill actions -g -y
SKILL.md
Frontmatter
{
"name": "actions",
"description": "Implement or change IntelliJ `AnAction` actions and registrations."
}
Actions
Guidelines for implementing IntelliJ actions (AnAction).
Documentation
- Action System - Architecture and usage of the action system
Best Practices
- NEVER instantiate Presentation in action constructors - Use no-argument constructors
- Define text, description, and icon in plugin.xml - Not in constructor parameters
- Use AnActionEvent#getCoroutineScope for launching suspending computations - actionPerformed runs synchronously with event invocation and may freeze the IDE.
- Follow the convention:
- Set the
idattribute for the action in plugin.xml - Optionally set the
iconattribute if an icon is needed - Set text and description in the message bundle (e.g., GitBundle.properties):
action.<action-id>.text=Translated Action Textaction.<action-id>.description=Translated Action Description
- Set the
Good example:
Kotlin:
class MyAction : AnAction()
plugin.xml:
<action id="My.Action.Id"
class="my.package.MyAction"
icon="my.package.MyIcons.ICON"/>
Bundle.properties:
action.My.Action.Id.text=My Action
action.My.Action.Id.description=Description of my action
Version History
- 2af32ff Current 2026-09-22 01:04
- 1f8708d 2026-08-16 15:38


