프로젝트 소개

Codium::Blocks는 다중 언어 개발을 위해 설계된 네이티브 IDE 프로토타입으로, Electron 의존성을 명시적으로 배제합니다. C++/wxWidgets 코어를 기반으로 하며, Windows, macOS, Linux에서 경량화된 확장 가능한 환경을 제공하는 것을 목표로 합니다. 주요 아키텍처 구성 요소는 다음과 같습니다: - **네이티브 코어**: UI 및 문서 관리를 위해 wxWidgets를 사용하는 C++ 애플리케이션으로, C/C++, Python, Rust, Go, Java, JavaScript, TypeScript, JSON, HTML, CSS, Markdown, YAML, CMake에 대한 구문 강조를 지원합니다. - **확장 호스트**: VS Code 확장 API의 일부(명령, 창, 작업 공간, 언어 등)를 구현하는 선택적, 프로세스 외부 Node.js 호스트입니다. SHA-256 검증을 통해 `.vsix` 패키지로 CommonJS 확장을 로드할 수 있습니다. - **언어 서버 프로토콜(LSP)**: 초기화, 동기화, 호버, 완성, 의미론적 토큰, 정의, 참조, 심볼, 이름 변경, 코드 작업을 지원하는 통합된 LSP 클라이언트입니다. clangd, rust-analyzer, gopls, pyright와 같은 실제 서버에 대한 테스트를 위한 버전별 매트릭스가 포함되어 있습니다. - **디버그 어댑터 프로토콜(DAP)**: GDB, LLDB-DAP, OpenDebugAD7과 같은 어댑터를 지원하는, 중단점, 스택 추적, 변수를 지원하는 네이티브 DAP 클라이언트입니다. - **Code::Blocks 통합**: 플러그인 검색, `.cbp` 프로젝트 가져오기, 그리고 선택적으로 더 깊은 통합을 위한 별도의 호스트 어댑터 실행을 위한 Code::Blocks SDK와의 브리지입니다. - **터미널**: PTY/ConPTY 백엔드, ANSI/VT 시퀀스 지원, 스크롤백을 갖춘 대화형 네이티브 터미널입니다. - **빌드 시스템**: CMake, Make, Cargo, npm의 자동 감지와 구성, 빌드, 테스트 작업을 위한 태스크 러너입니다. 이 프로젝트는 현재 개발 스냅샷 상태(v1.0.1)이며, 안정성과 호환성에 중점을 두고 있습니다. 완전한 VS Code 또는 Code::Blocks 호환성을 주장하지는 않지만, 확장성과 도구 통합을 위한 계층적 접근 방식을 제공합니다.