Поделиться через


Настройка анализа динамического кода для .NET

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

  • Фоновые вычисления диагностики: Этот тип анализа определяет ошибки, предупреждения и рекомендации в исходных файлах. Эти диагностические данные отображаются в виде записей в окне списка ошибок и помечены волнистыми линиями в редакторе кода. Их можно классифицировать по следующим категориям:

    • Диагностика компилятора C# и Visual Basic
    • Диагностика анализатора Roslyn, которая включает в себя:
      • Встроенные анализаторы IDE для предложений по стилю кода
      • Встроенные анализаторы кода для предложений по повышению качества кода
      • Пакеты внешнего анализатора , установленные для проектов в текущем решении
  • Другие фоновые анализы: Этот тип анализа повышает скорость реагирования и взаимодействие Visual Studio для функций интегрированной среды разработки. Примеры анализа включают:

    • Фоновый анализ открытых файлов
    • Фоновая компиляция проектов с открытыми файлами для реализации символов для повышения скорости реагирования функций интегрированной среды разработки
    • Создание синтаксиса и кэша символов
    • Определение ассоциации визуального конструктора с исходными файлами, такими как формы и элементы управления.

Область анализа по умолчанию

По умолчанию диагностика компилятора выполняется во всех открытых документах. В Visual Studio 2022 и более поздних версиях диагностика анализатора Roslyn выполняется только в активном документе. Другие фоновые анализы выполняются для всех проектов, имеющих по крайней мере один открытый файл. Некоторые фоновые анализы выполняются для всей системы решения.

Настраиваемая область анализа

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

  • Режим экономии питания

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

  • Анализ кода по запросу

    Если вы предпочитаете отключить динамическое выполнение анализатора и выполнить анализ кода вручную при необходимости, необходимо свести к минимуму фоновый анализ. Дополнительные сведения см. в статье "Выполнение анализа кода вручную для .NET".

  • Полный анализ решений

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

Начиная с Visual Studio 2019, можно явно настроить область всего анализа динамического кода, включая вычисления диагностики для проектов C# и Visual Basic. Доступные области анализа:

Scope Description
Нет Все анализаторы и соответствующие исправления кода отключены.

Диагностика компилятора и соответствующие исправления кода включены во всех открытых документах.
Текущий документ (по умолчанию) Все анализаторы выполняются только в документе, который в данный момент активен.

Диагностика компилятора включена во всех открытых документах.
Открытие документов Все анализаторы и диагностика компилятора включены во всех открытых документах.
Полное решение Все анализаторы и диагностика компилятора включены во всех документах в решении, открытых или закрытых.
  • Текущий документ: Сводит к минимуму область анализа динамического кода, чтобы выполнить только текущий или видимый файл в редакторе.
  • Открытие документов: Область анализа динамического кода включает все открытые документы. Это параметр по умолчанию.
  • Все решение: Максимизирует область анализа динамического кода для выполнения всех файлов и проектов во всем решении.

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

  1. Чтобы открыть диалоговое окно "Параметры", в строке меню в Visual Studio выберите"Параметры>".

  2. В диалоговом окне "Параметры"> выберите "Расширенный" текстовый редактор> (или Visual Basic).

  1. Выберите область фонового анализа кода для: из раскрывающегося списка, чтобы задать параметры области анализа. Нажмите кнопку "ОК " после завершения.

    Снимок экрана: параметры области анализа фонового кода в Visual Studio.

  1. Выберите область фонового анализа в области фонового анализа:. Нажмите кнопку "ОК " после завершения.

    Снимок экрана: параметры области анализа фонового кода в Visual Studio.

Замечание

До Visual Studio 2019 вы настраивали область анализа для вычисления диагностики для всего решения с помощью флажка "Включить полный анализ решений" в ИнструментахПараметрыРедактор кодаC# (или Visual Basic) на вкладке «Дополнительно». В предыдущих версиях Visual Studio нет возможности минимизировать область фонового анализа.

Автоматически минимизировать область действия анализа живого кода

Если Visual Studio обнаруживает, что доступно 200 МБ или меньше системной памяти, он автоматически сводит к минимуму область анализа динамического кода до текущего документа. При возникновении этой ситуации появится оповещение о том, что Visual Studio отключает некоторые функции. Дополнительные сведения см. в разделе "Автоматическая приостановка функций".

Снимок экрана: предупреждение о том, что Visual Studio сводит к минимуму область анализа.