
В этой статье объясняется, как анализатор Roslyn может помочь вам отлаживать и улучшать качество вашего игрового кода в Unity.
Анализатор Roslyn — это инструмент анализа кода, который использует API платформы компилятора Roslyn для анализа кода C# в реальном времени. Анализатор может предоставлять предложения по улучшению кода, предупреждения или ошибки на основе набора предопределенных правил. Он работает как плагин для Microsoft Visual Studio и Microsoft Visual Studio Code, дополняя возможности IntelliSense в обоих этих редакторах кода.
Анализаторы Roslyn строятся на предложениях, дополнениях и информации о доступных API, предоставляемых IntelliSense, с дополнительными инструментами для анализа и выявления потенциальных проблем в вашем коде. Кроме того, вы получите предложения по возможным исправлениям с использованием API платформы компилятора Roslyn.
Анализаторы Roslyn полезны для соблюдения стандартов и предупреждают вас, если вы нарушаете кодовую конвенцию. Кроме того, они часто могут помочь исправить эти ошибки кода или нарушения стиля.
Visual Studio поставляется с множеством стандартных анализаторов, которые являются частью открытого репозитория для Roslyn и хорошим ресурсом для изучения отладки с помощью этого метода.
Примечание. Большая часть этой статьи относится только к Windows. Анализаторы Roslyn также доступны для использования с Visual Studio для macOS, но поддержка их инспекции ограничена по сравнению с тем, что доступно для Windows.

Изображение выше из видео, которое показывает типичное использование анализатора Roslyn. В этом примере анализ кода обнаружил неиспользуемую переменную. Разработчик уведомлен об этой проблеме, потому что переменная count подчеркнута зеленой волнистой линией. Нажатие на него показывает проблему и ссылку с вариантами ее исправления. В видео разработчик решает удалить неиспользуемую переменную на основе рекомендации.
В дополнение к зеленой волнистой линии вы можете увидеть красную волнистую линию или серые точки. Эти разные символы обозначают уровень безопасности проблемы или насколько серьезна проблема для вашего кода.

Как показано в таблице выше, каждый анализатор имеет настраиваемый пользователем уровень серьезности.

Существует несколько доступных анализаторов Roslyn, но Visual Studio также поставляется с некоторыми предустановленными. Вы можете настроить параметры этих встроенных анализаторов в двух местах. Для вашей локальной версии Visual Studio параметры по умолчанию настраиваются через Инструменты > Параметры > Текстовый редактор > C# > Стиль кода > Общие. Вы можете изменить уровень серьезности, используя диалоговое окно, показанное на изображении выше.

Изображение выше представляет собой простой класс кода. Символ многоточия (три точки в строке) под буквами p и o в pos на строке 7 и операторе if на строке 11 указывает на предложение. Зеленая волнистая линия под distance является предупреждением, а красная волнистая линия под двумя экземплярами xPos на строке 11 является ошибкой. Предупреждения и ошибки также появятся в окне списка ошибок.

Вы заметите, что изображение, показывающее параметры для встроенных анализаторов, переключается между только рефакторингом и предложением для Предпочтений блока кода: Предпочитать фигурные скобки. Только рефакторинг скроет многоточие под оператором if.
Если настройка для Предпочитать фигурные скобки является предложением и вы наведете курсор на многоточие, то вы увидите панель, которая показывает ссылку напотенциальные исправления. Нажатие на это показывает другую панель с доступными вариантами. В этом случае доступен только один вариант: добавить фигурные скобки в код. Изображение выше показывает эту последовательность.
Если вы хотите обеспечить стиль кода для конкретного проекта, вы можете добавить файл .editorconfig, который поставляется с проектом. Это может быть эффективным способом обеспечить согласованные правила стиля кода для более крупной команды из многих разработчиков.
Файл .editconfig позволяет вам переопределить настройки в вашей версии Visual Studio через Инструменты > Параметры > Текстовый редактор > C#. Вы даже можете вложить несколько файлов .editorconfig, если это необходимо, разместив один в корне, а другой в подпапке. Файл в подпапке затем переопределит файл в корне.
Следующие разделы описывают, как добавить файл .editorconfig.

Измените уровень серьезности включенного анализатора в окне текстового кода.

Щелкните правой кнопкой мыши на Обозревателе решений и выберите Новый элемент. В следующей панели выберите Установленные > C# > Общий файл editorconfig (по умолчанию).
Другой вариант - выбрать Сгенерировать файл .editorconfig из настроек в панели Инструменты > Параметры > Текстовый редактор > C# (как показано на изображении под Настроить встроенные анализаторы).

Теперь, когда у вас есть файл .editorconfig, Visual Studio (версия для Windows) отображает редактируемый вид текстового файла в фоновом режиме. Изменения в этом файле повлияют на скрипты C# в папке, где сохранен .editorconfig, и во всех подпапках.

Вы можете расширить функциональность, добавив предустановленные анализаторы Roslyn. Анализаторы устанавливаются либо как пакеты NuGet, либо как расширения Visual Studio (файлы VSIX). Перейдите на www.nuget.org для процесса установки пакета NuGet. Популярным является StyleCop.Analyzers, который ищет проблемы стиля в вашем коде.
Установите пакет в Visual Studio, используя консоль диспетчера пакетов через Инструменты > Диспетчер пакетов NuGet > Консоль диспетчера пакетов. Страница www.nuget.org для каждого пакета анализатора показывает вам команду для вставки в консоль диспетчера пакетов. Есть даже удобная кнопка для копирования текста в буфер обмена.

Сборки анализаторов устанавливаются и отображаются в обозревателе решений под Ссылки > Анализаторы.

Другой вариант - установить анализаторы, предоставляемые в виде расширений VSIX. В Visual Studio выберите Расширения > Управление расширениями.
Если вы знаете название расширения, используйте поле поиска, чтобы найти его, или просто поищите «анализатор». На изображении выше показан выбранный Comment Analyzer. Нажмите «Загрузить», чтобы установить расширение анализатора, выберите «ОК», чтобы закрыть диалоговое окно, и закройте все экземпляры Visual Studio, чтобы запустить установщик VSIX.
Выберите Изменить, чтобы начать установку. После завершения установки выберите Закрыть и снова откройте Visual Studio.

Если вы хотите проверить, установлено ли расширение, выберите Расширения > Управление расширениями. В диалоговом окне «Управление расширениями» выберите категорию «Установленные» слева, а затем найдите расширение по имени.

Эта статья сосредоточена на встроенных анализаторах Roslyn, доступных с Visual Studio, но вы также можете создать свои собственные. Анализаторы, созданные с использованием платформы компилятора .NET, могут значительно улучшить качество кода вашей команды.
По мере того, как вы становитесь опытнее в создании анализаторов, вы заметите, как они помогают вашей команде стать более продуктивной в решении проблем с кодом, таких как синтаксис, повторяющиеся правки, руководство по новой библиотеке и многое другое.
Несколько хороших дополнительных ресурсов от Microsoft включают этот учебник о том, как создать свой собственный анализатор C# Roslyn и это видео на YouTube об анализаторах Roslyn.
Отладка в Unity
Получите больше советов по отладке вашего проекта Unity из этих статей:
Расширенные технические электронные книги
Unity предоставляет ряд продвинутых руководств, чтобы помочь профессиональным разработчикам оптимизировать код игры. Создайте руководство по стилю C#: Пишите более чистый код, который масштабируется компилирует советы от экспертов отрасли о том, как создать руководство по стилю кода, чтобы помочь вашей команде разработать чистую, читаемую и масштабируемую кодовую базу.
Еще одно популярное руководство среди наших пользователей - это 70+ советов по повышению продуктивности с Unity. Оно наполнено советами по экономии времени, чтобы улучшить ваш повседневный агрегированный рабочий процесс с Unity 2020 LTS – советы, которые даже опытные разработчики могли упустить.
Найдите все продвинутые электронные книги и статьи Unity в центре лучших практик Unity.