Код
#новости

Вышел IntelliJ Rust 2022.1 — плагин Rust для редакторов кода IntelliJ

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

Изменения для Rust

Одношаговые макрорасширения (expansions). Команда JetBrains полностью переделала движок для макрорасширений, который теперь разбивает процесс на одиночные шаги. Это поможет избежать мерцания экрана и значительно ускорит систему.

Плагин всё также имеет предел в 64 шага, поэтому расширения с большим числом шагов не будут адаптированы полностью. Разработчики сказали, что продолжают работать над этим.

Улучшенные макрорасширения. Источник: блог JetBrains

Определения имён. Движок для определения имён теперь поддерживает macros 2.0, объявленные внутри функций.

Кроме этого, разработчики добавили изменения для макросов в документации к тестам:

  • исправили определения имён для macros 2.0 в doctest;
  • плагин начал правильно обрабатывать атрибуты процедурных макросов в doctest.
Macros 2.0 и движок определения имён. Источник: блог JetBrains

Поддержка inline_const, inline_const_pat and ~const. IntelliJ Rust теперь умеет правильно парсить синтаксис выражений inline_const и inline_const_pat, который позволяет использовать строчные константы. Эта возможность пока находится в стадии тестирования.

Поддержка inline_const и inline_const_pat. Источник: блог JetBrains

Ещё добавили поддержку тильдовых констант — ~const.

Тильдовые константы. Источник: блог JetBrains

Кодовые подсказки

Extract-trait-рефакторинг. С ним пользователи смогут быстро доставать методы из impl-блоков и создавать из них отдельные trait-свойства.

Extract-trait-рефакторинг. Источник: блог JetBrains

То же самое можно делать и с самими trait-свойствами:

Extract-trait-рефакторинг с trait-свойствами. Источник: блог JetBrains

Улучшенное машинное автодополнение. Разработчики доработали модель машинного обучения, которая предлагает подсказки в коде. Теперь она умеет следующее:

  • выдавать выше предложения с похожим ожидаемым типом выражений;
  • отличать inherent-, trait- и blanket-имплементации;
  • узнавать async-, const— и unsafe-контексты.
Обновлённое автодополнение. Источник: блог JetBrains

Инспектор ненужных путей. Он умеет определять ненужные зависимости через unused_qualification-линтер. Если библиотека или метод импортируются в другом модуле, то его не нужно будет определять снова.

Инспектор путей. Источник: блог JetBrains

Дебагер

Выбор способов запуска. Разработчики добавили поддержку различных способов сборки и запуска кода — например, в Docker-контейнере, WSL или на удалённых компьютерах через SSH. Эта возможность пока доступна только на CLion, IntelliJ IDEA Ultimate и GoLand.

Новые способы запуска кода. Источник: блог JetBrains

Ссылки на файлы в консоли. Во время отладки пользователи могут использовать dbg! и перейти к конкретным Rust-файлам.

dbg-ссылки. Источник: блог JetBrains

Автодополнение для private-методов и переменных. Теперь дебагер будет давать подсказки при отладке.

Автодополнения в дебаггере. Источник: блог JetBrains

Профилирование для WSL 2. В прошлом релизе разработчики включили поддержку WSL 2 по умолчанию, а в этом — добавили инструменты профилирования для него. Они доступны только для CLion.

Valgrind для WSL. Пользователи теперь могут использовать Valgrind-проверку памяти через WSL на Windows. Она тоже работает только на CLion.

Инструменты для интегрирования

Пользовательские параметры для rustfmt. В IntelliJ Rust теперь можно использовать rustfmt через недефолтные инструменты и настраивать дополнительные аргументы и переменные сред.

Пользовательские параметры для rustfmt. Источник: блог JetBrains

Виджет для внешних линтеров. Разработчики добавили возможность внедрять сторонние линтеры. Виджет будет информировать пользователей о том, включён ли линтер или нет, а также выдавать предупреждения, если линтер нагружает IDE.

Виджет для внешних линтеров. Источник: блог JetBrains

Подробнее прочитать о всех изменениях можно в блоге JetBrains.


Проверьте свой английский. Бесплатно ➞
Нескучные задания: small talk, поиск выдуманных слов — и не только. Подробный фидбэк от преподавателя + персональный план по повышению уровня.
Пройти тест
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована