ReSharper Ultimate 2019.3 представляет новый способ управления локализацией, подсказки типов и улучшенную поддержку C# 8, C++20 и Unreal Engine. Мы усовершенствовали действия навигации, расширили возможности форматирования кода и юнит-тестирования, а инструменты командной строки ReSharper и dotTrace теперь работают на Linux и macOS.
Доступна бесплатная пробная версия на 30 дней
Новый инструмент Localization Manager поможет эффективно работать с большим количеством resx-файлов в решении. Он отображает все содержимое resx-файлов в единой таблице — вы можете наблюдать за текущим состоянием локализации сайта или приложения и быстро находить ресурсы, для которых отсутствуют локализованные значения в любой культуре.
Вы можете:
Вы найдете Localization Manager в меню ReSharper | Windows или в контекстном меню Solution Explorer.
Подробнее об управлении локализацией читайте в нашем блоге.
В этой версии ReSharper мы улучшили поддержку C# 8:
notnull
. null
и соответствующие предупреждения в файле, проекте или по всему решению.EnumeratorCancellation
в параметры CancellationToken
асинхронных итераторов.Кроме того, мы разбили инспекцию Type or type member is never used на две: для поиска неиспользуемых типов (Type is never used) и членов типа (Type member is never used).
Действие Generate лучше понимает C# 8:
null
учитывается при генерации операторов равенства/сравнения.Кроме того, теперь можно использовать System.HashCode
для реализации GetHashCode
при генерации операторов равенства и сравнения на равенство на C# и VB.NET — это поможет сделать ваш код чище.
В этой версии появилась еще одна долгожданная возможность. Настройки именования C# теперь поддерживают файлы EditorConfig.
Помимо этого, есть еще несколько небольших изменений, которые помогут вам управлять форматированием кода:
var
вместо явного объявления типа, только если тип выражения инициализатора очевиден, ReSharper поможет обнаружить более очевидные случаи. Есть также режим «совместимости», соответствующий поведению Roslyn.&&
или ||
, ReSharper поможет разобраться, добавив круглые скобки.Нас часто спрашивали, можно ли запускать ReSharper Command Line Tools на CI-сервере, работающем на Linux. Долгое время ответ был «нет». Но мы провели большую работу и удалили все специфичные для Windows компоненты, чтобы можно было все перенести в среду выполнения Mono для Linux и macOS. Не волнуйтесь, на Windows по-прежнему используется .NET Framework.
И вот ReSharper Command Line Tools наконец добрались до Linux и macOS. Теперь ничто не помешает вам использовать мощный анализ кода ReSharper в этих операционных системах.
Надеемся, вам нравятся подсказки имен параметров и аннотации кода, которые мы реализовали в ReSharper 2019.1. В этой версии мы пошли дальше и добавили подсказки типов. Они доступны для:
Большинство разработчиков сталкиваются с необходимостью узнать, где в коде используются типы или члены типа, относящиеся к определенному модулю. Для этого в ReSharper уже давно есть действие Find dependent code. Однако у него всегда были ограничения.
В версии 2019.3 мы устранили некоторые из них:
В окнах управления юнит-тестированием, кажется, есть все что нужно. Но мы все же решили, что настройки списка юнит-тестов могут быть более гибкими, что мы и сделали:
Мы полностью переработали механизм подсветки идентификаторов. В меню Tools | Options | Fonts and Colors
появилось больше настроек, чтобы подсветка была максимально точной. Среди них:
Стандарт C++20 полностью готов и будет официально подписан в следующем году — разработчиков ждет большой набор полезных возможностей. Многие из них уже поддержаны в ReSharper C++ 2019.3.
ReSharper C++ знает, что агрегатные классы могут быть инициализированы из заключенного в скобки списка значений и что в некоторых случаях для шаблонов функций необходимо выполнять дополнительный ADL-поиск.
В ReSharper C++ появилась поддержка концептов, включая обновленный с учетом этой языковой возможности рефакторинг Rename и действие Find usages. Более того, анализатор кода покажет подробную информацию об ошибках в использовании концептов. Например, если разрешение перегрузки невозможно, из-за того что не выполнено требование концепта, вы узнаете все подробности об ошибке из всплывающей подсказки. Кстати, для удобства чтения мы добавили цвета в подсказки, которые сообщают об ошибках разрешения перегрузки.
Мы подробно рассказываем о нововведениях C++20 и их поддержке в ReSharper C++ в серии статей в нашем блоге.
ReSharper C++ понимает, что вы работаете над проектом Unreal Engine и корректирует свое поведение в соответствии с особенностями UE4.
Постфиксный шаблон new учитывает специфику создания объектов в UE4. Кроме того, появились шаблоны для генерации USTRUCT/UCLASS/UENUM/UENUMCLASS
.
Подобно указателям std::shared_ptr/std::unique_ptr
, ReSharper C++ теперь обрабатывает и умные указатели Unreal Engine (TSharedPtr, TSharedRef, TWeakPtr, TUniquePtr
). Это означает, что для умных указателей теперь поддерживаются такие возможности редактора, как Parameter Info, анализ кода и постфиксное автодополнение кода.
И наконец, мы улучшили производительность при работе над проектами UE4. Например, устранили зависание после действия Refresh Visual Studio Project в редакторе UE4.
Узнать, что нового в ReSharper C++.
Консольный профилировщик наконец работает на Linux и macOS. dotTrace.sh
обладает тем же набором функций, что и его аналог для Windows, и доступен в виде архива .tar.gz и пакета NuGet.
Узнайте, что нового в dotTrace 2019.3.
Основные улучшения в dotCover 2019.3:
Узнайте, что нового в dotCover 2019.3.
Доступна бесплатная пробная версия на 30 дней