Intellij 插件 - 如何为项目视图文件背景着色?

Intellij Plugin - How to color project view files background?

如图所示。颜色通知是彩色的。这是通过创建范围并在该范围内添加该文件来完成的。

不过我想根据自己的需要来标记文件。例如,我将单击该颜色通知并将该文件标记为绿色或黄色。

我只需要知道如何访问此项目视图并以编程方式更改背景颜色。

我知道没有那么多 intellij 插件创建者,但我还是会试试运气。

根据我的调查,有 FileColorManager、ProjectView、UIManager 等,但我找不到哪一个负责这些颜色处理更改...

只是猜测。您是否尝试过实施 com.intellij.ide.projectView.ProjectViewNodeDecorator 扩展点?看起来这样可以让你装饰项目视图中的节点。

我们发现,设置背景颜色并不容易。但是您可以在要突出显示的每个节点的末尾添加一个字符串(如复选标记)。这是一个例子:

public class ProvectViewColorer implements ProjectViewNodeDecorator {

  @Override
  public void decorate(ProjectViewNode node, PresentationData data) {
    final VirtualFile virtualFile = node.getVirtualFile();
    if (virtualFile != null && virtualFile.getFileType().equals(MathematicaFileType.INSTANCE)) {
      data.setLocationString("✓");
    }
  }

  @Override
  public void decorate(PackageDependenciesNode node, ColoredTreeCellRenderer cellRenderer) {

  }
}