vik*_*eve 4 java intellij-idea intellij-plugin
我怎样才能覆盖默认的服务实现,比如说,FrameTitleBuilder
在我的 intellij 插件中?
我正在使用 IntelliJ 12.1.4,我已经为构建插件正确设置了环境。
现在我尝试在一个新的插件项目中将它添加到我的 plugin.xml 中:
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceInterface="com.intellij.openapi.wm.impl.FrameTitleBuilder"
serviceImplementation="com.my.package.MyFrameTitleBuilder"
overrides="com.intellij.openapi.wm.impl.FrameTitleBuilder"
/>
</extensions>
Run Code Online (Sandbox Code Playgroud)
但是它失败了:
org.picocontainer.defaults.DuplicateComponentKeyRegistrationException: Key com.intellij.openapi.wm.impl.FrameTitleBuilder duplicated
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供一些提示吗?
非常感谢您提前!
“覆盖”属性是一个布尔值(无论如何在 IntelliJ 13 中),将其设置为 true 并且旧的实现将首先被删除
<extensions defaultExtensionNs="com.intellij">
<applicationService
serviceInterface="com.intellij.openapi.wm.impl.FrameTitleBuilder"
serviceImplementation="com.my.package.MyFrameTitleBuilder"
overrides="true" />
</extensions>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
399 次 |
最近记录: |