报告在 plugin.xml 文件中注册的任何操作,并在其构造函数中初始化它们的表示(文本、描述和/或图标)。
这种做法不可取,因为它会导致加载文本、描述和/或图标,并强制创建可能并不总是必要的操作表示。 更有效的方式是利用 AnAction 和其他基类的无实参构造函数,并遵循设置文本、描述和图标的约定。 只有当操作实际显示在某个地方时,IntelliJ 平台才会加载文本、描述和图标。
设置文本、说明和图标的约定如下:
plugin.xml 文件中的操作设置 id 特性。
icon 特性。
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
)
// plugin.xml
<action
class="org.jetbrains.kotlin.idea.actions.NewKotlinFileAction"
</action>
正确示例:
// NewKotlinFileAction.kt
internal class NewKotlinFileAction : AnAction()
// plugin.xml
<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 最新变化