Usa la personalización de código de Gemini Code Assist

En este documento, se describe cómo usar la personalización de código de Gemini Code Assist y se proporcionan algunas prácticas recomendadas. Esta función te permite recibir recomendaciones de código, que se basan en las bibliotecas internas, las APIs privadas y el estilo de programación de tu organización.

Antes de comenzar

  1. Configura Gemini Code Assist con una suscripción a Enterprise.

  2. Configura la personalización de código de Gemini Code Assist.

Cómo usar la personalización de código

En la siguiente tabla, se enumeran las formas de usar la personalización de código de Gemini Code Assist:

Técnica Cómo activar Notas y recursos

Chat en lenguaje natural

Ingresa una instrucción en lenguaje natural en el chat de Gemini Code Assist en el IDE.

Ten en cuenta lo siguiente:

  • El historial de chat no está disponible. Evita las consultas de varios pasos.
  • Puedes solicitar más detalles sobre las fuentes, incluidos vínculos a las fuentes específicas.
  • Si destacas o seleccionas código cuando envías un mensaje en el chat, Gemini Code Assist usa ese código para mejorar la personalización del código y la calidad del chat.

Para obtener más información, consulta Chatea con Gemini Code Assist.

Generar código En la barra de selección rápida de tu IDE, con o sin código seleccionado, presiona Command+Enter (en macOS) o Control+Enter. Para obtener más información, consulta Genera código con instrucciones.
Transformar el código En la barra de selección rápida de tu IDE, con o sin código seleccionado, ingresa /fix. Para obtener más información, consulta Genera código con instrucciones.
Autocompletar La personalización de código se activa automáticamente y proporciona sugerencias según lo que escribes.

Ten en cuenta lo siguiente:

  • La finalización de código necesita un cierto nivel de confianza para proponer una sugerencia. Asegúrate de que haya una cantidad considerable de código disponible para que se recuperen los fragmentos pertinentes.
  • La finalización de código verifica si tienes las bibliotecas necesarias para usar ciertos elementos de la función.

Para obtener más información, consulta Obtén finalizaciones de código.

Contexto del repositorio remoto
  1. Comienza tu instrucción con el @ símbolo. Aparecerá una lista de los repositorios remotos disponibles que están indexados.
  2. Selecciona el repositorio que quieres usar para el contexto de la lista. También puedes comenzar a escribir el nombre del repositorio para filtrar la lista.
  3. Después de seleccionar el repositorio, escribe el resto de la instrucción.

El contexto del repositorio remoto es útil cuando trabajas en una tarea que se relaciona principalmente con un conjunto específico de microservicios, bibliotecas, o módulos.

Para obtener más información, consulta Obtén sugerencias más relevantes con el contexto del repositorio remoto.

Casos de uso y ejemplos de instrucciones

En la siguiente tabla, se proporcionan orientación y ejemplos sobre el uso de la personalización de código en casos de uso específicos:

Caso de uso Cosas que vale la pena probar
Escribir código nuevo

Prueba lo siguiente para generar código en tu IDE o en el chat de Gemini Code Assist:

  • Genera código que use términos que ya se mencionaron en tu base de código.
  • Pega tu código, como una firma funcional o código con TODO comentarios, y, luego, pídele a Gemini Code Assist que complete o reemplace TODO comentarios con código. Agrega comentarios con explicaciones del contexto.

Intenta generar código con las siguientes instrucciones en el chat de Gemini Code Assist:

  • "Escribe una función principal en la que se cree una conexión a DATABASE se crea. Incluye verificaciones de estado ".
  • "Escribe un FUNCTION_OR_CLASS con la siguiente estructura: EXPLAIN_STRUCTURE."

Después de generar código, intenta usar una instrucción de seguimiento para mejorarlo:

  • Prueba el comando /fix para ajustar el código generado, por ejemplo, errores de sintaxis.
  • "Agrega las importaciones faltantes".
  • "Prueba /fix en el código generado por el chat".
Limpiar, simplificar y refactorizar código

Prueba las siguientes instrucciones en el chat de Gemini Code Assist:

  • "¿Puedes combinar IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS en este archivo?".
  • "¿Cómo simplificarías la FUNCTION_NAME función?"
  • "¿Puedes combinar FUNCTION_NAME_1 y FUNCTION_NAME_2 en una sola función?".
  • "¿Podrías intercalar algunas variables en FUNCTION_NAME?"
  • "¿Podrías simplificar la asignación de nombres de variables en la función FUNCTION_NAME?"
Legibilidad

Prueba las siguientes instrucciones en el chat de Gemini Code Assist:

  • "Escribe la función FUNCTION_NAME en menos líneas de código, si es posible."
  • "Agrega comentarios a la función FUNCTION_NAME."
  • "Quita los espacios en blanco innecesarios en la función FUNCTION_NAME."
  • "Aplica formato a la función FUNCTION_NAME de manera similar al resto del código"
Revisión de código

Prueba las siguientes instrucciones en el chat de Gemini Code Assist:

  • "Divide el código en partes y explica cada una con nuestra base de código."
  • "¿Hay variables o palabras clave que podrían ser más cortas y más evidentes?"
  • "¿Puedes darme código útil del REPOSITORY_NAME_PACKAGE_MODULE contexto para este código?"
  • "¿Qué piensas de la función FUNCTION_NAME?"
Depuración

Prueba las siguientes instrucciones en el chat de Gemini Code Assist:

  • "Recibo un error cuando intento hacer X o agregar Y. ¿Por qué?".
  • "¿Puedes detectar un error en la función FUNCTION_NAME?"
  • "¿Cómo corregirías la función FUNCTION_NAME con este mensaje de error ?".
Aprendizaje y capacitación

Prueba las siguientes instrucciones en el chat de Gemini Code Assist:

  • "Divide este código en partes y explica cada una con nuestra base de código".
  • "¿Cómo se llama a la función FUNCTION_NAME?".
  • "¿Cómo se ejecuta la función principal en el ENVIRONMENT_NAME entorno?".
  • "¿Cuál es la mejora técnica clave que podemos hacer para que este código tenga un mejor rendimiento?"
  • "Muéstrame la implementación de FUNCTION_OR_CLASS_NAME para obtener mejores resultados y agrega qué es ese elemento específico", por ejemplo, "Muéstrame la implementación de la función foo, donde foo es el nombre de la función."
Migración

Prueba las siguientes instrucciones en el chat de Gemini Code Assist:

  • "Dame una estrategia para migrar FILE_NAME de LANGUAGE_1 a LANGUAGE_2", por ejemplo, de Go a Python.
  • "Dada la función FUNCTION_NAME en el repositorio REPOSITORY_NAME, encuéntrame una función equivalente en el lenguaje LANGUAGE_NAME que pueda usar."

Prueba el siguiente flujo de trabajo de transformación basado en chat o generación de código con instrucciones:

  1. "Toma el código FILENAME_COMPONENT ya escrito en LANGUAGE_1, refactorízalo y migra a LANGUAGE_2", por ejemplo, de Go a Python.
  2. Después de migrar código, prueba lo siguiente:
    • Selecciona fragmentos más pequeños y usa /fix para que esté en el estado que deseas.
    • Prueba las siguientes instrucciones:
      • "¿Hay algo que se pueda mejorar?".
      • "Dame posibles dificultades".
      • "¿Cómo probarías este código si la migración es correcta?".
Generar documentación

Prueba las siguientes instrucciones en el chat de Gemini Code Assist:

  • "Resume el código en el paquete o la carpeta X y proporciona documentación para los cinco métodos más importantes."
  • "Genera documentación para FUNCTION_OR_CLASS_NAME."
  • "Acorta la documentación y conserva la información clave "
Generación de pruebas de unidades

Prueba las siguientes instrucciones en el chat de Gemini Code Assist:

  • "Genera pruebas de unidades para FILENAME".
  • "Agrega los casos de prueba más relevantes para la FUNCTION_NAME función."
  • "Quita los casos de prueba que crees que no aportan mucho valor".

Prácticas recomendadas

  • Usa nombres de variables y funciones o fragmentos de código pertinentes. Esto guía la personalización de código hacia los ejemplos de código más pertinentes.
  • Usa repositorios de índices que quieras escalar y evita agregar funciones obsoletas. La personalización de código ayuda a escalar el estilo de código, los patrones, la semántica del código, el conocimiento y las implementaciones en toda la base de código. Los ejemplos incorrectos de repositorios para escalar son las funciones obsoletas, el código generado y las implementaciones heredadas.
  • Para los casos de uso de recuperación de código, usa la función de generación de código en lugar de la finalización de código. Usa instrucciones con lenguaje como "Con la definición de FUNCTION_NAME, genera la misma función exacta" o "Genera la implementación exacta de FUNCTION_NAME".
  • Incluye o importa el archivo para el código que quieres recuperar para mejorar el conocimiento contextual de Gemini.
  • Ejecuta solo una acción para cada instrucción. Por ejemplo, si quieres recuperar código y que este se implemente en una función nueva, realiza estos pasos en dos instrucciones.
  • Para los casos de uso en los que quieres más que solo código (como explicación de código, plan de migración o explicación de errores), usa la personalización de código para el chat, en la que tienes una conversación con Gemini con tu base de código en contexto.
  • Ten en cuenta que la generación de modelos de IA no es determinística. Si no estás satisfecho con la respuesta, ejecutar la misma instrucción nuevamente podría lograr un mejor resultado.
  • Ten en cuenta que la generación de pruebas de unidades suele funcionar mejor si abres el archivo de forma local y, luego, desde el chat, pides generar pruebas de unidades para este archivo o una función específica.

Obtén sugerencias más relevantes con el contexto del repositorio remoto

Puedes obtener sugerencias de código más contextuales y pertinentes si le indicas a Gemini Code Assist que se enfoque en repositorios remotos específicos. Si usas el símbolo @ en el chat, puedes seleccionar uno o más repositorios para que se usen como fuente principal de contexto para tus instrucciones. Esto es útil cuando trabajas en una tarea que se relaciona principalmente con un conjunto específico de microservicios, bibliotecas o módulos.

Para usar un repositorio remoto como contexto, sigue estos pasos en el chat de tu IDE:

  1. Comienza tu instrucción con el @ símbolo. Aparecerá una lista de los repositorios remotos disponibles que están indexados.
  2. Selecciona el repositorio que quieres usar para el contexto de la lista. También puedes comenzar a escribir el nombre del repositorio para filtrar la lista.
  3. Después de seleccionar el repositorio, escribe el resto de la instrucción.

Luego, Gemini priorizará el repositorio seleccionado cuando genere una respuesta.

Ejemplos de instrucciones

Estos son algunos ejemplos de cómo puedes usar esta función:

  • Para comprender un repositorio:
    • "@REPOSITORY_NAME ¿Cuál es la estructura general de este repositorio?"
    • "@REPOSITORY_NAME Soy un nuevo miembro del equipo. ¿Puedes darme una descripción general del propósito y los módulos clave de este repositorio?".
  • Para la generación y modificación de código:
    • "@REPOSITORY_NAME Implementa una función de autenticación similar a la de este repositorio"
    • "@REPOSITORY_NAME Refactoriza el siguiente código para seguir las convenciones del repositorio seleccionado"
    • "@REPOSITORY_A_NAME ¿Cómo puedo usar las funciones más recientes de este repositorio para mejorar mi código en REPOSITORY_B_NAME?"
  • Para pruebas:
    • "@UNIT_TEST_FILE_NAME Genera pruebas de unidades para MODULE según los ejemplos del archivo seleccionado."

Si usas repositorios remotos como una fuente de contexto enfocada, puedes obtener sugerencias más precisas y pertinentes de Gemini Code Assist, lo que puede ayudarte a programar más rápido y con más eficiencia.