我正在尝试为IntelliJ开发的工具窗口插件添加一个图标。我按照发现here的说明进行操作,但IntelliJ报告了以下异常:
ERROR - tellij.openapi.util.IconLoader - Icon cannot be found in 'icons/icon.png', aClass='interface icons.PluginIcons'
我的项目结构是
...
- resources
--- icons
----- icon.png
----- icon@2x.png
----- icon@2x_dark.png
----- icon_dark.png
- src
--- com
----- micbakos
------ LocationToolWindow.java
--- icons
---- PluginIcons.java
...
PluginIcons
界面:
package icons;
import com.intellij.openapi.util.IconLoader;
import javax.swing.*;
public interface PluginIcons {
Icon EDIT_LOCATION_ICON = IconLoader.getIcon("icons/icon.png");
}
和plugin.xml
<extensions defaultExtensionNs="com.intellij">
<toolWindow
id="Location Tool"
anchor="right"
factoryClass="com.micbakos.LocationToolWindow"
icon="PluginIcons.EDIT_LOCATION_ICON"/>
</extensions>
提示
编辑器似乎识别了该图标,并在代码Icon EDIT_LOCATION_ICON = IconLoader.getIcon("icons/icon.png");
的左侧窗格中显示行号,并且当我{icon="PluginIcons.EDIT_LOCATION_ICON"
时,plugins.xml PluginIcons.java
会跳转到⌘+click
{1}},所以一切似乎都正确连接。
答案 0 :(得分:0)
当Meo指出要查找导出的jar时,我查找了out文件夹。 IntelliJ似乎在PluginIcons.class
包中包装了icons
。
所以我将PluginIcons.java
的代码更改为这样
Icon EDIT_LOCATION_ICON = IconLoader.getIcon("icon.png");
。
现在,当我运行代码时会出现插件的图标,但是当我点击"icon.png"
时代码跳转不起作用。 _(ツ)_ /¯