The Elide plugin registers Elide as an IntelliJ IDEA external system, alongside Gradle and Maven. A project with an
elide.pkl manifest imports directly: source sets become modules, installed dependencies become IDE libraries, and
every elide command runs from the IDE with completion, console output, and JDWP support.
Requirements
- IntelliJ IDEA 2025.1 or newer (builds
251–262.*) - The Elide CLI installed (see Installation), or a distribution directory to point the plugin at
- A JDK registered in the IDE, for JVM projects
- Optionally the Pkl plugin, which unlocks the manifest editor features below
Install the plugin
The plugin ships from Elide’s own plugin repository. In Settings → Plugins → ⚙ → Manage Plugin Repositories, add:
https://plugins.elide.dev/intellijThen install Elide from the marketplace tab and restart the IDE when prompted.
Import a project
A directory is an Elide project when it holds an elide.pkl manifest (see Projects).
- Opening a project directory links and syncs every base directory that contains a manifest, in the background.
- An already-open IDE project that gains a manifest gets a prompt to link it.
- Editing the manifest, or a change to the lockfile under
.dev/, marks the project stale and the IDE offers a reload.
The imported model gives you:
- One module per manifest source set, with content and source roots expanded from the manifest’s source globs, plus resource roots for JVM source sets that declare resources.
- Test source sets depending on the main source sets at test scope; source sets of an unrecognized type are excluded.
- Libraries named
group:artifact:version, taken from.dev/dependencies/m2or the manifest’sdependencies.maven.localRepository. Sibling sources and javadoc JARs are attached automatically, so quick documentation and decompile-free navigation work without extra downloads. - A project and module SDK picked from
jvm.target, thenjvm.java.release, thenjvm.java.source, or the lowest compatible installed JDK. With no JVM target declared, the newest installed JDK is used. - A Kotlin facet carrying the manifest’s
kotlinAPI/language versions, and its compiler arguments.
The Elide tool window lists the linked projects and their module structure, with the reload actions that keep them in sync.
Run
The plugin contributes the Elide run configuration type, holding a working directory and a single Elide command line. Anything the CLI accepts is a valid configuration:
run
test -t 'MyTest'
build --no-cache
serve --port 8080
run app.js -- --flag-for-the-programThe command-line field completes as you type, scoped to the linked project:
- entrypoints declared in the manifest
- commands —
run,install,build,test, etc. - positional arguments where a command takes them
- global and per-command flags, with short forms and enumerated values
For one-off commands, Run Anything (double-⌃, or double-Ctrl) accepts elide … with the same completions and runs
in the linked project’s directory.
Run from the gutter
Run and debug icons appear directly on:
- The
jvm.mainproperty, eachentrypointelement, and eachscriptskey inelide.pkl(needs the Pkl plugin); - Kotlin and Java
mainfunctions whose class is an entrypoint of the linked project; - JUnit test classes and methods. See JVM Testing for how the tests are executed by Elide.
Debug
Pressing Debug runs the configuration’s command line with --debugger added after run, then attaches IDEA’s JVM
debugger to the JDWP server the CLI starts. Breakpoints, stepping, watches, and expression evaluation behave as they do
for any JVM process.
Currently only configurations for the
runcommand (such as main class entrypoints) support the IDE’s “Debug” action, debugging test configurations will be available soon.
Edit the manifest
With the Pkl plugin installed, elide.pkl gains:
- Navigation and class-name completion for
jvm { main = "..." } - Path completion and navigation for
entrypointfile references - Inspections: Unresolved JVM Entrypoint (
Cannot resolve class X) and Invalid JVM Entrypoint (Class X has no 'main' method)
We recommend using Elide’s fork of the Pkl plugin for IntelliJ IDEA, available from the same plugin repository as the Elide plugin itself. This version of the Pkl plugin enables additional IDE integrations that improve the project manifest authoring experience.
Choose an Elide distribution
Per linked project, under Settings → Build, Execution, Deployment → Build Tools → Elide:
- Elide distribution — Auto-detect (the default), or Custom path with a directory chooser for a distribution root. Changing this resyncs the project.
Auto-detection honors $ELIDE_HOME first, then looks for default installation paths (in the order below):
| Platform | Candidates, in order |
|---|---|
| Unix | $XDG_DATA_HOME/elide, ~/.local/share/elide, /opt/elide/current, ~/.elide |
| Windows | %LOCALAPPDATA%\elide, %ProgramFiles%\Elide, %USERPROFILE%\.local\share\elide, %USERPROFILE%\.elide |
Run configurations executed against an IntelliJ run target carry their own Elide Home field, so a target can use a different distribution than the project default.
Related
- Connect an IDE for editor-agnostic LSP and MCP endpoints
- VS Code Extension for the Visual Studio Code equivalent
- Projects for the manifest itself
- Build Tasks for what
elide buildruns