About this project
Codium::Blocks is a native IDE prototype designed for multi-language development, explicitly avoiding Electron dependencies. Built on a C++/wxWidgets core, it aims to provide a lightweight yet extensible environment for Windows, macOS, and Linux.
Key architectural components include:
- **Native Core**: A C++ application using wxWidgets for UI and document management, featuring syntax highlighting for C/C++, Python, Rust, Go, Java, JavaScript, TypeScript, JSON, HTML, CSS, Markdown, YAML, and CMake.
- **Extension Host**: An optional, out-of-process Node.js host that implements a subset of the VS Code extension API (commands, window, workspace, languages, etc.). It supports loading CommonJS extensions via `.vsix` packages with SHA-256 verification.
- **Language Server Protocol (LSP)**: Integrated LSP client supporting initialization, synchronization, hover, completion, semantic tokens, definitions, references, symbols, rename, and code actions. It includes a versioned matrix for testing against real servers like clangd, rust-analyzer, gopls, and pyright.
- **Debug Adapter Protocol (DAP)**: A native DAP client for debugging, supporting breakpoints, stack traces, variables, and adapters like GDB, LLDB-DAP, and OpenDebugAD7.
- **Code::Blocks Integration**: A bridge to the Code::Blocks SDK for discovering plugins, importing `.cbp` projects, and optionally running a separate host adapter for deeper integration.
- **Terminal**: An interactive native terminal with PTY/ConPTY backends, ANSI/VT sequence support, and scrollback.
- **Build System**: Automatic detection of CMake, Make, Cargo, and npm, with task runners for configure, build, and test operations.
The project is currently in a development snapshot state (v1.0.1), with a focus on stability and compatibility. It does not claim full VS Code or Code::Blocks compatibility but provides a layered approach to extensibility and tooling integration.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.