Перезвоните мне
Пн-Нд 08:00-18:00
Курс валют
$ 46.13
€ 53.20

Корзина

В корзине нет товаров
Разработка

Время чтения: 1 минута

Количество просмотров: 18

Интерактивный тестер макросов в RustRover 2026.2 и почему отлаживать Rust стало проще

RustRover

Меняем e-mail на софтотренды

Подписывайся на рассылку интересных новостей от Ficha!

Кто писал хотя бы один серьезный макрос на Rust, тот знает это ощущение. В голове все стройно, компилятор с этим не согласен, а сообщение об ошибке указывает куда-то в середину сгенерированного кода, который вы никогда не видели. Дальше обычно идет долгое разглядывание развернутого кода и попытки понять, где именно шаблон не совпал.

В RustRover 2026.2 JetBrains добавила инструмент, который сильно сокращает этот путь. Интерактивный тестер декларативных макросов показывает, как macro_rules! превращает входные данные в готовый код, прямо в редакторе. Ниже разбираем, как это работает и что еще принес релиз.

Что такое RustRover и кому он нужен

RustRover это отдельная IDE от JetBrains для языка Rust, построенная на платформе IntelliJ. Если вы работали в PyCharm или IntelliJ IDEA, интерфейс покажется знакомым с первых минут. С первого запуска IDE знает про Cargo, умеет запускать тесты и отлаживать код, а автодополнение и рефакторинги работают с учетом особенностей языка.

Обычный редактор кода с плагинами тоже умеет немало, и для небольших утилит этого хватает. Но когда проект разрастается до десятков крейтов и сложных трейтов, именно глубокий анализ IDE экономит больше всего времени. Как программа для написания кода RustRover подойдет бэкенд-разработчикам, командам системного программирования и всем, кто переходит на Rust с других языков и хочет иметь под рукой привычный инструментарий.

Почему макросы в Rust так сложно отлаживать

В Rust есть два вида макросов. Процедурные пишутся как отдельные крейты и работают с токенами напрямую. Декларативные, то есть macro_rules!, описываются шаблонами. Вы говорите компилятору «если вход похож вот на это, сгенерируй вот такой код». Звучит просто, пока в макросе не появляется несколько веток, повторения $(...)* и рекурсия.

Тогда начинаются проблемы. Компилятор пишет «no rules expected this token», но не объясняет, какую именно ветку он пробовал и где остановился. Или хуже, макрос разворачивается без ошибок, но генерирует совсем не то, что вы ждали. Из встроенных средств Rust для таких случаев есть trace_macros!, но он работает только на nightly-версии компилятора. То есть переключение тулчейна, сборка и чтение вывода за пределами редактора на каждую попытку.

Как работает интерактивный тестер макросов

Идея очень практичная. Вы вводите входные данные для макроса, и RustRover сразу показывает развернутый код. Рядом видно, какая часть входа превратилась в какую часть результата. Поменяли аргумент, посмотрели на новый результат, и так столько раз, сколько нужно. Никакой полной компиляции проекта ради одной проверки.

Больше всего это помогает с ошибками сопоставления, когда вход не подходит ни к одному шаблону или попадает не в ту ветку. Когда перед глазами одновременно вход, выход и связь между ними, ошибка обычно становится очевидной за несколько секунд. Для авторов библиотек, где макросы являются частью публичного API, это еще и удобный способ быстро проверить крайние случаи перед релизом.

Стоит честно сказать, что тестер работает именно с декларативными макросами. Для процедурных в RustRover есть привычный просмотр разворачивания, но интерактивного режима для них новинка не добавляет.

Что еще нового в RustRover 2026.2

Релиз вышел 22 июля 2026 года, и тестер макросов в нем не единственное заметное изменение. Веб-разработчики получили поддержку axum и reqwest. IDE находит эндпоинты, позволяет переходить от маршрута к обработчику и обратно, а вызовы reqwest можно генерировать автоматически.

Для тех, кто пишет встраиваемое и критичное к безопасности ПО, появилась поддержка сертифицированного тулчейна Ferrocene. Бенчмарки Criterion теперь запускаются прямо с иконки на полях редактора, а оптимизация импортов работает быстрее и реже ошибается, в том числе внутри макросов. Добавили и поддержку .env-файлов с автодополнением переменных окружения. GitHub Copilot стал встроенным агентом в чате с AI, а для автодополнения можно подключать собственные OpenAI-совместимые модели.

Как лицензируется RustRover и где его купить

Коммерческая лицензия RustRover оформляется на пользователя и работает по модели годовой подписки. Один разработчик может установить IDE и на рабочий компьютер, и на ноутбук, а команда просто докупает места, когда растет. Для тех, у кого в работе кроме Rust есть еще Python, Java или .NET, существует All Products Pack, куда RustRover входит вместе с остальными IDE JetBrains.

Для учебы и личных проектов JetBrains предлагает бесплатную некоммерческую лицензию. Как только код идет в коммерческий продукт или клиентский проект, нужна платная подписка.

Купить JetBrains RustRover с официальной активацией можно в магазине Ficha. Там же помогут с продлением подписки и подскажут, что выгоднее, отдельная лицензия JetBrains или пакет. Другие программы для программистов от этого производителя собраны в разделе JetBrains, больше программ для программирования есть в каталоге Разработка, а более легкие решения для быстрых правок в разделе редакторы кода.


Источник: блог JetBrains

Поделиться

Похожие новости
Все новости