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의 새로운 기능