Programar con Gemini Code Assist

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

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

  • Genera el código de tu proyecto.

  • Recibe sugerencias mientras escribes código.

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

Para ayudarte a cumplir los requisitos de las licencias de tu código, Gemini Code Assist proporciona citas de fuentes cuando sus sugerencias citan de forma directa y detallada una fuente específica. Para obtener más información sobre cómo y cuándo cita fuentes Gemini, consulta el artículo Cómo te ayuda Gemini a generar código y a citar fuentes.

La personalización de código te permite recibir sugerencias de código basadas en el repositorio de código privado de tu organización directamente desde Gemini Code Assist. Consulta cómo configurar la personalización del código.

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

Antes de empezar

  1. Asegúrate de que tienes el rol de administrador de Cloud Workstations en el proyecto para poder crear configuraciones de estaciones de trabajo.

    Ir a IAM

  2. Configura tu estación de trabajo si aún no lo has hecho y asegúrate de seleccionar Editor base (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.

Conéctate a Google Cloud y selecciona un proyecto

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

Si seleccionas un Google Cloud proyecto que no tiene habilitada la API Gemini para Google Cloud, 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 en tu proyecto. Para obtener más información, consulta Configurar Gemini Code Assist en un proyecto.

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

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

    Iniciar estación de trabajo

  2. En la barra de estado, haz clic en Cloud Code - Iniciar sesión.

    Botón de inicio de sesión de Cloud Code en la barra de estado.

  3. Cuando se te pida que inicies sesión, haz clic en Continuar para iniciar sesión.

  4. Para iniciar el flujo de Google Cloud inicio de sesión, pulsa Control (en Windows y Linux) o Comando (en macOS) y haz clic en la URL de la consola.

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

  6. Para iniciar sesión en tu cuenta, sigue las indicaciones.

    Si se te pide que compruebes que has descargado esta aplicación desde Google, haz clic en Iniciar sesión.

    Se abrirá una nueva pestaña en tu navegador con el código de verificación para iniciar sesión en Cloud Code.

  7. Copia el código de verificación y pégalo en tu terminal donde dice Enter authorization code (Introduce el código de autorización) y, a continuación, pulsa Intro (en Windows y Linux) o Retorno (en macOS).

    Ahora estás en contacto con Google Cloud.

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

  1. En la barra de estado 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 Seleccionar proyecto de Gemini Code.

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

    Gemini está listo para usarse.

    El icono de Gemini de la barra de estado tiene el valor normal.

Chatear 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 del código que ya tienes.

Para empezar a chatear con Gemini, sigue estos pasos:

  1. Abre el archivo de código.

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

  3. En el panel Gemini Code Assist, introduce la petició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 para tu petición y responde con una explicación del código.

    Para hacer referencia a un bloque de código específico en lugar de a todo el código del archivo, puedes seleccionar el bloque en el archivo de código y, a continuación, pedirle algo a Gemini.

Borrar el historial de chat

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

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

Generar código con peticiones

En las siguientes secciones se muestra cómo usar Gemini Code Assist para generar código con la petición de ejemplo Function to create a Cloud Storage bucket en tu archivo de código. También puedes seleccionar una parte del código y pedir ayuda a Gemini Code Assist a través de la función de chat, así como recibir y aceptar o rechazar sugerencias de código mientras programas.

Hacer peticiones a Gemini Code Assist en un archivo de código

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

  2. Para generar código, pulsa Control + Intro (en Windows y Linux) o Control + Retorno (en macOS).

    Junto al texto de la petició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, pulsa Tabulador.

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

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

  1. En tu estación de trabajo, haz clic en menu Menú y, a continuación, ve a Archivo > Preferencias > Combinaciones de teclas.

  2. En la lista de combinaciones de teclas, busca Cloud Code: Generate Code (Cloud Code: generar código).

  3. Haz clic en Cloud Code: Generate Code (Cloud Code: generar código) y, a continuación, en edit Change Keybinding (Cambiar combinación de teclas).

  4. En el cuadro de diálogo que aparece, introduce tu propio acceso directo.

  5. Pulsa Intro (en Windows y Linux) o Retorno (en macOS).

    Ahora puedes usar la combinación de teclas que acabas de asignar para generar código con Gemini.

Preguntar a Gemini Code Assist con el código seleccionado mediante el chat

Gemini Code Assist puede realizar tareas o responder a tus preguntas en función del código que selecciones. Para obtener código generado a partir de una petición con código seleccionado, sigue estos pasos:

  1. En la barra de actividad, 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, introduce una petición para el código seleccionado.

    Por ejemplo, selecciona una función de tu código e introduce la petición Write a unit test for this function:

    Gemini escribe una prueba unitaria para una función seleccionada.

    Gemini usa el código que has seleccionado como referencia y responde a tu petición.

Recibe sugerencias mientras escribes código

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

  1. En el archivo de código, escribe una función en una línea nueva. 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, pulsa Tab. De lo contrario, para ignorar la sugerencia, pulsa Esc o sigue escribiendo el código.

Opcional: Inhabilitar las sugerencias insertadas

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

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

  2. En la pestaña Usuario del cuadro de diálogo Configuración, ve a Extensiones > Cloud Code.

  3. Desplázate hasta que encuentres la lista Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto y, a continuación, selecciona Off.

    De esta forma, se desactivarán las sugerencias insertadas. También puedes pulsar Control + Intro (en Windows y Linux) o Control + Retorno (en macOS) para activar manualmente las sugerencias insertadas.

Opcional: Excluir archivos del contexto con un archivo .aiexclude

Puedes excluir archivos para que Gemini Code Assist no los tenga en cuenta en el contexto creando un archivo .aiexclude. Un archivo .aiexclude sigue 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 de su directorio ni de todos los subdirectorios.
  • Un archivo .aiexclude no admite la negación, en la que se anteponen patrones con un signo de exclamación (!).
  • Un archivo .aiexclude coincide de forma ávida con el carácter *. De esta forma, se buscarán coincidencias indiscriminadamente en directorios y archivos. Este archivo .aiexclude no distingue entre ** y * en lo que respecta a carpetas o archivos.

Actualmente, solo se admite un archivo .aiexclude. Para configurar el archivo .aiexclude, crea un archivo con el nombre .aiexclude en la raíz de la carpeta del espacio de trabajo. Si quieres colocar este archivo fuera de la raíz del espacio de trabajo o cambiarle el nombre, la ruta se puede definir en los ajustes de VS Code, en "Context Exclusion File". El valor de la ruta proporcionado en este ajuste se resolverá en relación con la carpeta raíz del espacio de trabajo abierto.

Ejemplos

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

  • Bloquea todos los archivos llamados apikeys.txt en el directorio del espacio de trabajo o en un subdirectorio:

    apikeys.txt
    
  • Bloquear todos los archivos con la extensión .key en el directorio del espacio de trabajo o en un subdirectorio:

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

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

    my/sensitive/dir/*
    

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

Gemini proporciona información de citas cuando cita de forma directa y detallada otra fuente, como código de software libre. Para obtener más información, consulta Cómo y cuándo cita fuentes Gemini.

Para evitar que se sugiera código que coincida con las fuentes citadas, puedes modificar el ajuste geminicodeassist.recitation.maxCitedLength a 0 en un archivo settings.json:

"geminicodeassist.recitation.maxCitedLength": 0

Usar acciones inteligentes

Para ayudarte a aumentar la productividad y minimizar el cambio de contexto, Gemini Code Assist ofrece acciones inteligentes basadas en IA directamente en tu editor de código. Cuando selecciones el código en el editor, podrás ver y seleccionar una lista de acciones relevantes para tu contexto.

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 icono de bombilla de acciones inteligentes aparece después de seleccionar un bloque de código en Shell y Workstations.

  3. Selecciona una acción, como Generar pruebas unitarias.

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

Usar la transformación de código

Gemini Code Assist ofrece la función Transformación de código, que te permite seleccionar una parte de tu archivo de código y solicitar modificaciones en el código que ya tienes mediante peticiones en lenguaje natural, usando un cuadro de texto insertado.

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

  • Generar líneas de comentarios para documentar el código
  • Solucionar problemas con el código
  • Mejorar la legibilidad del código
  • 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.

Enviar peticiones a Gemini Code Assist con el cuadro de texto insertado

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

Para abrir el cuadro de texto insertado y enviar una petición a Gemini, sigue estos pasos:

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

  2. Introduce una petición, como Write a function to create a Cloud Storage bucket, y pulsa Intro (en Windows y Linux) o Retorno (en macOS).

    Gemini Code Assist genera el código en función de tu petición.

Ver las diferencias del código refactorizado

Con la vista de diferencias integrada en el cuadro de texto insertado, puedes ver los cambios que sugiere Gemini y tu código original. Después, puedes aceptar o rechazar los cambios sugeridos.

Para ver las diferencias del código refactorizado en el cuadro de texto insertado, sigue estos pasos:

  1. En el archivo de código, selecciona una función y abre el cuadro de texto insertado pulsando Control + I (en Windows y Linux) o Comando + I (en macOS).

  2. Introduce una petición, como Add comments y pulsa Intro (en Windows y Linux) o Retorno (en macOS).

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

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

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

Ver las fuentes de contexto de una respuesta generada

La función de visualización del contexto muestra los archivos de tu proyecto (las fuentes de contexto) que se han usado como referencia para generar respuestas a tus peticiones. Saber qué archivos se han usado como referencia te ayuda a acotar tus peticiones 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. Despliega el fragmento para ver todas las fuentes de contexto.

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

Usar comandos inteligentes

Los comandos inteligentes son comandos que puedes usar en el cuadro de texto insertado 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, abre el cuadro de texto insertado pulsando Control + I (en Windows y Linux) o Comando + I (en macOS).

  2. Pulsa / 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 insertado.

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

Ver el historial de peticiones

Acceder al historial de peticiones te ahorra tiempo cuando tienes que introducir las mismas peticiones en un archivo de código grande.

Para acceder al historial de peticiones, abre el cuadro de texto insertado en el archivo de código pulsando Control + I (en Windows y Linux) o Comando + I (en macOS) y, a continuación, pulsa Control + Flecha hacia arriba (en Windows y Linux) o Comando + Flecha hacia arriba (en macOS). De esta forma, puedes desplazarte por tus peticiones anteriores y volver a usarlas cuando lo necesites.

Mejorar la legibilidad del código para 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 insertado para generar comentarios en otros idiomas.

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

  1. En el archivo de código, selecciona el código al que quieras añadir comentarios.

  2. Abre el cuadro de texto insertado pulsando Control + I (en Windows y Linux) o Comando + I (en macOS).

  3. Escribe una petición, como Add spanish comments, y pulsa Intro (en Windows y Linux) o Retorno (en macOS).

    Gemini genera comentarios en el idioma que hayas especificado en tu petición y muestra las diferencias de estas sugerencias.

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

Probar otras peticiones de ejemplo

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

Obtener una explicación del código

  1. En tu archivo de código, selecciona la función que quieras que se explique.
  2. En el panel Gemini Code Assist, introduce la petició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.

Generar planes de pruebas

  1. En el archivo de código, selecciona el código al que quieras añadir pruebas unitarias.
  2. En el panel Gemini Code Assist, introduce la petición Write unit tests for my code.

Obtener ayuda para depurar código

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

Hacer que tu código sea más legible

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

    Si prefieres centrarte en una parte específica del código, selecciona la parte que quieras antes de pedirle algo a Gemini.

Problemas conocidos

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

Las advertencias de recitación de licencias no se mantienen entre sesiones

Si las advertencias de recitación de licencias no se mantienen entre sesiones, consulta los registros persistentes:

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

  2. Selecciona Gemini Code Assist - Citas.

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

Si ves un error de conexión u otros problemas de conectividad en la ventana de salida de Gemini Code Assist, prueba lo siguiente:

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

  • Configura tu cortafuegos 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 comprobación se realiza correctamente, se mostrará 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 comprobación no se realiza correctamente, se mostrará 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. Por lo tanto, Gemini Code Assist no se ejecuta en los IDEs de Cloud Workstations que requieren JetBrains Gateway para conectarse.

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

Si has seleccionado tu proyecto siguiendo las instrucciones de esta guía, que incluyen habilitar la API de Gemini para Google Cloud, puede que haya un problema con el servidor LS.

Para obtener más información sobre el problema, haz lo siguiente:

  1. En la barra de estado, haz clic en spark Gemini Code Assist y, a continuación, 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, a continuación, en el menú Selección rápida, selecciona Enviar comentarios.

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

  3. Si quieres compartir tus registros de Skaffold o de Asistente de IA, asegúrate de seleccionar la opción Enviar registros de Skaffold o Enviar registros de Asistente de IA.

  4. Haz clic en Enviar comentarios.

Siguientes pasos