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

时间:2018-01-06 14:36:46

标签: intellij-idea intellij-plugin

enter image description here

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

但是我想根据需要标记文件。例如,我将单击该颜色通知并将该文件标记为绿色或黄色。

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

我知道有很多intellij插件创建者,但我仍会试试运气。

从我的调查中有FileColorManager,ProjectView,UIManager等,但我无法找到哪一个负责这些颜色处理的变化......

1 个答案:

答案 0 :(得分:3)

只是一个猜测。您是否尝试过实施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) {

  }
}

img