How to make a plugin incompatible with Gateway Client

Hello there,

When using Gateway it’s possible to install a plugin for either client or host which confuses users. Our plugin should only work on host. Is there a way to make a plugin <incompatible-with/> only the Client?

Gateway supports only a limited set of modules. So, you may want to add an unsupported module in order to make your plugin incompatible with Gateway. Per example <depends>com.intellij.modules.lang</depends> (in your plugin.xml). I think all regular IDEs have this module, except Gateway.

1 Like

I’ve had a similar question for a while and stumbled across this the other day - I haven’t had time to give this a try yet, so this might not work the way I’m hoping/thinking. It might just signal to gradle for local execution of IDE in sandbox, and not actually modify plugin.xml or anything for signaling to marketplace for where to install after publication.

Either way, if you have the chance to give this a try, please share your findings. :folded_hands:

When you enable the internal mode, you get a new icon in the status bar: Enter Split Mode.

It simulates the fact you’re in a Backend/Client mode. This is helpful when testing/debugging your code without launching a real JetBrains Client (Gateway, Gitpod…).
The splitModeTarget (and the other splitMode* properties) is a convenient way to enable or disable this Backend/Client mode when using a sandboxed IDE.

Ah gotcha, so it wouldn’t be useful here per se, because it does not let the plug-in signal to the IDE (only gradle for sandbox environment). Bummer, but good to know regardless. Thank you!