Новое в ReSharper 2024.3

ReSharper 2024.3 предлагает поддержку всех новых возможностей C# 13, включая коллекции params, свойства <1>partial, новый тип <2>lock и ключевое слово <3>field. В обновлении улучшена очистка кода, повышена производительность, форматирование стало более гибким, а правила именования — более точными. Многострочные комментарии To-do и цветная подсветка подсказок упрощают чтение и организацию кода. Расширена поддержка C++: появились новые функции для разработки на Unreal Engine, а также улучшена производительность и совместимость с Clang.

Скачать

Доступна бесплатная пробная версия на 30 дней

Поддержка C#

Обновления С# 13

В новой версии ReSharper добавлена поддержка свежих возможностей языка, появившихся в C# 13:

  • Новые коллекции params: ключевое слово params теперь работает с разными типами коллекций, что позволяет создавать более эффективные сигнатуры методов без выделения дополнительных ресурсов.
  • Свойства partial: теперь можно размещать аксессоры для одного свойства в нескольких файлах, что делает организацию кода более гибкой и структурированной.
  • Новый тип блокировки: введен новый тип System.Threading.Lock для более эффективной синхронизации потоков. Его производительность выше, чем у традиционного выражения lock.
  • Приоритет разрешения перегрузки: новый атрибут позволяет лучше контролировать выбор перегрузки метода и задавать приоритет для вызова нужной перегрузки в сложных ситуациях.
  • Ключевое слово field: с помощью нового ключевого слова field можно напрямую обращаться к внутренним полям автосвойств, что упрощает логику свойств.

Подробнее о поддержке C# 13 в ReSharper и Rider читайте в нашем блоге.

Стили и очистка кода

Очистка кода с помощью Code Cleanup

Функции очистки кода в ReSharper 2024.3 были переработаны и теперь работают эффективнее. Теперь они используют тот же движок, что и соответствующие быстрые исправления. Это гарантирует тщательное устранение ошибок и более точный анализ. Кроме того, для оптимизации обработки файлов добавлена параллельная предварительная обработка. В новой версии можно также выбрать отдельные профили очистки кода для разных файлов или исключить некоторые файлы из очистки.

Форматирование кода

Новые параметры форматирования обеспечат дополнительную гибкость:

  • новый параметр управления обертыванием вокруг оператора равенства =;
  • новый параметр Indent ‘break’ from ‘case’;
  • новый параметр Treat ‘case’ statements with ‘break’ as simple.

Правила именования

Мы добавили несколько новых параметров для более точной настройки правил именования.

  • У локальных функций теперь два варианта: Local functions with ‘async’ и Task-returning local functions (not ‘async’).
  • Методы получили новый параметр Task-returning method (not ‘async’) для поддержки методов с суффиксом async в имени, если они не помечены модификатором async, но возвращают Task-подобный тип. Это удобно, если вы объявляете метод в интерфейсе, где нельзя использовать модификатор async, при этом в реализации метод будет возвращать тип Task.

Code comments

Поддержка многострочных комментариев To-do

Версия ReSharper 2024.3 поддерживает многострочные комментарии To-do, позволяя обрабатывать текст с отступом, расположенный на идущих подряд строках, как единый объект To-do. Благодаря этому сгруппировать связанные примечания и задачи в кодовой базе стало проще. Теперь к объектам To-do можно добавить контекст на нескольких строках. Это упрощает их чтение и организацию.

Кроме того, мы обновили действие Peek To-do link (Ctrl+Shift+клик), позволяющее находить внешние проблемы, связанные с объектом To-do в коде. Теперь это действие использует движок современного веб-браузера, обеспечивая более качественный рендеринг.

Взаимодействие с IDE

Цветовая подсветка подсказок

Готовя эту версию, мы проверили практически все сообщения C# об ошибках, предупреждения, а также неформальные сообщения и постарались везде, где можно, добавить цветовую подсветку.

Были обновлены около 600 сообщений: к ним добавлены подсказки, так что сообщения стали понятнее. Включенные элементы кода подсвечиваются теми же цветами, что и в редакторе.

Поддержка C++

В ReSharper 2024.3 также улучшена поддержка C++. Вас ждет:

  • Улучшенная производительность в крупных решениях.
  • Рефакторинг Move to Folder для файлов C++.
  • Поддержка новых возможностей C++ 23, C23 и GNU.
  • Новые функции в редакторе для разработки на Unreal Engine.
  • Улучшенная совместимость с инструментами Clang.

Больше информации о функциях для C++ вы найдете на странице, посвященной ReSharper C++ 2024.3.

Декомпилятор

Код IL для манифеста сборки

Теперь в окне IL Viewer показывается код IL манифеста сборки, в том числе:

  • информация о сборке и модуле — имя, пользовательские атрибуты и т. п.;
  • сборки и модули, на которые имеются ссылки;
  • перенаправляемые типы;
  • список файлов и ресурсов.

Этот код IL отображается, когда курсор в текстовом редакторе наведен на атрибут сборки или модуля или находится где-то в пределах файла <AssemblyName>.cs (для внешних сборок).

Поддержка первичных конструкторов

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

Скачать

Доступна бесплатная пробная версия на 30 дней