Сравнение функциональности ReSharper и Visual Studio

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

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

Microsoft Visual Studio 2022 17.12

ReSharper 2024.3

Анализ кода
Анализ кода на лету во время разработки для C#, VB.NET, XAML
Анализ кода на лету во время разработки для всех поддерживаемых языков (включая ASP.NET, XAML и др.)
Более 800 правил анализа кода (инспекции)
Более 1600 правил анализа кода (инспекции)
Подсветка ошибок на лету во время разработки: ошибки компиляции кода на C#, VB.NET, JavaScript, TypeScript и C++
Подсветка ошибок на лету во время разработки: большинство ошибок компиляции, различные ошибки исполнения (например, возможность возникновения NullReferenceException) для всех поддерживаемых языков
Автоматические исправления для 400+ видов проблем в коде
Автоматические исправления для 2100+ видов проблем в коде
Более 250 быстрых действий для исправления проблем в коде на C#, F# и VB.NET
Более 1500 быстрых действий для исправления проблем в коде на C#, VB.NET, ASP.NET, XAML, XML, JavaScript, TypeScript и других поддерживаемых языках
Исправление всех проблем в документе, проекте, решении, содержащем элементе и содержащем типе
Области исправлений в документе, проекте, папке или решении
Анализ кода на C# и VB.NET в рамках всего решения
Входящие вызовы
Встроенная поддержка ESLint
Встроенная поддержка JSLint, ESLint и TSLint
Уведомления обо всех ошибках и проблемах, связанных с качеством кода, в файле
Уведомления обо всех ошибках и проблемах, связанных с качеством кода, в любой области видимости (вплоть до всего решения)
Аннотации для анализа на допустимость значения null
Аннотации, позволяющие проводить более точный анализ решений (допустимость null, контракты и т. д.)
Предложения использовать типы из установленных пакетов NuGet
Настраиваемые инспекции и исправления со структурным поиском и паттернами замены кода
Анализ кода внутри строковых литералов
Функция Track Value Source (отслеживание источников значений)
Анализ значений, позволяющий отследить, откуда берутся значения и куда они подставляются
Рефакторинг
15 рефакторингов, применимых ко всему решению
Более 60 рефакторингов, применимых ко всему решению
Более 120 рефакторингов (автоматические локальные преобразования кода)
Более 500 контекстных действий (автоматические локальные преобразования кода)
Предпросмотр локальных рефакторингов
Рефакторинг очистки на уровне проекта: синхронизация пространств имен
Структурная замена идентичного или похожего кода
Генерация кода
Действие Create from usage
Действие Create from usage
Генерация кода на основе фрагментов кода (шаблонов)
Генерация кода на основе настраиваемых шаблонов live, surround, source и postfix
Генерация файлов на основе шаблонов
Генерация файлов и наборов файлов на основе настраиваемых шаблонов
Генерация членов типа
Генерация проверок на допустимость значения null для параметров
Визуальный редактор фрагментов кода (шаблонов)
Инструмент сборки
MSBuild
ReSharper Build: инструмент инкрементной сборки вне процесса, оптимизирующий MSBuild и применяющий эвристические алгоритмы, чтобы собирать только те проекты, которые необходимо обновить; включает встроенный инструмент восстановления пакетов NuGet
Инструменты, применяемые на уровне проекта
Конфигурация запуска нескольких проектов
Конфигурации запуска, позволяющие запускать различные проекты из решения, статические методы и внешние исполняемые файлы
Граф зависимостей Enterprise
Диаграмма зависимостей проекта, диаграмма зависимостей сборок и диаграмма зависимостей типов, не требующие Visual Studio версии Enterprise и отображающиеся без необходимости какой-либо компиляции
Assembly Explorer, позволяющий открывать скомпилированные сборки и выполнять навигацию внутри них
NuGet Browser, позволяющий исследовать пакеты, типы и пространства имен в галерее NuGet
Помощь в написании кода
Автодополнение
Автодополнение кода, которое учитывает контекст и предлагает типы и методы расширения, найденные в решении, импортирует области видимости, генерирует код и пр
Подсветка синтаксиса
Подсветка синтаксиса (настройка цветов для большего числа идентификаторов)
Автоматический импорт пространств имен
Автоматический импорт областей видимости, выполняющий поиск типов и областей видимости среди пакетов NuGet
Перемещение строк или выделенного кода вверх/вниз
Расширение/сужение области выделения
Помощь при написании регулярных выражений
Вставка из истории буфера обмена
Встроенные подсказки для имен параметров и типов
Встроенные посказки для имен параметров, имен типов и преобразований типов; режим отображения подсказок Push-to-Hint
Встроенная проверка орфографии
Поиск и навигация
Поиск кода
Search Everywhere (поиск повсюду)
Переход к объявлению
Переход к объявлению, также позволяющий переходить между использованиями
Поиск ссылок
Поиск использований текущего символа и связанных с ним символов (включая использования в тексте)
Подсветка использований символа в редакторе
Подсветка использований символа в редакторе
Переход к символу
Переход к символу
Переход к типу
Переход к типу
Переход к члену файла
Переход к члену файла
Переход к файлу
Переход к файлу
Закладки в коде
Закладки в коде
Переход к декомпилированным исходникам
Переход к декомпилированному коду
Просмотр недавних файлов
Просмотр недавних файлов/правок, переход к месту последнего редактирования
Быстрый запуск
Переход к действию
Переход к базовому символу
Иконки на полях для реализованных и унаследованных символов
Иконки на полях для реализованных, унаследованных и скрывающих символов
Структура документа
Просмотр глобальных использований для файла
Просмотр и рефакторинг глобальных использований
Переход к тексту
Переход к связанным и соседним файлам
Иерархическое представление проектов, зависимостей проектов, типов, стилей CSS
Task List window
Стиль кода
Переформатирование кода
Переформатирование кода в файле, проекте или решении с возможностью контекстной настройки правил форматирования
Оптимизация директив для импорта пространств имен
Настраиваемые инспекции стиля синтаксиса
Правила именования
Поддержка EditorConfig
Поддержка EditorConfig, включая специальное окно File Formatting Info, позволяющее исследовать все файлы .editorconfig, которые влияют на текущий файл
Очистка кода в файле, проекте или решении (C#)
Очистка кода в любой области видимости: выделенном коде, файле, проекте, решении (на C#, VB.NET, C++, JavaScript, TypeScript, HTML и других языках)
Удаление ненужных использований и неиспользуемых закрытых членов в файле
Удаление лишнего кода в области видимости метода, класса, файла, проекта или всего решения
Настройка стиля заголовка файла при помощи EditorConfig
Настройка стиля заголовка файла при помощи EditorConfig или специальных настроек
Юнит-тестирование
Окно Unit Test Explorer
Поддержка тестовых фреймворков (MSTest, VSTest, xUnit.net)
Поддержка тестовых фреймворков (MSTest, VSTest, xUnit.net, NUnit)
Запуск тестов из редактора (только для MSTest и xUnit.net)
Запуск тестов из редактора
Просмотр статуса тестов в редакторе (только для MSTest и xUnit.net)
Просмотр статуса тестов в редакторе
Инструменты для оценки покрытия кода Enterprise
Автоматическое юнит-тестирование в фоновом режиме Enterprise
Возможность запускать несколько сеансов юнит-тестирования одновременно и независимо друг от друга
Отладчик
Подсказки DataTips в редакторе
Окно точек останова с группировкой и экспортом
Окно точек останова с возможностями предпросмотра, контекстного поиска, группировки и экспорта
Отображение возвращаемых значений метода в редакторе
Отображение в редакторе значений локальных переменных, выражений текущей строки и возвращаемых значений функций
Управление настройками
Синхронизация настроек через Microsoft ID
Синхронизация настроек внутри команды через VCS или любой файловый хостинг
Система уровней параметров, позволяющая хранить настройки решений и избегать конфликтов
Безопасность
Выявление пакетов с уязвимостями
Другие улучшения
Инструменты для диагностики
Инструменты для диагностики + встроенные профилировщики производительности и памяти dotUltimate
Локализация интерфейса
Локализация интерфейса
Бесплатная пробная версия на 30 дней