Руководство по повышению производительности работы в Visual Studio для разработчиков на платформе C#

Узнайте, как Visual Studio делает разработчиков .NET , использующих C# более продуктивным, чем когда-либо. Воспользуйтесь новыми возможностями для повышения производительности и эффективности работы, такими как переход к декомпилированным сборкам, варианты имен переменных, предлагаемые в процессе ввода, иерархическое представление в обозревателе тестов, команда "Перейти ко всем" (CTRL+T) для перехода к объявлениям файлов, типов, членов и символов, интеллектуальный помощник по исправлению ошибок, настройка и применение стиля кода, а также разнообразные возможности рефакторинга и исправления ошибок в коде.

Общие сведения о производительности для .NET, C++и других языков см . в руководстве по повышению производительности для Visual Studio. Сведения о полезных сочетаниях клавиш см. в этой статье. Полный список команд с сочетаниями клавиш см. в статье Сочетания клавиш по умолчанию.

Использование сочетаний клавиш из другого редактора

Если вы переходите из другой интегрированной среды разработки или среды написания кода, вы можете изменить схему клавиатуры на Visual Studio Code или ReSharper (Visual Studio):

Screenshot of the keyboard schemes in Visual Studio 2022.

Keyboard Schemes in Visual Studio

Некоторые расширения также предоставляют схемы клавиатуры.

Ниже приведены широко используемые сочетания клавиш в Visual Studio.

Сочетание клавиш (все профили) Команда Description
CTRL+T Перейти ко всем Переход к любому объявлению файла, типа, элемента или символа
F12 (также CTRL+щелчок) Перейти к определению Переход к месту определения символа
Ctrl+F12 Перейти к реализации Переход от любого базового типа или элемента к его различным реализациям
Shift+F12 Найти все ссылки Просмотр всех символьных или литеральных ссылок
ALT+HOME Перейти к базовому Переход вверх по цепочке наследования
CTRL+. (также ALT+ВВОД в профиле C#) Быстрые действия и рефакторинг Просмотр доступных исправлений кода, действия для создания кода, операций рефакторинга или других быстрых действий в выбранной позиции курсора или для выбранного кода
CTRL+D Дублировать строку Дублирует строку кода, в которую находится курсор
SHIFT+ALT++/- Расширение или сужение выделенного фрагмента Разворачивает или контрактирует текущий выбор в редакторе
SHIFT + ALT + . Переместить курсор на следующее совпадение Добавляет выделение и забор в следующем расположении, которое соответствует текущему выбору
CTRL+Q Search Поиск всех параметров Visual Studio
F5 Начать отладку Начало отладки приложения
Ctrl+F5 Запуск без отладки Запуск приложения без отладки
CTRL+K,D (профиль по умолчанию) или CTRL+E,D (профиль C#) Форматировать документ Очистка нарушений форматирования в файле на основе заданных параметров перевода строки, интервалов и отступов
CTRL+\,CTRL+E (профиль по умолчанию) или CTRL+W,E (профиль C#) Просмотреть список ошибок Просмотр всех ошибок в документе, проекте или решении
Alt + PgUp или PgDn Перейти к следующей или предыдущей проблеме Переход к предыдущей или следующей ошибке, предупреждению, предложению в документе
Ctrl+K,/ Переключение режима однострочного комментария Эта команда добавляет или удаляет метку однострочного комментария в зависимости от того, указана ли она для выделенного фрагмента кода.
Ctrl+Shift+/ Переключение режима блочного комментария Эта команда добавляет или удаляет примечания блоков в зависимости от выбранного вами действия.

Примечание.

Некоторые расширения отменяют привязку настраиваемых сочетаний клавиш по умолчанию в Visual Studio. Вы можете восстановить привязки ключей по умолчанию, перейдя в раздел "Сервис>импорта и экспорта" Параметры> Reset всех параметров или сброса клавиш "Параметры>>инструментов".>

Дополнительные сведения о сочетаниях клавиш и командах см. в разделе "Сочетания клавиш". Кроме того, ознакомьтесь с сочетаниями клавиш в Visual Studio , чтобы получить полный список вместе с скачиваемым памяткой.

Visual Studio имеет функцию Go To All , которую можно использовать для быстрого перехода к любому файлу, типу, члену или объявлению символов. Чтобы открыть его в строке меню, выберите "Изменить>перейти ко>всем". Кроме того, его можно открыть с помощью сочетания клавиш CTRL+T.

В верхней правой части редактора кода отображается небольшое окно.

Screenshot of the Go To All window in Visual Studio.

Screenshot of the Go To All window.

Эту функцию можно использовать для выполнения следующих действий:

  • Измените расположение панели поиска или отключите предварительную версию динамической навигации с помощью значка шестеренки.
  • Фильтрация результатов с помощью синтаксиса, например t mytype.
  • Область поиска можно ограничить текущим документом.
  • При сопоставлении поддерживается "верблюжий" стиль.

Дополнительные сведения о переходе ко всем см. в разделе "Поиск кода" с помощью команд "Перейти к".

Принудительное применение правил стиля кода

В файле EditorConfig можно определить соглашения о стиле кода, чтобы перемещать их вместе с исходным кодом.

Code style enforcement in Visual Studio

  • Добавьте значение по умолчанию или . Файл EditorConfig в стиле NET в проект, выбрав пункт "Добавить новый элемент" в всплывающем меню "Добавить>контекстное меню" в Обозреватель решений. Затем в диалоговом окне "Добавление нового элемента" найдите "editorconfig". Выберите любой из шаблонов файла editorconfig, а затем щелкните Добавить.

Screenshot of the EditorConfig file templates for C# in Visual Studio.

Screenshot of the EditorConfig item templates in Visual Studio.

  • Автоматически создайте файл .editorconfig для выбранных параметров стиля кода, последовательно выбрав элементы Сервис>Параметры>Текстовый редактор>C#>Стиль кода.

Screenshot that shows how to generate an .editorconfig file from settings in Visual Studio.

Screenshot that shows how to generate an .editorconfig file from Visual Studio settings.

  • Функция выводакода IntelliCode для Visual Studio определяет стили кода из существующего кода. Затем он создает файл nonempty EditorConfig с уже определенными параметрами стиля кода.

  • Настройте уровень серьезности для правила стиля кода непосредственно в редакторе. Если у вас нет файла editorconfig, Visual Studio создает его для вас. Поместите курсор на ошибку, предупреждение или предложение и введите ctrl+. Чтобы открыть меню быстрых действий и рефакторингов. Выберите пункт Настройка или подавление проблем. Затем выберите правило и уровень серьезности, который нужно настроить для него. Это действие обновляет существующий EditorConfig с новой серьезностью правила.

Screenshot of how to configure the severity of a code style rule from within the editor.

Configure the severity level of a code style rule directly in the editor

Ознакомьтесь с документацией по параметрам правила в стиле кода .NET, которая также содержит пример полного файла EditorConfig.

Очистка кода

В Visual Studio можно по запросу форматировать файл кода, в том числе параметры стиля кода, с помощью функции Очистка кода. Чтобы запустить очистку кода, выберите значок метки в нижней части редактора или нажмите клавиши CTRL+K, CTRL+E.

Screenshot of the Code Cleanup button and options.

Screenshot of Code Cleanup button.

Вы также можете выполнить очистку кода для всего проекта или решения сразу. Щелкните правой кнопкой мыши имя проекта или решения в Обозреватель решений, выберите "Анализ и очистка кода", а затем нажмите кнопку "Выполнить очистку кода".

Screenshot of how to run Analyze and Code Cleanup across an entire project or solution.

Screenshot of how to run Code Cleanup across an entire project or solution.

Помимо форматирования пробелов, отступов и т. п. функция Очистка кода применяет в выбранном файле настроенные стили кода. Ваши настройки для каждого стиля кода считываются из файла EditorConfig, если такой существует в проекте, или из раздела Параметры стиля кода, который доступен через диалоговое окно Параметры.

Рефакторинг и исправления кода

В Visual Studio включено множество возможностей рефакторинга, действий по созданию кода и исправлений кода. Красной волнистой линией обозначаются ошибки, зеленой волнистой линией — предупреждения, а тремя серыми точками — предлагаемые варианты кода. Вы можете получить доступ к исправлениям кода, выбрав значок лампочки или отвертки, или нажав клавиши CTRL+ или ALT+ВВОД. Для каждого исправления отображается окно предварительного просмотра, в котором в реальном времени можно увидеть, как будет работать исправление.

Популярные исправления и операции рефакторинга:

  • Переименовать
  • Извлечение метода
  • Изменение сигнатуры метода
  • Создание конструктора
  • Создание метода
  • Перемещение типа в файл
  • Добавление проверки значений NULL
  • Добавить параметр
  • Удаление ненужных директив using
  • Преобразование цикла Foreach в запрос LINQ или метод LINQ
  • Подъем элементов

Дополнительные сведения см. в статье Возможности создания кода в Visual Studio.

Анализаторы .NET можно установить для флага проблем с кодом. Вы также можете создать собственные исправления кода или операции рефакторинга с помощью анализаторов Roslyn.

Несколько членов сообщества написали бесплатные расширения, которые добавляют дополнительные проверки кода:

Функции поиска использования, перехода к реализации и перехода к декомпилированным сборкам

Visual Studio обладает множеством функций, упрощающих навигацию и поиск по коду.

Компонент Ярлык Сведения и усовершенствования
Найти все ссылки Shift+F12 Результаты выделяются цветом и могут быть сгруппированы по проекту, определению и ссылочному типу, например read или write. Можно также "блокировать" результаты.
Перейти к реализации Ctrl+F12 Вы можете использовать команду "Перейти к определению" для ключевого слова override, чтобы перейти к переопределяемому члену.
Перейти к определению F12 или CTRL+щелчок Удерживайте клавишу CTRL во время щелчка, чтобы перейти к определению.
Показать определение ALT+F12 Встроенное представление определения
Визуализатор структуры Серые пунктирные линии между фигурными скобками Наведите указатель мыши для просмотра структуры кода
Переход к декомпилированным сборкам F12 или CTRL+щелчок Перейдите к внешнему источнику (декомпилированному с помощью ILSpy), включив эту функцию: Сервис>Параметры>Текстовый редактор>C#>Дополнительно>Разрешить переход к декомпилированным исходным файлам.

Go To All and Find All References

Усовершенствования IntelliSense

С помощью IntelliCode для Visual Studio вы можете использовать контекстно зависимое завершение кода вместо обычного алфавитного списка.

Модульное тестирование

Мы добились многочисленных улучшений в тестировании. Вы можете протестировать платформы тестирования MSTest (MSTest версии 1 или MSTest версии 2), NUnit и XUnit .

  • Тесты можно быстро обнаружить с помощью обозревателя тестов.

  • Вы можете упорядочить тесты в обозревателе тестов с помощью новой иерархической сортировки.

Hierarchy view for Text Explorer in Visual Studio

  • Live Unit Testing постоянно выполняет тесты, на которые влияют изменения в коде, и обновляет значки в редакторе, сообщая о результатах тестирования. Вы можете включать и исключать определенные тесты или тестовые проекты в своем наборе динамических тестов. (Только в Visual Studio Enterprise Edition.)

Дополнительные сведения см. в разделе "Основы модульного теста".

Отладка

Visual Studio включает следующие возможности отладки:

  • Возможность поиска строки в окнах Контрольные значения, Видимые и Локальные.
  • Функция выполнения до щелчка позволяет навести указатель на строку кода, выбрать появившийся зеленый значок воспроизведения и выполнить программу до этой строки.
  • Новый помощник по исправлению ошибок размещает на верхнем уровне диалогового окна наиболее важные сведения, например о том, какая переменная имеет значение null в NullReferenceException.
  • Обратная отладка позволяет возвращаться к точкам останова или шагам и просматривать предыдущее состояние приложения.
  • Отладка моментального снимка позволяет изучить состояние динамического веб-приложения в момент, когда возникло исключение (нужно работать в Azure).

Screenshot of the Exception Helper next to a line of code.

Exception Helper in Visual Studio

Управление версиями

В Visual Studio 2022 можно использовать Git непосредственно из интегрированной среды разработки для создания, проверки, проверка и выполнения запросов на вытягивание. Дополнительные сведения см. в статье о том, как Visual Studio упрощает управление версиями с помощью Git.

Вы можете использовать Git или TFVC для хранения и обновления кода в Visual Studio.

О каких еще функциях мне нужно знать?

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

Компонент Подробности Включение
Поиск файл в обозревателе решений Выделяет активный файл в обозревателе решений. Сервис>Параметры>Проекты и решения>Отслеживать активный элемент в обозревателе решений
Добавление директив using для типов в базовых сборках и пакетах NuGet Для типа, на который нет ссылок, выводится значок лампочки с ошибкой с предложением установить пакет NuGet Сервис>Параметры>Текстовый редактор>C#>Дополнительно>Предлагать using для типов в эталонных сборках и Предлагать using для типов в пакетах NuGet
Включить полный анализ решения Вы можете просмотреть все ошибки в решении в списке ошибок Сервис>Параметры>Текстовый редактор>C#>Дополнительно>Включить полный анализ решения
Включение навигации к декомпилированным источникам Позволяет использовать функцию "Перейти к определению" для типов и членов из внешних источников и применять декомпилятор ILSpy для отображения тел методов. Сервис>Параметры>Текстовый редактор>C#>Дополнительно>Разрешить переход к декомпилированным исходным файлам
Режим завершения/подсказки Изменяет поведение завершения в IntelliSense. Разработчики с фонами IntelliJ, как правило, используют здесь неотделимый параметр. Изменение>режима завершения IntelliSense>(или клавиши CTRL+ALT+ПРОБЕЛ В редакторе)
CodeLens Отображает справочные сведения о коде и журнал изменений в редакторе. (Индикаторы системы управления версиями средства CodeLens недоступны в Visual Studio Community Edition.) Сервис>Параметры>Текстовый редактор>Все языки>CodeLens
Фрагменты кода Помогают создать заглушку стандартного кода. Введите имя фрагмента и дважды нажмите клавишу TAB.
Вставка JSON или XML в качестве классов Скопируйте любой фрагмент текста JSON или XML в буфер обмена и вставьте его как строго типизированные классы .NET в любой файл кода C#. Изменение>вставьте специальные>вставки JSON как классы (или вставить XML-классы как классы)
Копирование и обрезка отступов Скопируйте код из Visual Studio в другую программу (Outlook, Teams и т. д.), не исправляя отступ вручную после вставки кода. Доступно в Visual Studio 2022 версии 17.7 и более поздних версиях.