Сравнение функциональности 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 | Быстрое исправление, выполняющее поиск неразрешенных символов и областей видимости на nuget.org | |
Настраиваемые инспекции и исправления со структурным поиском и паттернами замены кода | ||
Анализ кода внутри строковых литералов | Анализ кода внутри строковых литералов, тегов и атрибутов | |
Функция Track Value Source (отслеживание источников значений) | Анализ значений, позволяющий отследить, откуда берутся значения и куда они подставляются | |
Рефакторинг | 15 рефакторингов, применимых ко всему решению | Более 60 рефакторингов, применимых ко всему решению |
Более 120 рефакторингов (автоматические локальные преобразования кода) | Более 500 контекстных действий (автоматические локальные преобразования кода) | |
Предпросмотр локальных рефакторингов | ||
Рефакторинг очистки на уровне проекта: синхронизация пространств имен | Рефакторинги очистки на уровне проекта: синхронизация пространств имен, перемещение типов в соответствующие файлы и удаление неиспользуемых ссылок. | |
Структурная замена идентичного или похожего кода | ||
Генерация кода | Действие Create from usage | Действие Create from usage |
Генерация кода на основе фрагментов кода (шаблонов) | ||
Генерация файлов на основе шаблонов | Генерация файлов и наборов файлов на основе настраиваемых шаблонов | |
Генерация членов типа | ||
Генерация проверок на допустимость значения 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 | Инструменты для оценки покрытия кода dotUltimate | |
Автоматическое юнит-тестирование в фоновом режиме Enterprise | Непрерывное тестирование dotUltimate | |
Возможность запускать несколько сеансов юнит-тестирования одновременно и независимо друг от друга | ||
Отладчик | Подсказки DataTips в редакторе | DataTips с возможностью поиска в редакторе |
Окно точек останова с группировкой и экспортом | Окно точек останова с возможностями предпросмотра, контекстного поиска, группировки и экспорта | |
Отображение возвращаемых значений метода в редакторе | Отображение в редакторе значений локальных переменных, выражений текущей строки и возвращаемых значений функций | |
Управление настройками | Синхронизация настроек через Microsoft ID | Синхронизация настроек внутри команды через VCS или любой файловый хостинг |
Система уровней параметров, позволяющая хранить настройки решений и избегать конфликтов | ||
Безопасность | Выявление пакетов с уязвимостями | |
Другие улучшения | Инструменты для диагностики | |
Локализация интерфейса | Локализация интерфейса | |
Бесплатная пробная версия на 30 дней |