IntelliCode: Desarrollo de código asistido por IA en Visual Studio

GitHub Copilot, GitHub Copilot Chat e IntelliCode permiten el desarrollo asistido por IA en Visual Studio, lo que le ayuda a ser más productivo y eficiente al escribir código.

En este artículo aprenderá sobre cómo IntelliCode de Visual Studio mejora el desarrollo de software mediante inteligencia artificial, por ejemplo, al entregar finalizaciones automáticas de código con reconocimiento de contexto, incluidas las finalizaciones de línea completa en texto gris. IntelliCode se incluye de forma predeterminada en la mayoría de las cargas de trabajo de Visual Studio y está disponible a través del instalador de Visual Studio. Esta característica predice el método o la propiedad correcta más probable para que el desarrollador la utilice, en lugar de limitarse a una lista alfabética. Usa el contexto de código actual y patrones del desarrollador para proporcionar esta lista dinámica.

Además de proporcionar sugerencias de miembros, IntelliCode proporciona finalización de argumentos. Esta funcionalidad asigna estrellas a los nombres de argumento que probablemente use al llamar a un método y coloca las sugerencias en la parte superior de la lista de finalización. La lista de finalización aparece cuando empieza a escribir dentro de los paréntesis o presiona Ctrl+Espacio.

Screenshot of argument completion in IntelliCode for Visual Studio.

IntelliCode realiza un seguimiento local de las ediciones, detecta cuándo se realiza una acción repetitiva y ofrece sugerencias la opción de aplicar esa misma acción en otros lugares similares (solo C#). Screenshot of suggestions for C# in Visual Studio.

Finalizaciones automáticas de código con reconocimiento de contexto

IntelliCode proporciona IntelliSense asistido por IA para varios lenguajes. Las sugerencias de IntelliCode aparecen en la parte superior de la lista de finalizaciones con un icono de estrella junto a ellas:

Screenshot of starred IntelliSense suggestions using IntelliCode in Visual Studio.

En la lista de finalizaciones se sugiere la API que probablemente sea más correcta para que la use un desarrollador, en lugar de presentar una simple lista alfabética de miembros. Para proporcionar esta lista dinámica, IntelliCode usa el contexto de código actual del desarrollador y patrones basados en miles de proyectos de código abierto de alta calidad en GitHub. Los resultados forman un modelo que predice las llamadas API más probables y más relevantes.

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

Los desarrolladores de C# en Visual Studio 2022 y versiones posteriores también se benefician de Finalizaciones automáticas de línea completa, que predicen el siguiente fragmento del código en función del código actual escrito hasta el momento y lo presentan como una predicción insertada.

Nota:

Algunas de las características de IntelliCode todavía están en versión preliminar, lo que significa que no hay ninguna garantía de compatibilidad para el futuro. Las características en versión preliminar están deshabilitadas de forma predeterminada. Para habilitar o deshabilitar las características en versión preliminar de IntelliCode, elija Herramientas>Opciones>IntelliCode. En Características en versión preliminar, elija Habilitar, Deshabilitar o Predeterminada para configurar cada característica.

Instalar IntelliCode para Visual Studio

  1. Descargue Visual Studio, versión 16.4 o posterior.
  2. Instale una carga de trabajo admitida, como el desarrollo de escritorio de .NET. Visual Studio IntelliCode se instala de forma predeterminada.

Para desactivar las recomendaciones de IntelliSense con estrella, deshabilite la extensión seleccionando Extensiones>Administrar extensiones en el menú, busque y seleccione la extensión IntelliCode y, a continuación, haga clic en Deshabilitar.

Cargas de trabajo y lenguajes admitidos

Los lenguajes admitidos para las finalizaciones de IntelliSense asistido por IA son los siguientes:

  • C#
  • XAML
  • C++
  • JavaScript y TypeScript, que requieren TypeScript 3.4.2 o una versión posterior
  • Visual Basic

IntelliCode se incluye en Visual Studio 2019, versión 16.4, como parte de cualquiera de las siguientes cargas de trabajo:

  • Desarrollo de Azure
  • Desarrollo de escritorio de .NET
  • Desarrollo móvil con .NET
  • Desarrollo de juegos con Unity
  • Desarrollo multiplataforma de .NET Core
  • Desarrollo web y ASP.NET
  • Desarrollo de extensiones de Visual Studio
  • Desarrollo de la Plataforma universal de Windows
  • Desarrollo de Office y SharePoint
  • Desarrollo para el escritorio con C++
  • Desarrollo de juegos con C++
  • Desarrollo móvil con C++
  • Desarrollo para Linux con C++

Finalizaciones de equipo

Las versiones anteriores de IntelliCode proporcionaban una manera de entrenar un modelo en el código, lo que proporciona finalizaciones de métodos ordenadas para marcos de API específicos del equipo, bibliotecas y otros proyectos de usuario. Esta funcionalidad se ha reemplazado por un modelo de aprendizaje profundo que se ejecuta en la máquina y está disponible gratuitamente para los usuarios de C#. Consulte Actualizar modelos de finalizaciones de equipos personalizados de IntelliCode a aprendizaje profundo. IntelliCode es gratuito para todos los usuarios de Visual Studio.

Si es un usuario de C++, puede suscribirse a GitHub Copilot para el desarrollo de código asistido por IA. GitHub Copilot y IntelliSense de Visual Studio funcionan conjuntamente para mejorar las finalizaciones de código. Consulte La lista de IntelliSense de Visual Studio ahora puede dirigir las finalizaciones de código de GitHub Copilot. GitHub Copilot requiere una suscripción, pero puede evaluarla con una evaluación gratuita.

Solución de errores de IntelliCode en Visual Studio

Si no ve ninguna sugerencia de IntelliCode, es posible que tenga extensiones instaladas que invaliden la interfaz de usuario de IntelliSense. Estas extensiones pueden evitar que las sugerencias con estrella de IntelliCode aparezcan en la parte superior de la lista. Para comprobar si una extensión está causando este comportamiento, desactívela y vuelva a probar IntelliSense. O bien, si la extensión lo admite, desactive sus características de finalización automática.

Si deshabilitar extensiones que invalidan la interfaz de usuario de IntelliSense no resuelve el problema, notifíquelo mediante la característica Notificar un problema de Visual Studio y mencione a IntelliCode en el informe.

Telemetría

IntelliCode captura algunos datos de uso y de informe de errores anónimos para ayudar a mejorar el producto. No se envía ningún código definido por el usuario a Microsoft, pero recopilamos información sobre el uso de los resultados de IntelliCode. Para obtener sugerencias de modelo base, que son tipos y miembros de código abierto o .NET, se captura si ha seleccionado una sugerencia de IntelliCode y se registra el nombre de la sugerencia. Microsoft usa los datos para supervisar la calidad del modelo base. Para los modelos personalizados, se captura si ha seleccionado una sugerencia de IntelliCode pero no se registran los nombres de los tipos o métodos definidos por el usuario.

Para desactivar la recopilación de datos para IntelliCode, puede optar por no participar en el Programa para la mejora de la experiencia de Visual Studio. En la barra de menús, seleccione Ayuda>Enviar comentarios>Configuración. En el cuadro de diálogo Programa de mejora de experiencia de Visual Studio, seleccione No, prefiero no participar y, después, seleccione Aceptar.

Consulte también