plugin.xml ファイルに登録されており、そのコンストラクターで com.intellij.openapi.actionSystem.Presentation オブジェクトをインスタンス化しているアクションを報告します。
パラメーターを持つ AnAction の任意のコンストラクターは Presentation オブジェクトをインスタンス化します。 しかし、コンストラクターで Presentation オブジェクトをインスタンス化すると、不必要な可能性があるリソースの割り当てが発生する可能性があります。 テキスト、説明、またはアイコンを格納する Presentation のインスタンスを作成する代わりに、AnAction の引数がないコンストラクターとその他の基底クラスを活用して plugin.xml でテキスト、説明、およびアイコンを設定する規則に従う方が効率的です。 IDE はアクションがすでに UI に表示されている場合にのみ、テキスト、説明、およびアイコンをロードします。
テキスト、説明、およびアイコンの設定規則は次のとおりです。
plugin.xml ファイルでアクションの id 属性を設定します。
icon 属性を設定します。
<actions> でオーバーライドされる可能性があります)。
action.<action-id>.text=翻訳されたアクションのテキストaction.<action-id>.description=翻訳されたアクションの説明悪い例:
// NewKotlinFileAction.kt
internal class NewKotlinFileAction : AnAction(
KotlinBundle.message("action.new.file.text"),
KotlinBundle.message("action.new.file.description"),
KotlinIcons.FILE
)
<action
class="org.jetbrains.kotlin.idea.actions.NewKotlinFileAction"
</action>
良い例:
// NewKotlinFileAction.kt
internal class NewKotlinFileAction : AnAction()
<action
id="Kotlin.NewFile"
class="org.jetbrains.kotlin.idea.actions.NewKotlinFileAction"
icon="org.jetbrains.kotlin.idea.KotlinIcons.FILE">
</action>
# KotlinBundle.properties
action.Kotlin.NewFile.text=Kotlin クラス/ファイル
action.Kotlin.NewFile.description=新規 Kotlin クラスまたはファイルを作成します
2023.2 の新機能です