My plugin for XSD files isn't recommended because the file type is already registered
I created a visual editor for XSD files as a plugin for the IntelliJ platform. Lately I registered a file type so my plugin would be recommended. I did it by adding this to my plugin.xml:
<fileType
name="XSD"
implementationClass="com.fluxparticle.xsdvisualizer.XsdFileType"
fieldName="INSTANCE"
extensions="xsd"/>
And this is the file type implementation:
public class XsdFileType extends LanguageFileType {
public static final XsdFileType INSTANCE = new XsdFileType();
private XsdFileType() {
super(XMLLanguage.INSTANCE, true);
}
@Override
public @NonNls @NotNull String getName() {
return "XSD";
}
@Override
public @Label @NotNull String getDescription() {
return "XML Schema Design";
}
@Override
public @NlsSafe @NotNull String getDefaultExtension() {
return "xsd";
}
@Override
public @Nullable Icon getIcon() {
return AllIcons.FileTypes.Xml;
}
}
As you can see I registered my file type as a secondary implementation for XML files.
Sadly my plugin doesn't get recommended by the platform. After a chat with the helpful marketing support and looking at the community edition source code, it seems the reason is that this file type is already registered by the build-in core plugin.
Is there something I can do to activate the recommendation? Or is it possible to change the behavior of IntelliJ so a third-party plugin for a build-in file type would still be recommended?
Please sign in to leave a comment.
We do not plan to change the current behavior w/r to bundled file types. You can show a notification from your plugin guiding the user to switch the builtin mapping to your plugin's custom filetype.
There is no need to change the file type mapping since I just create a second FileEditor so the user can switch back and forth using tabs on the bottom.
My hope was that the IDE would recommend my plugin for XSD files so that everyone who would benefit from using it, would know that it exists.
We do not plan to promote 3rd party plugins which extend existing functionality at the moment.
As I understand it beside file type there a four other ways to promote a plugin… module, facet, configuration and artifact type. I thought there was a way based on used maven artifacts but that doesn‘t seem to be the case.
If I extend my plugin to help configuring web services based on WSDL, I think facet would be the way to recommend my plugin, right?
But what exactly would I need to do?
Currently only these listed on this page are supported for 3rd party plugins https://plugins.jetbrains.com/docs/marketplace/intellij-plugin-recommendations.html
Actually "Dependency support" is missing in this. I activated it on my last upload but I am still waiting for approval.
Again, we currently do not support dependencySupport for 3rd party plugins.
The plugin „JPA Buddy“ uses dependencySupport and actually got recommended to me when I included the hibernate-core dependency.
It is not officially supported (yet). In this specific case, it was approved.
Okay… So what can I do to get my plugin in front of the right people? dependencySupport would be perfect. I couldn‘t find a good fit among the „official“ features.
That is all we currently offer, sorry.