Intellij插件找不到图标路径

时间:2018-03-03 18:42:07

标签: intellij-idea intellij-plugin

我正在尝试为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}},所以一切似乎都正确连接。

1 个答案:

答案 0 :(得分:0)

Meo指出要查找导出的jar时,我查找了out文件夹。 IntelliJ似乎在PluginIcons.class包中包装了icons

所以我将PluginIcons.java的代码更改为这样 Icon EDIT_LOCATION_ICON = IconLoader.getIcon("icon.png");

现在,当我运行代码时会出现插件的图标,但是当我点击"icon.png"时代码跳转不起作用。 _(ツ)_ /¯