mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-06 08:07:49 +00:00
5f6e2a9c85d486c82a5cfb1ff32930f9d09ac0da
Opening another project in the same window left the previous project's state in module-level stores: Amend and the commit message carried over, debug sessions kept running, and Git Log, usages, hierarchy, inspection, HTTP client, recent locations, navigation history and notifications still showed the old project. Reset each of them on a project root change, stop the old debug sessions, ask about unsaved changes before leaving a project, close the settings window (it would apply to the new project) and end the indexing task when a scan is cancelled.
An open-source desktop IDE in the spirit of IntelliJ IDEA, built with Rust and Tauri.
Not affiliated with JetBrains. IntelliJ IDEA is a trademark of JetBrains s.r.o.
Warning
OpenIDEA is early-stage software (0.1). Expect rough edges and breaking changes.
Features
- Editor — CodeMirror 6 with tree-sitter highlighting, folding, multi-caret, live templates and an IDEA-style keymap.
- Code insight — LSP-backed completion, navigation, find usages, rename and refactorings, diagnostics and inspections, plus a fast project-wide index.
- Search — Search Everywhere, Go to File / Symbol / Action, Find in Files.
- Run & debug — run configurations, DAP debugging, test runner, coverage and a profiler.
- Build tools — Maven and Gradle project sync and builds.
- Version control — Git (status, diff, commit, history, branches, blame) and GitHub pull requests.
- Tools — integrated terminal, database client (PostgreSQL, MySQL, SQLite, SSH tunnels), HTTP client, Docker, scratch files and TODO view.
- Languages — 60+ languages via declarative definitions in
languages/: detection, comments, language server and debug adapter in one TOML file each. - Plugins — sandboxed WebAssembly plugins against the
wit/plugin.witinterface; seeplugins/for examples.
Building from source
Requirements: Rust 1.96+, Node.js 22+, pnpm, and the Tauri prerequisites for your platform.
pnpm install
pnpm tauri dev # run the app in development mode
pnpm tauri build # produce a release bundle
Language servers and debug adapters are not bundled; OpenIDEA finds them on
PATH or offers to download them on first use.
Development
pnpm typecheck && pnpm lint && pnpm test # frontend
cargo nextest run --workspace # backend tests
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all
pnpm gen:bindings # regenerate src/bindings.ts after IPC changes
pnpm perf && pnpm perf:rust # performance checks vs perf/budgets.json
Project layout:
| Path | Contents |
|---|---|
crates/ide-* |
Backend crates, one domain each (VFS, index, LSP, DAP, VCS, run, …) |
src-tauri/ |
Tauri app: state and thin IPC command adapters |
src/ |
React UI: platform/ (IPC, actions, keymaps), workbench/, ui/ (design system), features/ |
languages/ |
Language definitions |
plugins/, wit/ |
Example plugins and the plugin interface |
License
Apache License 2.0; see NOTICE. Bundled third-party assets,
including icons from the IntelliJ Platform, are listed in
THIRD_PARTY_LICENSES.md.
Description
The IDE you know, rebuilt in Rust. IntelliJ IDEA–style keymap, tool windows and search-everywhere in a fast native app: editor, code insight, debugger, Git, terminal, database and HTTP clients for 60+ languages.
code-editorcross-platformdapdatabase-clientdebuggerdesktop-appdeveloper-toolsgithttp-clientideintellijlsprusttauriterminal
Readme
Apache-2.0
60 MiB
Languages
TypeScript
56.4%
Rust
39.9%
CSS
2.2%
Python
0.5%
Java
0.4%
Other
0.4%