From 8b7c2d7d132c34cda84c05c811cd30ded34aefa0 Mon Sep 17 00:00:00 2001 From: Karol Lewandowski Date: Thu, 9 Nov 2023 11:17:46 +0100 Subject: [PATCH] basic_action_system.md: Add information about executing actions programmatically --- topics/basics/basic_action_system.md | 10 ++++++++++ topics/intro/content_updates.md | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/topics/basics/basic_action_system.md b/topics/basics/basic_action_system.md index 7c06fdee5..63c8b8cac 100644 --- a/topics/basics/basic_action_system.md +++ b/topics/basics/basic_action_system.md @@ -427,3 +427,13 @@ Use [`BackAction`](%gh-ic%/platform/platform-api/src/com/intellij/ui/navigation/ For actions registered at runtime (e.g., in a tool window toolbar), add an [``](plugin_configuration_file.md#idea-plugin__actions__action) entry with [`EmptyAction`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/actionSystem/EmptyAction.java) to "reserve" Action ID, so they become visible in Settings | Keymap. + +## Executing Actions Programmatically + +Sometimes, it is required to execute actions programmatically, e.g., executing an action implementing logic we need and the implementation is out of our control. +Executing actions can be achieved with [`ActionUtils.invokeAction()`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ActionUtil.java). + +> Executing actions programmatically should be avoided whenever possible. +> If an action executed programmatically is under your control, extract its logic to a service or util and call it directly. +> +{style="warning"} diff --git a/topics/intro/content_updates.md b/topics/intro/content_updates.md index 303efacf0..5994e3487 100644 --- a/topics/intro/content_updates.md +++ b/topics/intro/content_updates.md @@ -12,6 +12,13 @@ See [GitHub Changelog](https://github.com/JetBrains/intellij-sdk-docs/commits/ma ## 2023 +### November +{#november-23} + +Minor Changes and Additions +: +- Add information about [executing actions programmatically](basic_action_system.md#executing-actions-programmatically). + ### October {#october-23}