Об этом проекте
Codium::Blocks — это нативный прототип IDE, предназначенный для разработки на нескольких языках, который намеренно избегает зависимости от Electron. Построенный на ядре C++/wxWidgets, он стремится обеспечить легкую, но расширяемую среду для Windows, macOS и Linux.
Ключевые архитектурные компоненты включают:
- **Нативное ядро**: Приложение C++, использующее wxWidgets для пользовательского интерфейса и управления документами, с подсветкой синтаксиса для C/C++, Python, Rust, Go, Java, JavaScript, TypeScript, JSON, HTML, CSS, Markdown, YAML и CMake.
- **Узел расширений**: Опциональный, работающий в отдельном процессе узел Node.js, реализующий подмножество API расширений VS Code (команды, окно, рабочее пространство, языки и т. д.). Он поддерживает загрузку расширений CommonJS через пакеты `.vsix` с проверкой SHA-256.
- **Протокол языкового сервера (LSP)**: Встроенный клиент LSP, поддерживающий инициализацию, синхронизацию, подсказки, автодополнение, семантические токены, определения, ссылки, символы, переименование и действия с кодом. Включает матрицу версий для тестирования с реальными серверами, такими как clangd, rust-analyzer, gopls и pyright.
- **Протокол адаптера отладки (DAP)**: Нативный клиент DAP для отладки, поддерживающий точки останова, стеки вызовов, переменные и адаптеры, такие как GDB, LLDB-DAP и OpenDebugAD7.
- **Интеграция с Code::Blocks**: Мост к SDK Code::Blocks для обнаружения плагинов, импорта проектов `.cbp` и опционального запуска отдельного адаптера хоста для более глубокой интеграции.
- **Терминал**: Интерактивный нативный терминал с бэкэндами PTY/ConPTY, поддержкой последовательностей ANSI/VT и прокруткой.
- **Система сборки**: Автоматическое обнаружение CMake, Make, Cargo и npm с исполнителями задач для операций конфигурации, сборки и тестирования.
Проект находится в состоянии снимка разработки (v1.0.1), с акцентом на стабильность и совместимость. Он не претендует на полную совместимость с VS Code или Code::Blocks, но предлагает многоуровневый подход к расширяемости и интеграции инструментов.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.