Ich bin ein Ideen-Plugin erstellen, die Quelldatei mit der Erweiterung ".java" erstellen muss. Ich habe eine Dateivorlage erstellt und in einer Implementierung der Klasse JavaCreateTemplateInPackageAction<PsiElement>
verwendet. Im Konstruktor der oben genannten Klasse rief ich den Konstruktor der Superklasse mit einem Symbol wie dieseIntelliJ IDEA-Plugin: Zuordnen einer Quelle Psi-Datei mit einem Symbol in der Paketstruktur
protected JavaCreateTemplateInPackageAction(String text, String description, Icon icon, boolean inSourceOnly) {
super(text, description, icon, inSourceOnly ? JavaModuleSourceRootTypes.SOURCES : null);
}
Schließlich registrierte ich die Umsetzung in plugin.xml als Aktion (die ich mit IconLoader.getIcon
vor geladen). Der Code funktioniert wie ein Zauber, um die Quelldatei mit einer gegebenen Vorlage zu erstellen, aber das Problem ist in der Paketstruktur, es zeigt nicht das angegebene benutzerdefinierte Symbol, stattdessen zeigt es das Standardsymbol für Java-Klassen (Buchstabe 'c'). Das angegebene Symbol wird jedoch im neuen Menü angezeigt, wenn Sie mit der rechten Maustaste auf das Quellpaket klicken, um eine Quelldatei zu erstellen. Kann mir bitte jemand helfen? Vielen Dank.
PS: Ich habe versucht, die Dateierweiterung etwas anderes als .java zu ändern, und es immer noch nicht das erwartete Symbol zeigen, sondern zeigt es das allgemeine Symbol für Java (letter ‚j‘ Symbol)