Что нового в RustRover 2024.2

Главное в этой версии: автодополнение строки целиком, поддержка фронтенд-разработки и баз данных.

Скачать

Бесплатно для некоммерческого использования. Есть бесплатная пробная версия на 30 дней.

Поддержка фронтенд-разработки и баз данных

Мы учли ваши пожелания и переработали поддержку веб-технологий и баз данных в RustRover.

Автодополнение строки целиком в Rust

В этой версии мы представляем автодополнение строки целиком для Rust. Эта функция предлагает целые строки кода, используя модель глубокого обучения, которая работает локально и не отправляет данные за пределы IDE. Серые текстовые подсказки автоматически завершают строки кода в зависимости от контекста файла. Эта функция включена в вашу подписку на RustRover.

Подключение отладчика к запущенным процессам

Теперь можно отлаживать активные приложения, не перезапуская их. Это особенно полезно при работе с динамическими библиотеками или плагинами в сторонних программах.

Улучшения для Cargo.toml

  • При принятии варианта автодополнения для свойства с другим типом курсор остается на том же месте.
  • Свойства верхнего уровня теперь обрамляются квадратными скобками [], если их тип — объект, и двойными квадратными скобками [[]], если это массив объектов.
  • В заголовках, если свойство может быть массивом простого типа или объекта, автодополнение не добавит лишние скобки.
  • Автодополнение работает для lints.
  • Новая проверка предотвращает объявление массива как массива таблиц.

Переключение профилей Cargo

Теперь в конфигурациях запуска и отладки есть удобный переключатель профилей Cargo. Он позволяет указать нужный профиль, так что вам больше не придется переключаться вручную.

Улучшенная поддержка оператора ?

Мы значительно улучшили проверку типов для оператора ?. Теперь автодополнение предлагает его в различных случаях, включая цепочки вызовов методов. Кроме того, новая инспекция подсвечивает вызовы unwrap(), которые разрешают использование ?.

Улучшения папок

Теперь модули в представлении проекта отмечены как пакеты, что помогает отличить их от обычных папок.

Также при перетаскивании файла больше не появляется диалог Move для родительской папки.

Улучшения для proc_macro

Расширение макросов из необязательных зависимостей в рабочем пространстве

Cargo теперь компилирует proc_macros и билд-скрипты для всех зависимостей, которые необходимы для правильного анализа кода. В редких случаях может потребоваться отключение явно конфликтующих функций.

Быстрые исправления атрибутов

Новые быстрые исправления предлагают добавить атрибуты #[proc_macro], #[proc_macro_derive] и #[proc_macro_attribute] к pub fn в крейтах с процедурными макросами.

Intention-действия в вызовах макросов, похожих на функции

Теперь вы можете использовать intention-действия для токенов, которые соответствуют единственному элементу в развернутом макросе.

Автодополнение неразрешенных ссылок на имена

Теперь, если вы используете функцию до ее объявления, IDE предложит вариант автодополнения с ее именем.

Другие улучшения

В этой версии мы подготовили для вас много других улучшений:

  • Запуск теста больше не приводит к двум пересборкам проекта.
  • В цепочках асинхронных методов теперь доступны всплывающие подсказки.
  • IDE теперь оборачивает возвращаемые значения типа Option<...> в Some() (E0308).
  • Новые предупреждения информируют о возможных ошибках в синтаксисе {variables:?} (E0277).
  • Улучшена подсветка неразрешенных методов (E0599).
  • IDE теперь предупреждает, если оператор return используется без надобности.
  • Исправление Convert the identifier теперь обновляет все соответствующие использования идентификатора.
  • Исправлена ошибка extern location for crate does not exist on sync.
  • Встроенный форматер стал значительно лучше благодаря исправлениям более 20 проблем.
  • Добавлена поддержка нестабильной функции postfix-match.
  • Значение, стоящее за Option/Result, теперь отображается в разделе Threads & Variables при отладке с Unix LLDB.
  • Улучшена поддержка аргументов макроса format!, а также подсветка неразрешенных методов.

Китайский, корейский и японский языки в интерфейсе

Теперь в RustRover встроена поддержка китайского, корейского и японского языков интерфейса. Переключить язык можно в настройках: Settings | Appearance & Behavior | System Settings | Language and Region.

Липкие строки с учетом языка

Теперь вы можете выбрать, для каких языков отображать закрепленные строки. Настроить эту функцию можно в разделе Settings | Editor | General | Sticky Lines или через контекстное меню, которое появляется при правом клике на закрепленную строку в редакторе.

Превью результатов поиска в Search Everywhere

В диалоге Search Everywhere теперь можно посмотреть превью элементов кода, которые вы ищете. Нажмите на значок Preview на панели инструментов диалога, и под результатами поиска откроется панель предварительного просмотра. Это даст вам дополнительный контекст и упростит навигацию по проекту.

AI Assistant

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

RustRover также включает новые функции удаленной и совместной разработки и работы с системами контроля версий, которые вошли в платформенный релиз.