actions
JetBrains/MPS/.agents/skills/actions/SKILL.md
Guidelines for implementing IntelliJ actions (AnAction). Use those rules when you need to create or change an action in the intellij platform.
Skill1.7k starsChanged 5 days ago
---
name: actions
description: Guidelines for implementing IntelliJ actions (AnAction). Use those rules when you need to create or change an action in the intellij platform.
---
# Actions
Guidelines for implementing IntelliJ actions (`AnAction`).
## Documentation
- [Action System](../../../../docs/IntelliJ-Platform/4_man/Action-System.md) - 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
- **Follow the convention:**
1. Set the `id` attribute for the action in plugin.xml
2. Optionally set the `icon` attribute if an icon is needed
3. Set text and description in the message bundle (e.g., GitBundle.properties):
- `action.<action-id>.text=Translated Action Text`
- `action.<action-id>.description=Translated Action Description`
**Good example:**
Kotlin:
```kotlin
class MyAction : AnAction()
```
plugin.xml:
```xml
<action id="My.Action.Id"
class="my.package.MyAction"
icon="my.package.MyIcons.ICON"/>
```
Bundle.properties:
```properties
action.My.Action.Id.text=My Action
action.My.Action.Id.description=Description of my action
```
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

