Пакет SDK для .NET Compiler Platform
Компиляторы создают детализированную модель кода приложения по мере проверки синтаксиса и семантики этого кода. Они используют эту модель для сборки на выходе исполняемых файлов из исходного кода. Пакет SDK для .NET Compiler Platform предоставляет доступ к этой модели. Мы все шире используем возможности интегрированной среды разработки (IDE), такие как IntelliSense, рефакторинг, интеллектуальное переименование, функции "Найти все ссылки" и "Перейти к определению", чтобы повысить производительность. Мы применяем средства анализа кода, чтобы улучшить его качество, и генераторы кода, чтобы упростить разработку приложений. Эти средства становятся все более интеллектуальными, и им требуется доступ ко все большему числу моделей, которые создаются исключительно компиляторами при обработке кода приложения. Основное назначение API-интерфейсов Roslyn — открывать "черные ящики", чтобы средства и пользователи могли обмениваться данными, используя большой объем сведений о коде, доступных в компиляторе. В отличие от непрозрачной работы преобразователей исходного кода на входе в объектный код на выходе, компиляторы с использованием Roslyn выполняют функции платформ. Эти API-интерфейсы можно использовать для связанных с кодом задач в средствах и приложениях.
Основные преимущества пакета SDK для .NET Compiler Platform
Пакет SDK для .NET Compiler Platform значительно сокращает требования к созданию средств и приложений, ориентированных на код. Он предоставляет множество возможностей для инноваций в таких областях, как метапрограммирование, создание и преобразование кода, интерактивное использование языков C# и Visual Basic, а также их внедрение в доменные языки.
Пакет SDK .NET Compiler Platform позволяет создавать анализаторы и исправления кода, которые обнаруживают и исправляют ошибки написания кода. Анализаторы понимают синтаксис (структуру кода) и семантику для обнаружения методов, которые должны быть исправлены. Исправления кода предоставляют одно или несколько предлагаемых исправлений для устранения ошибок кодирования, обнаруженных анализаторами или диагностикой компилятора. Обычно анализатор и соответствующие средства исправления кода упакованы в один проект.
Для изучения кода в анализаторах и средствах исправления используется статический анализ. Они не запускают код и не предоставляют другие преимущества тестирования. Но они могут указывать на методы, использование которых часто приводит к ошибкам, помогают выявить неподдерживаемый код и нарушение стандартных рекомендаций.
Помимо анализаторов и исправлений кода, пакет SDK .NET Compiler Platform также позволяет создавать рефакторинг кода. Пакет также предоставляет единый набор API-интерфейсов, которые позволяют проверять и анализировать базу кода C# или Visual Basic. Единая база кода упрощает создание анализаторов и средств исправления. При этом используются API-интерфейсы из пакета SDK для .NET Compiler Platform, которые позволяют проводить синтаксический и семантический анализ. Предоставьте выполнение комплексного анализа компилятору и сосредоточьтесь на более конкретных задачах. Выявляйте и устраняйте распространенные ошибки кодирования для своего проекта или библиотеки.
Дополнительным преимуществом является то, что анализаторы и средства исправления кода используют гораздо меньше памяти при загрузке в Visual Studio, чем понадобилось бы при написании собственной базы кода для анализа кода в проекте. Используя те же классы, что компилятор и Visual Studio, вы можете создавать собственные средства статического анализа. Это означает, что члены вашей команды смогут использовать анализаторы и средства исправления кода без существенного воздействия на производительность IDE.
Есть три основных сценария использования анализаторов и средств исправления кода:
- Применение стандартов кодирования в команде.
- Предоставление рекомендаций с пакетами библиотек.
- Предоставление общих рекомендаций
Применение стандартов кодирования в команде
У многих команд разработчиков есть стандарты кодирования, которые применяются при совместной проверке кода. Анализаторы и средства исправления кода значительно повысят эффективность этого процесса. Проверка кода происходит после того, как разработчик представит выполненную задачу на рассмотрение в команде. За весь период создания функции он не получает никаких комментариев. Разработчик может неделями приучаться к практикам разработки, которые идут вразрез со стандартами команды.
Анализаторы же начинают работу вместе с ним. Разработчик сразу же получает отзывы, которые помогают привести код в соответствие с рекомендациями. Он вырабатывает методику написания совместимого кода, как только начинает создавать прототипы. Когда функция будет готова к проверке в команде, все стандартные рекомендации будут соблюдены.
Команды могут создавать анализаторы и средства исправления кода, которые будут выявлять распространенные приемы, нарушающие командную методику написания кода. Анализаторы и средства исправления можно установить на компьютере каждого разработчика, чтобы обеспечить применение стандартов.
Совет
Прежде чем создать собственный анализатор, ознакомьтесь со встроенными анализаторами. Дополнительные сведения см. в разделе Анализ стиля кода.
Предоставление рекомендаций с пакетами библиотек
В NuGet есть широкий набор библиотек для разработчиков .NET. Некоторые из них получены из корпорации Майкрософт, некоторые — из сторонних компаний, другие же предоставлены членами сообществ и волонтерами. Такие библиотеки чаще внедряются и выше оцениваются, если разработчики успешно используют их в своих решениях.
Помимо документации, вы можете предоставить анализаторы и средства исправления кода для выявления и устранения распространенных ошибок в использовании вашей библиотеки. Эти мгновенные исправления помогут разработчикам быстрее достигать своих целей.
Вы можете упаковать анализаторы и средства исправления кода вместе с библиотекой в NuGet. Тогда каждый разработчик, который установит ваш пакет NuGet, получит и пакет с анализаторами. Все разработчики, использующие вашу библиотеку, сразу же получат рекомендации от вашей команды с уведомлением об ошибке и рекомендуемыми способами ее устранения.
Предоставление общих рекомендаций
Сообществом разработчиков .NET на практике были определены эффективные схемы и схемы, которых лучше избегать. Несколько членов сообщества создали анализаторы, в которых реализованы рекомендуемые схемы. Чем больше мы учимся, тем больше у нас возникает идей.
Эти анализаторы можно отправить в Visual Studio Marketplace. Затем разработчики смогут скачать их с помощью Visual Studio. Новички в работе с языком и платформой быстро освоят правильные методики и достигнут требуемого уровня производительности на самых ранних этапах работы с NET. Как только методики начинают широко использоваться, сообщество их принимает.
Следующие шаги
Пакет SDK для .NET Compiler Platform включает новейшие объектные модели языков для создания, анализа и оптимизации кода. Этот раздел содержит обзор основных преимуществ пакета SDK для .NET Compiler Platform. Дополнительные сведения можно найти в кратких руководствах, примерах и другой документации.
Дополнительные сведения об основных преимуществах пакета SDK для .NET Compiler Platform см. в следующих пяти разделах:
- Изучение кода с помощью визуализатора синтаксиса
- Understand the .NET Compiler Platform SDK model (Сведения о модели SDK для .NET Compiler Platform)
- Работа с синтаксисом
- Работа с семантикой
- Использование рабочей области
Чтобы приступить к работе, потребуется установить пакет SDK для .NET Compiler Platform:
Инструкции по установке — Visual Studio Installer
Найти SDK-пакет .NET Compiler Platform в Visual Studio Installer можно двумя способами:
Установка с помощью Visual Studio Installer — представление "Рабочие нагрузки"
SDK-пакет .NET Compiler Platform не выбирается автоматически в рамках рабочей нагрузки разработки расширений Visual Studio. Его необходимо выбрать как дополнительный компонент.
- Запустите Visual Studio Installer.
- Выберите Изменить.
- Отметьте рабочую нагрузку Разработка расширений Visual Studio.
- Откройте узел Разработка расширений Visual Studio в дереве сводки.
- Установите флажок SDK-пакет .NET Compiler Platform. Нужный пакет будет представлен последним в списке дополнительных компонентов.
Кроме того, вы можете настроить редактор DGML для отображения диаграмм в средстве визуализации:
- Откройте узел Отдельные компоненты в дереве сводки.
- Установите флажок Редактор DGML
Установка с помощью Visual Studio Installer — вкладка "Отдельные компоненты"
- Запустите Visual Studio Installer.
- Выберите Изменить.
- Откройте вкладку Отдельные компоненты.
- Установите флажок SDK-пакет .NET Compiler Platform. Нужный пакет будет представлен в разделе Компиляторы, средства сборки и среды выполнения в самом начале.
Кроме того, вы можете настроить редактор DGML для отображения диаграмм в средстве визуализации:
- Установите флажок Редактор DGML. Нужный пакет будет представлен в разделе Средства для работы с кодом.