* fix(java): run jdtls on a new-enough JDK behind Scoop shims and project JAVA_HOME Two ways jdtls ended up on a JDK too old for its bundles (#2227): - jdtls_min_java resolved the command's own path to derive the install root, but a Scoop shim (shims\jdtls.exe) hides the release layout, so the bundles' real requirement fell back to JDTLS_MIN_JAVA (21) while a 1.64 install needs JavaSE 25. Extract the resolve/follow-shim flow from launch_directly into jdtls::script_for and share it. - configure_jdtls only wrote JAVA_HOME when the config had none, so a project JAVA_HOME (JDK 8 for compilation) won over the chosen server_jdk. Probe the configured value: a home too old or incomplete for the server is replaced by server_jdk or any usable JDK; an unresolvable explicit value stays (the user's call). * test(java): compare JDK homes against canonical paths jdk_at reports the canonicalized home (macOS /var -> /private/var, Windows 8.3 short names), which configure_jdtls now writes to JAVA_HOME. Have test_jdk canonicalize too, and assert the runtimes/JAVA_HOME values against the Jdk.home fields instead of raw fixtures.path() joins, which also differ on Windows when the join arg uses forward slashes. * test(jdtls): compare JAVA_HOME against the canonical jdk home test_jdk now canonicalizes home, so the duplicate-versions assertion must compare against server.home rather than the raw tempdir join, which on Windows carries 8.3 short names.
The IDE you know, rebuilt in Rust.
Download · Benchmark · Plugins · Community
https://github.com/user-attachments/assets/234dd54c-1255-4b3a-b35c-533d78d737c0
OpenIDEA brings the IntelliJ IDEA way of working — its keymap, its tool windows, its search-everything habits — to a native app with a Rust core.
Editor, code insight, debugger, Git, terminal, database and HTTP clients,
for 60+ languages. Builds for macOS, Windows and Linux. On Windows, if you'd
rather skip the installer, each release also ships a portable zip — unpack it
and run openidea.exe.
Benchmark
Opening freqtrade (Python, ~770 files) with warm caches, median of 5 runs:
| OpenIDEA | IntelliJ IDEA 2026.2.3 | |
|---|---|---|
| Window with the project | 0.9 s | 3.1 s |
| Ready (CPU settled) | 1.1 s | 13.2 s |
| Memory (USS, all processes) | 169 MB | 2011 MB |
| CPU time until ready | 2.4 s | 47.9 s |
| Idle CPU | 4 % of a core | 7 % of a core |
| Quit | 0.3 s | 5.9 s |
A release build of OpenIDEA from main and IDEA with default settings and plugins, on
Windows 11, 32-core AMD, 62 GB RAM.
IDEA analyses Python more deeply, so "ready" doesn't mean the same work on
both sides. Both are measured from the outside, the same way: see
perf/compare to run it on your machine and projects.
Plugins
Plugins add actions, completion, quick fixes, tool windows, custom editors, themes, file icons and languages. They run as sandboxed WebAssembly components; themes, icon themes and languages need no code at all.
Install them from Settings › Plugins, or start your own with
openidea-plugin new — see Writing OpenIDEA plugins and
the official plugins. The plugin API is still a preview.
Community
-
Discord — questions, feedback and release news.
-
WeChat group — scan to join:
Contributors
License
Apache 2.0. Bundled third-party assets are listed in THIRD_PARTY_LICENSES.md.
Not affiliated with JetBrains. IntelliJ IDEA is a trademark of JetBrains s.r.o.