报告在 plugin.xml
文件中注册的任何操作,并在其构造函数中实例化 com.intellij.openapi.actionSystem.Presentation
对象。
任何带形参的 AnAction
的构造函数都会实例化 Presentation
对象。 但是,在构造函数中实例化 Presentation
对象会导致分配资源,这可能并非必要。 比起创建存储文本、描述或图标的 Presentation
实例,更有效的方式是利用 AnAction
和其他基类的无实参构造函数,并遵循在 plugin.xml
中设置文本、描述和图标的约定。 只有当操作实际显示在 UI 中时,IDE 才会加载文本、描述和图标。
设置文本、说明和图标的约定如下:
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 最新变化