如何设置PsiFileNode或其子级的背景色

时间:2019-03-22 14:54:10

标签: java intellij-idea intellij-plugin

如何设置PsiFileNode或其子级的背景色? 我知道如何更改PsiFileNode fileName前景

    public class MarkedFile extends PsiFileNode {
    private Color backgroundColor;

    public MarkedFile(Project project, @NotNull PsiFile value, ViewSettings viewSettings, Color backgroundColor) {
        super(project, value, viewSettings);
        this.backgroundColor = backgroundColor;
    }

    public Color getBackgroundColor() {
        return backgroundColor;
    }

    public void setBackgroundColor(Color backgroundColor) {
        this.backgroundColor = backgroundColor;
    }

    @NotNull
    @Override
    protected PresentationData createPresentation() {
        PresentationData presentationData = super.createPresentation();
        presentationData.setForcedTextForeground(backgroundColor);
        return presentationData;
    }
  }

但是如何设置文件的背景颜色,就像我们在“目标”或“外” java目录中看到的那样

2 个答案:

答案 0 :(得分:1)

树视图中节点的背景颜色由文件颜色控制(“设置” |“外观和行为” |“文件颜色”)。无法覆盖单个节点的背景颜色。

答案 1 :(得分:0)

您可以通过扩展名EditorTabColorProvider.EP_NAME控制项目树和选项卡中文件的背景颜色。覆盖getProjectViewColor以突出显示项目树中的文件。