Новая IDE с поддержкой Rust: первый взгляд
Экосистема Rust продолжает стремительно развиваться, и вот очередное важное событие: на рынке появилась новая специализированная интегрированная среда разработки (IDE) — RustLens. Проект, находящийся пока в статусе бета-версии, уже привлёк внимание сообщества благодаря глубокой интеграции с компилятором и уникальным инструментам анализа кода. Мы решили протестировать новинку и поделиться первыми впечатлениями.
Что такое RustLens?
RustLens — это IDE, написанная на самом Rust с использованием фреймворка egui и системного бэкенда Winit. В отличие от универсальных решений вроде VS Code или CLion, эта среда изначально заточена под особенности языка: строгую систему владения, lifetimes и работу с unsafe-блоками.
Ключевые особенности
- Интеллектуальное автодополнение (IntelliSense) — движок анализирует не только типы, но и границы заимствования, предлагая только корректные с точки зрения borrow checker варианты.
- Встроенный отладчик — поддержка точек останова с визуализацией стека и состояния памяти. Отладчик использует LLDB и умеет показывать значения в формате, близком к Rust-структурам.
- Граф зависимостей — наглядное отображение дерева Cargo.toml с указанием конфликтов версий и устаревших крейтов.
- REPL-консоль — можно выполнять фрагменты кода без компиляции всего проекта, используя miri для проверки unsafe.
- Рефакторинг — автоматическое переименование переменных с учётом теней (shadowing) и извлечение кода в функции с корректным переносом lifetimes.
Первые впечатления
Установка заняла около минуты — достаточно скачать бинарник (под Windows, macOS и Linux) и указать путь к rustup. Интерфейс минималистичный, напоминает Zed, но с большим количеством панелей. При открытии проекта с 10 000 строк кода среда запустилась за 2 секунды — отличный показатель по сравнению с IntelliJ IDEA.
Особенно порадовала работа с lifetimes: при попытке написать некорректный код редактор не просто подчёркивает ошибку, а предлагает варианты исправления с помощью всплывающих подсказок. Например, для функции, возвращающей ссылку, IDE может предложить добавить явный параметр lifetime или изменить сигнатуру на владеющий тип.
Сравнение с аналогами
- VS Code + rust-analyzer — уступает в скорости анализа больших проектов и не имеет встроенного отладчика.
- CLion + Rust Plugin — тяжеловесное решение, требующее много RAM. RustLens работает в 2-3 раза быстрее на одинаковых проектах.
- IntelliJ IDEA — хороша для Java/Kotlin, но для Rust даёт меньше специфических фич.
Недостатки и планы
Пока что RustLens не поддерживает плагины (анонсированы на 2025 год), а встроенный терминал работает только в базовом режиме. Разработчики обещают добавить интеграцию с wasm-pack и cargo-audit в ближайших обновлениях.
Итог: RustLens — это свежий взгляд на инструментарий для Rust. Если вы ищете лёгкую, быструю и глубоко интегрированную среду, стоит попробовать бета-верси