IntelliJ Platform

Plugins

Modern development has shifted one old IDE paradigm significantly: Now, not only is it possible that a project is not hosted on the same physical or remote machine as your IDE instance, it could even be that both share the same host but are separated from one another inside isolated environments. If you are a plugin author, the practical implication is probably not abstract at all. Your plugin downloads a CLI tool, starts it, passes project paths to it, receives environment variables from it, or opens a TCP connection to something it starts. It works locally. Then a user opens the same project in WSL or a Dev Container, and suddenly the words “local path”, “current OS”, “localhost“, and “start a process” all need a little more precision.

First, a bit of context. EelApi is much easier to use once the reason for its existence is clear. If you are already in the middle of making a plugin work with WSL or Dev Containers and want the API details, jump to the Starting from a project section of this guide.

Why this API exists