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) {
}
}
如图所示。颜色通知是彩色的。这是通过创建范围并在该范围内添加该文件来完成的。
不过我想根据自己的需要来标记文件。例如,我将单击该颜色通知并将该文件标记为绿色或黄色。
我只需要知道如何访问此项目视图并以编程方式更改背景颜色。
我知道没有那么多 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) {
}
}