ReSharper 2021.1 vs. Visual Studio 2019
В этом документе перечислены некоторые функции, которые реализованы в ReSharper 2021.1, но не поддерживаются или поддерживаются не полностью в Visual Studio 2019 16.9 без расширений.
Microsoft Visual Studio 2019 16.9 | ReSharper 2021.1 |
Анализ кода | Анализ кода на лету во время разработки для C#, VB.NET, XAML | Анализ кода на лету во время разработки для всех поддерживаемых языков (включая ASP.NET, XAML, JavaScript, TypeScript, HTML и др.) |
Более 600 правил анализа кода (инспекции) | Более 1400 правил анализа кода (инспекции) | |
Подсветка ошибок на лету во время разработки: ошибки компиляции кода на C#, VB.NET, JavaScript, TypeScript и C++ | Подсветка ошибок на лету во время разработки: большинство ошибок компиляции, различные ошибки исполнения (например, возможность возникновения NullReferenceException) для всех поддерживаемых языков | |
Автоматические исправления для 340+ видов проблем в коде | Автоматические исправления для 1800+ видов проблем в коде | |
Более 210 быстрых действий для исправления проблем в коде на C# и VB.NET | 1300 быстрых действий для исправления проблем в коде на C#, VB.NET, ASP.NET, XAML, XML, JavaScript, TypeScript и других поддерживаемых языках | |
Анализ кода на C# и VB.NET в рамках всего решения | Отслеживание ошибок/предупреждений по всему решению для всех поддерживаемых языков | |
Иерархия вызовов | Отслеживание вызовов | |
Встроенная поддержка ESLint | Встроенная поддержка JSLint, ESLint и TSLint | |
Уведомления обо всех ошибках и проблемах, связанных с качеством кода, в файле | Уведомления обо всех ошибках и проблемах, связанных с качеством кода, в любой области видимости (вплоть до всего решения) | |
Аннотации для анализа на допустимость значения null | Аннотации, позволяющие проводить более точный анализ решений (допустимость null, контракты и т. д.) | |
Предложения использовать типы из установленных пакетов NuGet | Быстрое исправление, выполняющее поиск неразрешенных символов и областей видимости на nuget.org | |
Настраиваемые инспекции и исправления со структурным поиском и паттернами замены кода | ||
Анализ кода внутри строковых литералов, тегов и атрибутов | ||
Анализ значений, позволяющий отследить, откуда берутся значения и куда они подставляются | ||
Рефакторинг | 13 рефакторингов, применимых ко всему решению | 55 рефакторингов, применимых ко всему решению |
Более 100 рефакторингов (автоматические локальные преобразования кода) | Более 440 контекстных действий (автоматические локальные преобразования кода) | |
Рефакторинги, выполняющие очистку на уровне проекта и позволяющие автоматически редактировать области видимости, переносить типы в соответствующие файлы и убирать неиспользуемые ссылки. | ||
Структурная замена идентичного или похожего кода | ||
Генерация кода | Действие 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 (переход к) | Поиск повсюду |
Переход к объявлению | Переход к объявлению, также позволяющий переходить между использованиями | |
Поиск ссылок | Поиск использований текущего символа и связанных с ним символов (включая использования в тексте) | |
Подсветка использований символа в редакторе | Подсветка использований символа в редакторе | |
Переход к символу | Переход к символу | |
Переход к типу | Переход к типу | |
Переход к члену файла | Переход к члену файла | |
Переход к файлу | Переход к файлу | |
Закладки в коде | Закладки в коде | |
Переход к декомпилированным исходникам | Переход к декомпилированному коду | |
Просмотр недавних файлов | Просмотр недавних файлов/правок, переход к месту последнего редактирования | |
Быстрый запуск | Переход к действию | |
Переход к базовому символу | Переход к базовым символам, производным символам и конечным реализациям | |
Переход к тексту | ||
Структурный поиск и замена | ||
Отображение наследников типов и переопределений методов в редакторе | ||
Переход к связанным и соседним файлам | ||
Переход к опубликованным 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 или любой файловый хостинг |
Система уровней параметров, позволяющая хранить настройки решений и избегать конфликтов | ||