Facet for Custom Language SDK in Rubymine

Looking at the code for intellij-community, it appears that there is a form of the Python plugin for "minor" IDEs.  Is this the same as "small" IDEs, and so includes Rubymine?  Here's the lines where I think it's showing a Python SDK being configurable inside the facet:

https://github.com/JetBrains/intellij-community/blob/e46f536ca2d7acb4afcdd4f533f8eb18e1ec616c/python/pluginMinor/com/jetbrains/python/minor/facet/PythonFacetType.java#L93-L105


If that is true, does that mean that I can make a Facet extension for Elixir and have it allow selecting and Elixir SDK in a Ruby Module created by Rubymine?  Currently, small IDEs don't have true SDK support for my Elixir plugin because I have to keep track of the the SDK home in project configuration instead of using SDK selector.

2 comments
Comment actions Permalink

Yes, SDK editor is located in Project Structure dialog which is available in IntelliJ IDEA only. However adding a facet isn't enough to fix this because facet editors are also located in Project Structure dialog. You also need to register a projectConfigurable extension which will be shown in Settings dialog, look at PyPluginSdkModuleConfigurable for example.

0
Comment actions Permalink

If Facets aren't viewable outside the Project Structure dialog and you need the projectConfigurable anyway in Rubymine, why does https://upsource.jetbrains.com/idea-ce/file/idea-ce-e46f536ca2d7acb4afcdd4f533f8eb18e1ec616c/python/pluginMinor/META-INF/python-community-plugin-minor.xml still contain a facetType extension?  What does having the data in a facetType extension instead of a PersistentStateComponent get me?  Is it because Facets are enumerable in one place, so it's easier for other plugins to search for them?

0

Please sign in to leave a comment.