ReSharper 2022.1 vs. Visual Studio 2022

В этом документе перечислены некоторые функции, которые реализованы в ReSharper 2022.1, но не поддерживаются или поддерживаются не полностью в Visual Studio 2022 17.1 без расширений.

Microsoft Visual Studio 2022 17.1
ReSharper 2022.1

Анализ кода

Анализ кода на лету во время разработки для C#, VB.NET, XAML Анализ кода на лету во время разработки для всех поддерживаемых языков (включая ASP.NET, XAML, JavaScript, TypeScript, HTML и др.)
Более 800 правил анализа кода (инспекции) Более 1500 правил анализа кода (инспекции)
Подсветка ошибок на лету во время разработки: ошибки компиляции кода на C#, VB.NET, JavaScript, TypeScript и C++ Подсветка ошибок на лету во время разработки: большинство ошибок компиляции, различные ошибки исполнения (например, возможность возникновения NullReferenceException) для всех поддерживаемых языков
Автоматические исправления для 400+ видов проблем в коде Автоматические исправления для 1900+ видов проблем в коде
250+ quick actions to resolve code issues in C#, F#, and VB.NET 1300 быстрых действий для исправления проблем в коде на C#, VB.NET, ASP.NET, XAML, XML, JavaScript, TypeScript и других поддерживаемых языках
Анализ кода на C# и VB.NET в рамках всего решения Отслеживание ошибок/предупреждений по всему решению для всех поддерживаемых языков
Иерархия вызовов Отслеживание вызовов
Встроенная поддержка ESLint Встроенная поддержка JSLint, ESLint и TSLint
Уведомления обо всех ошибках и проблемах, связанных с качеством кода, в файле Уведомления обо всех ошибках и проблемах, связанных с качеством кода, в любой области видимости (вплоть до всего решения)
Аннотации для анализа на допустимость значения null Аннотации, позволяющие проводить более точный анализ решений (допустимость null, контракты и т. д.)
Предложения использовать типы из установленных пакетов NuGet Быстрое исправление, выполняющее поиск неразрешенных символов и областей видимости на nuget.org
Настраиваемые инспекции и исправления со структурным поиском и паттернами замены кода
Анализ кода внутри строковых литералов, тегов и атрибутов
Track Value Source Анализ значений, позволяющий отследить, откуда берутся значения и куда они подставляются

Рефакторинг

15 рефакторингов, применимых ко всему решению 58 рефакторингов, применимых ко всему решению
Более 120 рефакторингов (автоматические локальные преобразования кода) Более 470 контекстных действий (автоматические локальные преобразования кода)
Project-level cleanup refactoring: Sync Namespaces Project-level cleanup refactorings: Adjust Namespaces, Move Types into Matching Files, and Remove Unused References.
Структурная замена идентичного или похожего кода

Генерация кода

Действие Create from usage Действие Create from usage
Генерация кода на основе фрагментов кода (шаблонов) Генерация кода на основе настраиваемых шаблонов live, surround, source и postfix
Генерация файлов на основе шаблонов Генерация файлов и наборов файлов на основе настраиваемых шаблонов
Генерация членов типа Генерация членов типа
Генерация проверок на допустимость значения null для параметров Генерация настраиваемых проверок на допустимость значения null для параметров
Визуальный редактор фрагментов кода (шаблонов)

Инструмент сборки

MSBuild ReSharper Build: инструмент инкрементной сборки вне процесса, оптимизирующий MSBuild и применяющий эвристические алгоритмы, чтобы собирать только те проекты, которые необходимо обновить; включает встроенный инструмент восстановления пакетов NuGet

Инструменты, применяемые на уровне проекта

Граф зависимостей Enterprise Диаграмма зависимостей проекта, диаграмма зависимостей сборок и диаграмма зависимостей типов, не требующие Visual Studio версии Enterprise и отображающиеся без необходимости какой-либо компиляции
Assembly Explorer, позволяющий открывать скомпилированные сборки и выполнять навигацию внутри них
NuGet Browser, позволяющий исследовать пакеты, типы и пространства имен в галерее NuGet
Конфигурации запуска, позволяющие запускать различные проекты из решения, статические методы и внешние исполняемые файлы

Помощь при написании кода

Автодополнение кода Автодополнение кода, которое учитывает контекст и предлагает типы и методы расширения, найденные в решении, импортирует области видимости, генерирует код и пр.
Подсветка синтаксиса Подсветка синтаксиса (настройка цветов для большего числа идентификаторов)
Автоматический импорт пространств имен Автоматический импорт областей видимости, выполняющий поиск типов и областей видимости среди пакетов NuGet
Перемещение строк или выделенного кода вверх/вниз Перемещение строк, выделенного кода, операторов, параметров, членов и т. д. вверх/вниз/влево/вправо
Расширение/сужение области выделения Расширение/сужение области выделения
Помощь при написании регулярных выражений Помощь при написании регулярных выражений в окне Validate Regular Expression
Вставка из истории буфера обмена Вставка из истории буфера обмена
Встроенные подсказки для имен параметров и типов Встроенные посказки для имен параметров, имен типов и преобразований типов; режим отображения подсказок Push-to-Hint
Автоматическое завершение блоков по нажатию ';' Автодополнение операторов
Навигация по структуре с помощью Tab/Shift+Tab
Структурное удаление
Помощь с локализацией
Автоматическое исправление escape-последовательностей при вставке строковых литералов
Встроенная проверка орфографии

Навигация и поиск

Go to (переход к) Поиск повсюду
Переход к объявлению Переход к объявлению, также позволяющий переходить между использованиями
Поиск ссылок Поиск использований текущего символа и связанных с ним символов (включая использования в тексте)
Подсветка использований символа в редакторе Подсветка использований символа в редакторе
Переход к символу Переход к символу
Переход к типу Переход к типу
Переход к члену файла Переход к члену файла
Переход к файлу Переход к файлу
Закладки в коде Закладки в коде
Переход к декомпилированным исходникам Переход к декомпилированному коду
Просмотр недавних файлов Просмотр недавних файлов/правок, переход к месту последнего редактирования
Быстрый запуск Переход к действию
Переход к базовому символу Переход к базовым символам, производным символам и конечным реализациям
Gutter icons for implemented and inherited symbols Gutter icons for implemented, inherited, and hiding symbols
Переход к тексту
Структурный поиск и замена
Переход к связанным и соседним файлам
Переход к опубликованным API
Просмотрщик IL
Иерархическое представление проектов, зависимостей проектов, типов, стилей CSS
Просмотр структуры файла
Окно управления объектами To-do по всему решению с настраиваемыми паттернами

Стиль кода

Переформатирование кода Переформатирование кода с возможностью контекстной настройки правил форматирования
Оптимизация директив для импорта пространств имен Оптимизация директив для импорта пространств имен, включая массовый импорт
Настраиваемые инспекции стиля синтаксиса Настраиваемые инспекции стиля синтаксиса
Правила именования Правила именования
Поддержка EditorConfig Поддержка EditorConfig, включая специальное окно File Formatting Info, позволяющее исследовать все файлы .editorconfig, которые влияют на текущий файл
Очистка кода в файле, проекте или решении (C#) Очистка кода в любой области видимости: выделенном коде, файле, проекте, решении (на C#, VB.NET, C++, JavaScript, TypeScript, HTML и других языках)
Удаление ненужных использований и неиспользуемых закрытых членов в файле Удаление лишнего кода в области видимости метода, класса, файла, проекта или всего решения
Настройка стиля заголовка файла при помощи EditorConfig Настройка стиля заголовка файла при помощи EditorConfig или специальных настроек
Автоматическое обнаружение правил именования и форматирования
Использование комментариев для настройки форматера
Организация и переупорядочение членов файлов/типов

Юнит-тестирование

Окно Unit Test Explorer Окно Unit Test Explorer
Поддержка тестовых фреймворков (MSTest, VSTest, xUnit.net) Поддержка тестовых фреймворков (MSTest, VSTest, xUnit.net, NUnit, QUnit, Jasmine)
Запуск тестов из редактора (только для MSTest и xUnit.net) Запуск тестов из редактора
Просмотр статуса тестов в редакторе (только для MSTest и xUnit.net) Просмотр статуса тестов в редакторе
Инструменты для оценки покрытия кода Enterprise Инструменты для оценки покрытия кода dotUltimate
Live Unit Testing Enterprise Непрерывное тестирование dotUltimate
Возможность запускать несколько сеансов юнит-тестирования одновременно и независимо друг от друга

Отладчик

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

Управление настройками

Синхронизация настроек через Microsoft ID Синхронизация настроек внутри команды через VCS или любой файловый хостинг
Система уровней параметров, позволяющая хранить настройки решений и избегать конфликтов
Скачать
Бесплатная пробная версия на 30 дней