IntelliCode: разработка кода с поддержкой ИИ в Visual Studio

GitHub Copilot, GitHub Copilot Chat и IntelliCode обеспечивают разработку с поддержкой искусственного интеллекта в Visual Studio, помогая повысить производительность и эффективность при написании кода.

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

Помимо предоставления предложений участников, IntelliCode также обеспечивает завершение аргументов. Эта функция помечает звездочкой имена аргументов, которые вы с наибольшей долей вероятности будете использовать при вызове метода, и помещает их в начало списка завершения. Список завершения появляется, когда вы начинаете вводить текст внутри круглых скобок или нажимаете сочетание клавиш CTRL+ПРОБЕЛ.

Screenshot of argument completion in IntelliCode for Visual Studio.

IntelliCode локально отслеживает изменения, обнаруживает при выполнении повторяющегося действия и предлагает предложения для применения этого же действия в других аналогичных местах (только C#). Screenshot of suggestions for C# in Visual Studio.

Автозаполнения кода с учетом контекста

IntelliCode предоставляет IntelliSense с поддержкой ИИ для нескольких языков. Предложения IntelliCode отображаются в начале списка завершения со значком звездочки:

Screenshot of starred IntelliSense suggestions using IntelliCode in Visual Studio.

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

Screenshot of C# whole-line autocompletions in Visual Studio.

Разработчики C# в Visual Studio 2022 и более поздних версиях также получают преимущества автозаполнения всей строки, которые прогнозируют следующий фрагмент кода на основе текущего кода до сих пор и представляют его как встроенный прогноз.

Примечание.

Некоторые функции IntelliCode по-прежнему находятся в предварительной версии, то есть нет гарантии будущей поддержки. Предварительные версии функций по умолчанию отключены. Чтобы включить или отключить предварительные версии функций IntelliCode, выберите Сервис>Параметры>IntelliCode. В разделе Функции предварительной версии выберите Включить, Отключить или По умолчанию, чтобы настроить поведение отдельных функций.

Установка IntelliCode для Visual Studio

  1. Скачайте Visual Studio версии 16.4 или более поздней версии.
  2. Установите поддерживаемую рабочую нагрузку, например "Разработка классических приложений .NET". Visual Studio IntelliCode устанавливается по умолчанию.

Чтобы отключить рекомендации IntelliSense, отключите расширение, выбрав "Расширения>управления расширениями" в меню, найдите и выберите расширение IntelliCode, а затем нажмите кнопку "Отключить".

Поддерживаемые языки и рабочие нагрузки

Поддерживаемые языки для завершения IntelliSense с поддержкой ИИ:

  • C#
  • XAML
  • C++
  • JavaScript и TypeScript, для которых требуется TypeScript 3.4.2 или более поздней версии
  • Visual Basic

IntelliCode входит в Visual Studio 2019 версии 16.4 в составе любой из следующих рабочих нагрузок:

  • Разработка Azure
  • "Разработка классических приложений .NET";
  • Разработка мобильных приложений на .NET
  • Разработка игр с помощью Unity
  • Кроссплатформенная разработка .NET Core.
  • ASP.NET и веб-разработка
  • Разработка расширений Visual Studio
  • "Разработка приложений для универсальной платформы Windows".
  • Разработка для Office и SharePoint
  • "Разработка классических приложений на C++";
  • Разработка игр на языке C++
  • Разработка мобильных приложений на языке C++
  • Разработка для Linux на C++

Завершения для команд

Предыдущие версии IntelliCode предоставили способ обучения модели в коде, предоставляя отсортированные завершения методов для платформ API, библиотек и других пользовательских проектов. Эта функция заменена моделью глубокого обучения, которая работает на компьютере и доступна для пользователей C#. См. статью об обновлении моделей завершения пользовательских команд IntelliCode до глубокого обучения. IntelliCode предоставляется бесплатно для всех пользователей Visual Studio.

Если вы являетесь пользователем C++, вы можете подписаться на GitHub Copilot для разработки кода с поддержкой ИИ. GitHub Copilot и Visual Studio IntelliSense совместно работают над улучшением завершения кода; См . список IntelliSense Visual Studio теперь может управлять завершением кода GitHub Copilot. Для GitHub Copilot требуется подписка, но ее можно оценить с помощью бесплатной пробной версии.

Устранение ошибок IntelliCode в Visual Studio

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

Если отключение расширений, переопределяющих пользовательский интерфейс IntelliSense, не решает проблему, сообщите о ней с помощью функции отчета Visual Studio и упоминание IntelliCode в отчете.

Телеметрия

IntelliCode собирает некоторые обезличенные данные об использовании и ошибках в целях улучшения продукта. Никакой пользовательский код не отправляется в корпорацию Майкрософт, но мы собираем сведения об использовании результатов IntelliCode. Чтобы определить предложения для базовой модели, которые основываются на типах и членах с открытым исходным кодом или .NET, мы учитываем, выбрали ли вы предложение IntelliCode, и регистрируем имя предложения. Корпорация Майкрософт использует эти данные для мониторинга качества базовой модели. Для пользовательских моделей мы фиксируем выбор предложения IntelliCode, но не регистрируем имена определяемых пользователем типов или методов.

Чтобы отключить сбор данных для IntelliCode, откажитесь от участия в программе улучшения Visual Studio. В строке меню выберите Справка>Обратная связь>Параметры. В диалоговом окне Программа улучшения Visual Studio выберите Нет, я не хочу участвовать и затем нажмите ОК.

См. также