Crea código con Gemini Code Assist

En este documento, se describe cómo puedes usar Gemini Code Assist, un colaborador potenciado por IA en Google Cloud, para ayudarte a hacer lo siguiente en el editor de base de Cloud Workstations:

  • Proporcionar orientación para ayudarte a resolver problemas con tu código

  • Genera código para tu proyecto.

  • Recibir sugerencias intercaladas mientras escribes código

Descubre cómo y cuándo Gemini para Google Cloud usa tus datos.

Para ayudarte a cumplir con los requisitos de licencia de tu código, Gemini Code Assist proporciona citas de fuentes cuando sus sugerencias citan directamente una fuente específica. Para obtener más información sobre cómo y cuándo Gemini cita fuentes, consulta Cómo Gemini te ayuda a generar código y cita fuentes.

La personalización de código te permite obtener sugerencias de código basadas en la base de código privada de tu organización directamente desde Gemini Code Assist. Obtén información para configurar la personalización de código.

Este documento está dirigido a desarrolladores de todos los niveles de habilidad. Se supone que tienes conocimientos prácticos de Cloud Workstations y que estás familiarizado con Google Cloud. Si lo prefieres, también puedes explorar Gemini Code Assist en Cloud Code para VS Code, Cloud Code para IntelliJ y Editor de Cloud Shell.

Antes de comenzar

  1. Asegúrate de tener el rol de administrador de IAM de estaciones de trabajo de Cloud en el proyecto para que puedas crear configuraciones de estaciones de trabajo.

    Ve a IAM

  2. Configura tu estación de trabajo si aún no lo has hecho y asegúrate de seleccionar Base Editor (Code-OSS) en la configuración.

  3. Antes de probar las funciones de Gemini Code Assist en tu archivo de código, asegúrate de que el lenguaje de programación del archivo sea compatible. Para obtener más información sobre los lenguajes de programación admitidos, consulta Lenguajes de programación admitidos.

Cómo conectarse a Google Cloud y seleccionar un proyecto

En esta sección, te conectarás a Google Cloud y seleccionarás un proyecto de Google Cloud con la API de Gemini para Google Cloud habilitada en tu estación de trabajo.

Si seleccionas un proyecto de Google Cloud sin la API de Gemini para Google Cloud habilitada, recibirás una notificación que te dará la opción de habilitar la API desde el IDE. Selecciona Habilitar la API en la ventana de notificación para habilitar la API de tu proyecto. Para obtener más información, consulta Configura Gemini Code Assist para un proyecto.

Para conectarte a Google Cloud en tu estación de trabajo, sigue estos pasos:

  1. En la consola de Google Cloud, inicia tu estación de trabajo.

    Cómo iniciar la estación de trabajo

  2. En la barra de estado, haz clic en Cloud Code - Acceder.

    Botón Cloud Code - Acceder en la barra de estado.

  3. Cuando se te solicite que accedas, haz clic en Proceed to sign in.

  4. Para iniciar el flujo de acceso de Google Cloud, presiona Control (para Windows y Linux) o Comando (para macOS) y haz clic en la URL en la consola.

  5. Si se te solicita permitir que Cloud Workstations abra el sitio web externo, haz clic en Abrir.

  6. Para acceder a tu cuenta, sigue las indicaciones.

    Si se te solicita que te asegures de haber descargado esta app de Google, haz clic en Acceder.

    Se abrirá una pestaña nueva en tu navegador que mostrará tu código de verificación para acceder a Cloud Code.

  7. Copia el código de verificación y pégalo en la terminal donde dice Enter authorization code y, luego, presiona Intro (para Windows y Linux) o Volver (para macOS).

    Ya te conectaste a Google Cloud.

A continuación, para seleccionar un proyecto de Google Cloud que tenga habilitada la API de Gemini para Google Cloud, sigue estos pasos:

  1. En la barra de estado de Gemini Code Assist, haz clic en Gemini Code Assist.

    La barra de estado de Gemini está disponible.

  2. En el menú Gemini Code Assist, selecciona Select Gemini Code Project.

  3. Selecciona un proyecto de Google Cloud que tenga habilitada la API de Gemini para Google Cloud.

    Gemini está listo para usarse.

    El ícono de Gemini en la barra de estado se establece como normal.

Chatea con Gemini Code Assist

En esta sección, aprenderás a abrir el panel Gemini Code Assist y a chatear con Gemini Code Assist para obtener una explicación de tu código existente.

Para comenzar a chatear con Gemini, sigue estos pasos:

  1. Abre el archivo de código.

  2. En la barra de actividades de tu estación de trabajo, haz clic en spark Gemini Code Assist.

  3. En el panel de Gemini Code Assist, ingresa la instrucción Explain this code to me y haz clic en send Enviar.

    Gemini usa el código de tu archivo de código como referencia a tu instrucción y responde con una explicación de tu código.

    Para hacer referencia a un bloque de código específico en lugar de todo el código del archivo, puedes seleccionar el bloque en el archivo de código y, luego, solicitarle a Gemini que lo haga.

Restablece el historial de chat

Gemini Code Assist usa el historial de chat para obtener contexto adicional cuando responde a tus instrucciones.

Si el historial de chat ya no es relevante para lo que intentas lograr, puedes restablecerlo: en el panel de Gemini Code Assist, haz clic en delete Restablecer chat.

Genera código con instrucciones

En las siguientes secciones, se muestra cómo usar Gemini Code Assist para generar código con la instrucción de ejemplo Function to create a Cloud Storage bucket dentro de tu archivo de código. También puedes seleccionar una parte de tu código y, luego, pedirle ayuda a Gemini Code Assist a través de la función de chat, y recibir y aceptar o rechazar sugerencias de código mientras escribes.

Cómo solicitar Gemini Code Assist en un archivo de código

  1. En el archivo de código, en una línea nueva, ingresa el comentario Function to create a Cloud Storage bucket y, luego, presiona Intro (para Windows y Linux) o Retorno (para macOS).

  2. Para generar código, presiona Control + Intro (para Windows y Linux) o Control + Intro (para macOS).

    Junto al texto de la instrucción en el archivo de código, Gemini Code Assist genera el código en forma de texto fantasma.

  3. Opcional: Para aceptar el código generado, presiona Tab.

Opcional: Cambia la combinación de teclas para generar código

Si la combinación de teclas predeterminada para generar código no funciona como se describe en la sección anterior, puedes cambiarla siguiendo estos pasos:

  1. En tu estación de trabajo, haz clic en menu Menú y, luego, navega a Archivo > Preferencias > Accesos directos del teclado.

  2. En la lista de combinaciones de teclas, busca Cloud Code: Generate Code.

  3. Haz clic en Cloud Code: Generate Code y, luego, en edit Change Keybinding.

  4. En el cuadro de diálogo que aparece, ingresa tu propia combinación de teclas.

  5. Presiona Intro (para Windows y Linux) o Retorno (para macOS).

    Ahora puedes usar la combinación de teclas asignada recientemente para generar código con Gemini.

Cómo enviar una instrucción a Gemini Code Assist con el código seleccionado a través del chat

Gemini Code Assist puede realizar tareas o responder tus preguntas según el código que selecciones. Para obtener código generado que se base en una instrucción con código seleccionado, sigue estos pasos:

  1. En la barra de actividades, haz clic en spark Gemini Code Assist para abrir el panel Gemini Code Assist.

  2. En el archivo de código, selecciona un bloque de código.

  3. En el campo de texto del panel Gemini Code Assist, ingresa una instrucción para el código seleccionado.

    Por ejemplo, selecciona una función en tu código y, luego, ingresa la instrucción Write a unit test for this function:

    Gemini escribe una prueba de unidades para una función seleccionada.

    Gemini usa el código seleccionado como referencia y responde a tu instrucción.

Obtén sugerencias intercaladas mientras escribes código

Mientras escribes código, Gemini Code Assist te ofrece sugerencias de código intercaladas que puedes aceptar o ignorar. Para probar esta función, sigue estos pasos:

  1. En el archivo de código, en una línea nueva, comienza a escribir una función. Por ejemplo, si estás en un archivo de Python, escribe def.

    Gemini sugiere código en forma de texto fantasma.

  2. Para aceptar la sugerencia de código de Gemini Code Assist, presiona Tab. De lo contrario, para ignorar la sugerencia, presiona Esc o continúa escribiendo el código.

Opcional: Inhabilita las sugerencias intercaladas

Si prefieres inhabilitar las sugerencias intercaladas en Gemini Code Assist, sigue estos pasos:

  1. En tu estación de trabajo, selecciona menu Menú y, luego, ve a Archivo > Preferencias > Configuración.

  2. En la pestaña User del cuadro de diálogo Settings, navega a Extensions > Cloud Code.

  3. Desplázate hasta encontrar la lista Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto y, luego, selecciona Desactivado.

    Esto desactiva las sugerencias intercaladas. Puedes presionar Control + Intro (para Windows y Linux) o Control + Intro (para macOS) para activar manualmente las sugerencias intercaladas.

Opcional: Excluye archivos del contexto con un archivo .aiexclude

Puedes excluir archivos para que Gemini Code Assist no los considere para el contexto. Para ello, crea un archivo .aiexclude. Un archivo .aiexclude tiene una sintaxis similar a la de un archivo .gitignore, con las siguientes diferencias:

  • Un archivo .aiexclude vacío o inexistente no bloquea ningún archivo en su directorio ni en todos los subdirectorios.
  • Un archivo .aiexclude no admite la negación, en la que se antepone un signo de exclamación (!) a los patrones.
  • Un archivo .aiexclude coincide de manera codiciosa con el carácter *. Esto hará coincidir de manera indiscriminada los directorios y los archivos. Este archivo .aiexclude no diferencia entre ** o * en relación con las carpetas o los archivos.

Actualmente, solo se admite un solo archivo .aiexclude. Para configurar tu archivo .aiexclude, crea un archivo titulado .aiexclude en la raíz de la carpeta de tu lugar de trabajo. Si quieres colocar este archivo fuera de la raíz del lugar de trabajo o cambiarle el nombre, la ruta de acceso se puede establecer en la configuración de VS Code, en “Archivo de exclusión de contexto”. El valor de ruta proporcionado en este parámetro de configuración se resolverá en relación con la carpeta raíz de tu espacio de trabajo abierto.

Ejemplos

En los siguientes ejemplos, se muestra cómo puedes configurar un archivo .aiexclude:

  • Bloquea todos los archivos llamados apikeys.txt en el directorio del espacio de trabajo o debajo de él:

    apikeys.txt
    
  • Bloquea todos los archivos con la extensión .key en el directorio del espacio de trabajo o debajo de él:

    *.key
    
  • Bloquea solo el archivo apikeys.txt en el mismo directorio que el archivo .aiexclude, pero no en ningún subdirectorio:

    /apikeys.txt
    
  • Bloquea todos los archivos del directorio my/sensitive/dir y todos los subdirectorios. La ruta de acceso debe ser relativa al directorio raíz del lugar de trabajo.

    my/sensitive/dir/*
    

Inhabilita las sugerencias de código que coincidan con las fuentes citadas

Gemini proporciona información de cita cuando cita de forma directa y en detalle una fuente, como el código de código abierto existente. Para obtener más información, consulta Cómo y cuándo Gemini cita fuentes.

Para evitar que se sugiera código que coincida con las fuentes citadas, puedes modificar el parámetro de configuración cloudcode.duetAI.recitation.maxCitedLength a 0 en un archivo settings.json:

"cloudcode.duetAI.recitation.maxCitedLength": 0

Usa acciones inteligentes

Para ayudarte a aumentar la productividad y, al mismo tiempo, minimizar el cambio de contexto, Gemini Code Assist proporciona acciones inteligentes potenciadas por IA directamente en tu editor de código. Cuando seleccionas tu código en el editor de código, puedes ver una lista de acciones relevantes para tu contexto y elegir alguna.

Para usar acciones inteligentes en tu código, sigue estos pasos:

  1. En el archivo de código, selecciona un bloque de código.

  2. Junto al bloque de código seleccionado, haz clic en lightbulb Mostrar acciones de código.

    El ícono de bombilla de las acciones inteligentes aparece después de seleccionar un bloque de código en Shell y Workstations.

  3. Selecciona una acción, como Generar pruebas de unidades.

    Gemini genera una respuesta basada en la acción que seleccionaste.

Usa la transformación de código

Gemini Code Assist proporciona transformación de código, que te permite seleccionar una parte de tu archivo de código y solicitar modificaciones en tu código existente a través de instrucciones en lenguaje natural, con un cuadro de texto intercalado.

Con la transformación de código, puedes hacer lo siguiente:

  • Genera líneas de comentarios para documentar tu código
  • Soluciona problemas relacionados con el código
  • Mejora la legibilidad del código
  • Cómo hacer que el código sea más eficiente

También puedes ver las fuentes de contexto de una respuesta generada en el panel Gemini: Chat.

Cómo enviar instrucciones a Gemini Code Assist con el cuadro de texto intercalado

El cuadro de texto intercalado te permite interactuar con Gemini Code Assist directamente en tu archivo de código.

Para abrir el cuadro de texto intercalado y solicitar Gemini, sigue estos pasos:

  1. En el archivo de código, presiona Control + I (para Windows y Linux) o Comando + I (para macOS).

  2. Ingresa un mensaje, como Write a function to create a Cloud Storage bucket, y presiona Intro (para Windows y Linux) o Retorno (para macOS).

    Gemini Code Assist genera el código según tu instrucción.

Cómo ver la diferencia del código refactorizado

Con la vista de diferencias integrada en el cuadro de texto intercalado, puedes ver los cambios que Gemini sugiere y tu código original. Luego, puedes aceptar o descartar los cambios sugeridos.

Para ver la diferencia del código refactorizado desde el cuadro de texto intercalado, sigue estos pasos:

  1. En el archivo de código, selecciona una función y presiona Control + I (para Windows y Linux) o Comando + I (para macOS) para abrir el cuadro de texto intercalado.

  2. Ingresa un mensaje, como Add comments, y presiona Intro (para Windows y Linux) o Retorno (para macOS).

    Cuando Gemini genera los cambios de código en la función selecionada, aparece la vista de diferencias.

    Fuentes de contexto que se enumeran en el panel Gemini: Chat.

  3. Para aceptar o descartar los cambios, haz clic en Aceptar o Descartar.

Cómo ver las fuentes de contexto de una respuesta generada

La función de visualización de contexto muestra los archivos de tu proyecto (las fuentes de contexto) que se usaron como referencia para generar respuestas a tus instrucciones. Saber qué archivos se usaron como referencias te ayuda a definir mejor tus instrucciones y obtener respuestas más específicas. Las fuentes de contexto se muestran cada vez que usas Gemini Chat.

Para ver las fuentes de contexto de la respuesta generada, en el panel Gemini: Chat, desplázate hasta que veas el fragmento Fuentes de contexto. Expande el fragmento para ver todas las fuentes de contexto.

Fuentes de contexto que se enumeran en el panel Gemini: Chat

Usa comandos inteligentes

Los comandos inteligentes son comandos que puedes usar en el cuadro de texto intercalado para realizar acciones específicas en tu código.

Para obtener una explicación de todo el archivo de código con el comando inteligente /explain, sigue estos pasos:

  1. En el archivo de código, presiona Control + I (para Windows y Linux) o Comando + I (para macOS) para abrir el cuadro de texto intercalado.

  2. Presiona / para ver la lista de comandos inteligentes y sus descripciones.

  3. Selecciona /explain.

    Gemini genera una explicación de todo el archivo de código en el cuadro de texto intercalado.

  4. Opcional: Si quieres ver la respuesta generada en el panel Gemini: Chat, haz clic en Ver en Chat.

Cómo ver el historial de instrucciones

Acceder al historial de instrucciones te ahorra tiempo cuando necesitas ingresar las mismas instrucciones en un archivo de código grande.

Para acceder al historial de instrucciones, en el archivo de código, abre el cuadro de texto intercalado presionando Control + I (para Windows y Linux) o Comando + I (para macOS) y, luego, presiona Control + Flecha hacia arriba (para Windows y Linux) o Comando + Flecha hacia arriba (para macOS). Esto te permite desplazarte por tus instrucciones anteriores y volver a usarlas cuando sea necesario.

Mejora la legibilidad del código para los hablantes no nativos de inglés

Si no eres hablante nativo de inglés y dependes de aplicaciones de traducción, puedes usar el cuadro de texto intercalado para generar comentarios en otros idiomas.

Para convertir comentarios en inglés a otro idioma o agregar comentarios nuevos en otro idioma, sigue estos pasos:

  1. En el archivo de código, selecciona el código al que deseas agregar comentarios.

  2. Para abrir el cuadro de texto intercalado, presiona Control + I (para Windows y Linux) o Comando + I (para macOS).

  3. Ingresa un mensaje, como Add spanish comments, y presiona Intro (para Windows y Linux) o Retorno (para macOS).

    Gemini genera comentarios en el idioma que especificaste en la instrucción y muestra la diferencia entre estas sugerencias.

  4. Para aceptar o descartar estos cambios en tu código, haz clic en Aceptar o Descartar.

Prueba otras instrucciones de ejemplo

Después de leer la sección Genera código con instrucciones de este documento, prueba algunas de las siguientes instrucciones de ejemplo.

Obtener una explicación del código

  1. En el archivo de código, selecciona una función que quieras que se explique.
  2. En el panel de Gemini Code Assist, ingresa la instrucción Explain this code to me.

    Gemini usa el código seleccionado como referencia y responde con una explicación de la función seleccionada.

Genera planes de prueba

  1. En el archivo de código, selecciona el código para el que deseas agregar pruebas de unidades.
  2. En el panel de Gemini Code Assist, ingresa la instrucción Write unit tests for my code.

Obtén ayuda para depurar código

  1. En el archivo de código, selecciona el código que deseas depurar.
  2. En el panel de Gemini Code Assist, ingresa la instrucción Help me debug my code.

Haz que tu código sea más legible

  1. En el archivo de código, selecciona el código que deseas que sea más legible.
  2. En el panel de Gemini Code Assist, ingresa la instrucción Make my code more readable.

    Si prefieres enfocarte en una parte específica de tu código, selecciona la parte que prefieras antes de solicitarle a Gemini que realice la acción.

Problemas conocidos

En las siguientes secciones, se describen los problemas conocidos de Gemini Code Assist.

Las advertencias de recitación de la licencia no persisten entre sesiones.

Si las advertencias de recitación de la licencia no persisten en las sesiones, consulta los registros persistentes:

  1. Haz clic en menu Menú > Ver > Salida.

  2. Selecciona Gemini Code Assist - Citations.

Problemas de conectividad en la ventana de salida de Gemini Code Assist

Si ves un error de conexión o algún otro problema de conectividad en la ventana de salida de Gemini Code Assist, prueba lo siguiente:

  • Configura el firewall para permitir el acceso a oauth2.googleapis.com y cloudaicompanion.googleapis.com.

  • Configura tu firewall para permitir la comunicación a través de HTTP/2, que usa gRPC.

Puedes usar la herramienta grpc-health-probe para probar la conectividad. Si la verificación es correcta, se muestra el siguiente resultado:

$ grpc-health-probe -addr cloudaicompanion.googleapis.com:443 -tls error: this server does not implement the grpc health protocol (grpc.health.v1.Health): GRPC target method can't be resolved

Si la verificación no se realiza correctamente, se muestra el siguiente resultado:

timeout: failed to connect service "cloudaicompanion.googleapis.com:443" within 1s

Para obtener más detalles, ejecuta lo siguiente antes de grpc-health-probe:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

Gemini Code Assist y JetBrains Gateway

Gemini Code Assist no se ejecuta a través de JetBrains Gateway. Como resultado, Gemini Code Assist no se ejecuta en los IDEs de Cloud Workstations que requieren la puerta de enlace de JetBrains para conectarse.

La opción "Activate Gemini Code Assist" sigue apareciendo después de seleccionar el proyecto de Gemini Code Assist

Si seleccionaste tu proyecto según las instrucciones de esta guía, lo que incluye habilitar la API de Gemini para Google Cloud, es posible que haya un problema con el servidor de LS.

Para obtener más detalles sobre el problema, realiza las siguientes acciones:

  1. En la barra de estado, haz clic en spark Gemini Code Assist y, luego, selecciona Enviar comentarios.

  2. Haz clic en Mostrar en cualquiera de los archivos de registro para ver más detalles y solucionar el problema.

Enviar comentarios

Para dejar comentarios sobre tu experiencia, sigue estos pasos:

  1. En la barra de estado, haz clic en Gemini Code Assist y, luego, en el menú Selección rápida, selecciona Enviar comentarios.

  2. En el formulario, completa los campos Título y Comentarios.

  3. Si quieres compartir tus registros de Skaffold o AI Companion, asegúrate de seleccionar la opción Send Skaffold logs o Send AI Companion logs.

  4. Haz clic en Enviar comentarios.

¿Qué sigue?