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 que te ayude a hacer lo siguiente en Cloud Shell:

  • Proporciona orientación que te ayude 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 cualquier requisito de licencia de tu código, Gemini Code Assist proporciona citas de fuentes cuando sus sugerencias citan directamente en detalle 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 del 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 más información para configurar la personalización del código.

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

Conéctate a Google Cloud y selecciona un proyecto

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

Si seleccionas un proyecto Google Cloud sin la API de Gemini para Google Cloud habilitada, recibirás una notificación en la que se 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 para tu proyecto. Para obtener más información, consulta Cómo configurar Gemini Code Assist para un proyecto.

Para conectarte a Google Cloud en el editor de Cloud Shell, sigue estos pasos:

  1. Inicia el editor de Cloud Shell.

  2. Si usas el editor heredado, haz clic en Probar el editor nuevo.

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

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

  4. Si se te solicita que autorices al editor de Cloud Shell a realizar Google Cloud llamadas a la API, haz clic en Autorizar.

  5. Sigue las indicaciones para acceder a tu Cuenta de Google.

    Ahora estás conectado a Google Cloud.

Luego, para seleccionar un proyecto 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 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 estableció en normal.

Chatea con Gemini Code Assist

En esta sección, aprenderás a abrir el panel de Gemini Code Assist y chatear con Gemini Code Assist para obtener una explicación sobre 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 del Editor de Cloud Shell, haz clic en spark Gemini Code Assist.

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

    Gemini usa el código del archivo de código como referencia a la instrucció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 de código y, luego, indicarle a Gemini.

Restablecer historial de chat

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

Si tu historial de chat ya no es relevante para lo que quieres lograr, puedes restablecerlo. Para ello, en el panel Gemini Code Assist, haz clic en delete Reset 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 indicarle a Gemini Code Assist en un archivo de código

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

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

    Junto al texto de la instrucción en tu 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 el Tabulador.

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 el Editor de Cloud Shell, haga clic en menu Menú y luego navegue a Archivo > Preferencias > Atajos de teclado.

  2. En la lista de combinaciones de teclas, busca Cloud Code: Generar código.

  3. Haz clic en Cloud Code: Generar código y, luego, en edit Cambiar Vinculación de claves.

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

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

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

Cómo indicarle a Gemini Code Assist con el código seleccionado por medio 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 de 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 hace sugerencias 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 tu código.

Opcional: Inhabilita las sugerencias intercaladas

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

  1. En el Editor de Cloud Shell, seleccione menu Menú y luego navegue a Archivo > Preferencias > Configuración.

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

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

    Esto desactiva las sugerencias intercaladas. Aún puedes presionar Control + Intro (para Windows y Linux) o Control + Retorno (para macOS) para activar las sugerencias intercaladas de forma manual.

Opcional: Excluye archivos del contexto con un archivo .aiExclude

Puedes excluir archivos para que Gemini Code Assist no los considere para el contexto creando 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 el que se colocan prefijos a los patrones con un signo de exclamación (!).
  • Un archivo .aiexclude coincide con voraz en el carácter *. Esto coincidirá de forma indiscriminada en directorios y archivos. Este archivo .aiexclude no diferencia entre ** y * con respecto a las carpetas o los archivos.

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

Ejemplos

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

  • Bloquea todos los archivos con el nombre apikeys.txt en el directorio del lugar de trabajo o debajo de él:

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

    *.key
    
  • Bloquea solo el archivo apikeys.txt en el mismo directorio que el archivo .aiexclude, pero no los subdirectorios:

    /apikeys.txt
    
  • Bloquea todos los archivos del directorio my/sensitive/dir y todos los subdirectorios. La ruta de acceso debe estar relacionada con el directorio raíz del lugar de trabajo.

    my/sensitive/dir/*
    

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

Gemini proporciona información sobre citas cuando cita de forma directa a otra fuente, como el 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 fuentes citadas, puedes modificar la configuración geminicodeassist.recitation.maxCitedLength a 0 en un archivo settings.json:

"geminicodeassist.recitation.maxCitedLength": 0

Usa acciones inteligentes

Para ayudarte a aumentar tu productividad y minimizar el cambio de contexto, Gemini Code Assist proporciona acciones inteligentes potenciadas por IA directamente en el 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 Show Code Actions.

    El ícono 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 de unidades.

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

Usar 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 el código existente mediante instrucciones en lenguaje natural mediante 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 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 indicarle 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 e indicarle a 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 Intro (para macOS).

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

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 del cuadro de texto intercalado, sigue estos pasos:

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

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

    Cuando Gemini genere los cambios de código en la función seleccionada, aparecerá la vista de diferencias.

    Fuentes de contexto enumeradas 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 enumera 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. Se muestran fuentes de contexto cada vez que usas el chat de Gemini.

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

Fuentes de contexto enumeradas 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 de Gemini: Chat, haz clic en Ver en Chat.

Ver historial de instrucciones

El acceso 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, Control + flecha hacia arriba (para Windows y Linux) o Comando + flecha hacia arriba (para macOS). Esto te permite alternar entre tus instrucciones más antiguas y reutilizarlas cuando sea necesario.

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

Si eres un hablante no nativo del inglés y usas 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 desees 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 Intro (para macOS).

    Gemini genera comentarios en el idioma que especificaste en la instrucción y ve las diferencias de estas sugerencias.

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

Cómo probar otros ejemplos de instrucciones

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

Obtén una explicación del código

  1. En el archivo de código, selecciona una función que quieras explicar.
  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 al que desees agregar pruebas de unidades.
  2. En el panel de Gemini Code Assist, ingresa la instrucción Write unit tests for my code.

Cómo obtener ayuda con la depuración de 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 desees 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 esa parte antes de indicarle a Gemini.

Problemas conocidos

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

Las advertencias de consulta de licencias no persisten en las sesiones

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

  1. Haz clic en menu Menu > View > Output.

  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 o algún otro problema de conectividad en la ventana de salida de Gemini Code Assist, prueba lo siguiente:

  • Configura tu 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 de grpc-health-probe para probar la conectividad. Una verificación correcta da como resultado 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

Después de seleccionar el proyecto de Gemini Code Assist, se sigue mostrando "Activar 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 ayudar a 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 las opciones Enviar registros de Skaffold o Enviar registros de AI Companion.

  4. Haz clic en Enviar comentarios.

¿Qué sigue?