Language servers answer textDocument/references (and rename, incoming calls) only from the files they analyse: their configured scope (Pyright's `include`, a tsconfig, a compilation database) plus the open documents. Usages in other project files were silently missing until the file was opened. Reference searches now also find the project files of the server's languages that mention the symbol's name as a whole word (honouring .gitignore, excluded roots and ignored names; at most 300 files; off the UI thread and cancellable). Those the first answer did not cover and the user does not have open are opened on the server from disk, the request is repeated, and they are closed again. Diagnostics the server publishes for these files (including shortly after the close) never reach Problems, and a user opening such a file mid-search takes it over cleanly. An empty answer while the server reports progress is retried once indexing ends; results that may still be incomplete (server still indexing, or more matching files than searched) carry a note in Find Usages and Show Usages. lsp_references takes a request id so searches are cancelled when their tab closes, a new popup search starts, or the project changes. Find Usages, Show Usages (and Cmd-click on a declaration), usage counts, Safe Delete of a symbol, Rename and incoming Call Hierarchy share the path. File-level Safe Delete scans every symbol of the deleted files and keeps to the server's scope. Fixes #83 Claude-Session: https://claude.ai/code/session_01VUYsdXA2nkF5v6zsC93dpn
The IDE you know, rebuilt in Rust.
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.
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.
Build
pnpm install
pnpm tauri dev
Rust 1.96, Node 22, pnpm and the Tauri prerequisites.
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.