Usar la personalización de código de Gemini Code Assist
Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
En este documento se describe cómo usar la personalización de código de Gemini Code Assist y se ofrecen 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.
En la siguiente tabla se indican las formas de usar la personalización de código de Gemini Code Assist:
Formulario
Cómo activar
Notas y recursos
Chat de lenguaje natural
Introduce una petició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 pedir más detalles sobre las fuentes, incluidos enlaces a las fuentes específicas.
Si resaltas o seleccionas código al enviar un mensaje en el chat, Gemini Code Assist usará ese código para mejorar la personalización del código y la calidad del chat.
La personalización del código se activa automáticamente y proporciona
sugerencias basadas en lo que escribes.
Ten en cuenta lo siguiente:
La función de autocompletar 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 función de autocompletar código comprueba si tienes las bibliotecas necesarias para usar determinados elementos de la función.
Empieza la petición con el símbolo @. Aparecerá una lista de repositorios remotos indexados disponibles.
Selecciona el repositorio que quieras usar como contexto de la lista.
También puedes empezar a escribir el nombre del repositorio para filtrar la lista.
Después de seleccionar el repositorio, escribe el resto del prompt.
Ten en cuenta lo siguiente:
Esto resulta útil cuando trabajas en una tarea que está relacionada principalmente con un conjunto específico de microservicios, bibliotecas o módulos.
En la siguiente tabla se ofrecen directrices y ejemplos sobre cómo usar la personalización de código en casos prácticos específicos:
Caso práctico
Cosas que merece 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 hayan mencionado en tu base de código.
Pega el código, como una firma funcional o código con
TODO comentarios, y pide a
Gemini Code Assist que rellene o sustituya
TODO los comentarios con código. Añade comentarios con explicaciones
del contexto.
Prueba a generar código con las siguientes peticiones en la conversación de Gemini Code Assist:
"Escribe una función principal en la que se cree una conexión con
DATABASE. Incluye comprobaciones del estado."
"Escribe un FUNCTION_OR_CLASS con la siguiente estructura:
EXPLAIN_STRUCTURE".
Después de generar código, prueba a usar una petición de seguimiento para
mejorarlo:
"Prueba el comando /fix para ajustar el código generado, por ejemplo, si hay errores de sintaxis".
"Añadir importaciones que faltan".
"Prueba /fix en el código generado por la IA".
Limpiar, simplificar y refactorizar código
Prueba las siguientes peticiones en el chat de Gemini Code Assist:
"¿Puedes combinar
IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS
en este archivo?"
"¿Cómo simplificarías la función
FUNCTION_NAME?"
"¿Puedes combinar FUNCTION_NAME_1 y FUNCTION_NAME_2 en una sola función?"
"¿Podrías insertar algunas variables en
FUNCTION_NAME?"
"¿Podrías simplificar los nombres de las variables de la función
FUNCTION_NAME?"
Legibilidad
Prueba las siguientes peticiones en el chat de Gemini Code Assist:
"Escribe la función FUNCTION_NAME en
menos líneas de código, si es posible".
"Añade comentarios a la función
FUNCTION_NAME."
"Elimina los espacios en blanco innecesarios de la función
FUNCTION_NAME".
"Da formato a la función FUNCTION_NAME de forma similar al resto del código".
Revisión de código
Prueba las siguientes peticiones en el chat de Gemini Code Assist:
"Divide el código en partes y explica cada parte usando nuestra
base de código".
"¿Hay variables o palabras clave que se puedan acortar y que sean más
explicativas?"
"¿Puedes darme código útil del
REPOSITORY_NAME_PACKAGE_MODULE contexto para
este código?"
"¿Qué opinas de la función
FUNCTION_NAME?"
Depuración
Prueba las siguientes peticiones en el chat de Gemini Code Assist:
"Aparece un error cuando intento hacer X o añadir Y. ¿Por qué?"
"¿Puedes detectar un error en la función
FUNCTION_NAME?"
"¿Cómo corregirías la función
FUNCTION_NAME dado este error
message?"
Aprendizaje y formación inicial
Prueba las siguientes peticiones en el chat de Gemini Code Assist:
"Divide este código en partes y explica cada una de ellas usando nuestra
base de código".
"Muéstrame cómo llamar a la función
FUNCTION_NAME"
"Muéstrame cómo ejecutar la función principal en el entorno de ENVIRONMENT_NAME".
"¿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 añade 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 peticiones en el chat de Gemini Code Assist:
"Dime una estrategia para migrar
FILE_NAME de
LANGUAGE_1 a
LANGUAGE_2". Por ejemplo, de Go a
Python.
"Dada la función FUNCTION_NAME del repositorio REPOSITORY_NAME, busca 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 peticiones:
"Toma el código FILENAME_COMPONENT
que ya está escrito en LANGUAGE_1, refactorízalo
y migra a LANGUAGE_2". Por ejemplo,
de Go a Python.
Después de migrar parte del código, prueba lo siguiente:
Selecciona fragmentos más pequeños y usa /fix para
ponerlo en el estado que quieras.
Prueba las siguientes peticiones:
"¿Hay algo que se pueda mejorar?"
"Dime posibles problemas".
"¿Cómo probarías este código si la migración es correcta?"
Generación de documentación
Prueba las siguientes peticiones en el chat de Gemini Code Assist:
"Resume el código del paquete o la carpeta
X y proporciona documentación sobre los cinco
métodos más importantes".
"Genera documentación para
FUNCTION_OR_CLASS_NAME".
"Acorta la documentación sin perder la información clave".
Generación de pruebas unitarias
Prueba las siguientes peticiones en el chat de Gemini Code Assist:
"Genera pruebas unitarias para FILENAME".
"Añade los casos de prueba más relevantes para la función FUNCTION_NAME".
"Elimina los casos de prueba que creas que no aportan mucho valor".
Prácticas recomendadas
Usa nombres de variables y funciones o fragmentos de código relevantes. De esta forma, la personalización del código se centra en los ejemplos más pertinentes.
Usa los repositorios de índices que quieras escalar y no añadas funciones obsoletas. La personalización del código ayuda a adaptar el estilo, los patrones, la semántica, el conocimiento y las implementaciones del código a toda la base de código.
Entre los ejemplos de repositorios que no se pueden escalar se incluyen las funciones obsoletas, el código generado y las implementaciones antiguas.
Para los casos prácticos de recuperación de código, utiliza la función de generación de código en lugar de la de finalización de código. Pídele que use expresiones como "Usando la definición de
FUNCTION_NAME, genera la misma función" o "Genera la implementación exacta de FUNCTION_NAME".
Incluye o importa el código que quieras recuperar en el archivo para mejorar la contextualización de Gemini.
Ejecuta solo una acción por cada petición. Por ejemplo, si quieres obtener código e implementarlo en una función nueva, sigue estos pasos en dos peticiones.
Si quieres usarlo en casos prácticos en los que necesites algo más que código (como explicaciones de código, planes de migración o explicaciones de errores), usa la personalización de código para el chat, donde puedes conversar con Gemini con tu base de código en contexto.
Ten en cuenta que la generación de modelos de IA no es determinista. Si no estás satisfecho con la respuesta, puedes volver a ejecutar la misma petición para obtener un mejor resultado.
Ten en cuenta que, por lo general, es mejor generar pruebas unitarias si abres el archivo localmente y, a continuación, le pides al chat que genere pruebas unitarias para ese archivo o para una función específica.
Recibir sugerencias más relevantes con el contexto del repositorio remoto
Puedes obtener sugerencias de código más contextuales y relevantes indicándole a Gemini Code Assist que se centre en repositorios remotos específicos. Si usas el símbolo @ en la conversación, puedes seleccionar uno o varios repositorios para que se usen como fuente principal de contexto para tus peticiones. Esto resulta útil cuando trabajas en una tarea que está relacionada 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:
Empieza la petición con el símbolo @. Aparecerá una lista de los repositorios remotos indexados disponibles.
Selecciona el repositorio que quieras usar como contexto de la lista. También puedes empezar a escribir el nombre del repositorio para filtrar la lista.
Después de seleccionar el repositorio, escribe el resto del prompt.
Gemini priorizará el repositorio seleccionado al generar una respuesta.
Ejemplos de peticiones
A continuación se muestran algunos ejemplos de cómo puedes usar esta función:
Para entender un repositorio, sigue estos pasos:
"@REPOSITORY_NAME ¿Cuál es la estructura general de este repositorio?"
"@REPOSITORY_NAME Soy un nuevo miembro del equipo. ¿Me puedes hacer un resumen del propósito de este repositorio y de sus módulos clave?"
Para generar y modificar 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 que siga 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 probarlo:
"@UNIT_TEST_FILE_NAME Genera pruebas unitarias para MODULE a partir de los ejemplos del archivo seleccionado".
Al usar repositorios remotos como fuente de contexto específica, puedes obtener sugerencias más precisas y relevantes de Gemini Code Assist, lo que te ayudará a escribir código de forma más rápida y eficiente.
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-10 (UTC)."],[[["\u003cp\u003eGemini Code Assist code customization allows users to receive tailored code recommendations based on their organization's internal libraries, private APIs, and coding style, but is exclusive to the Enterprise subscription.\u003c/p\u003e\n"],["\u003cp\u003eCode customization can be triggered via natural language chat, code generation, code transformation, and autocomplete features within the IDE.\u003c/p\u003e\n"],["\u003cp\u003eThe tool can be used for various coding tasks, including writing new code, refactoring, improving readability, code review, debugging, learning, migration, documentation generation, and unit test generation.\u003c/p\u003e\n"],["\u003cp\u003eBest practices include using relevant variable and function names, avoiding deprecated code in indexed repositories, utilizing code generation for code retrieval, and ensuring necessary includes or imports are present in the file.\u003c/p\u003e\n"],["\u003cp\u003eWhen seeking explanations, migration plans, or error insights, leveraging the chat feature for conversations within the context of the codebase is recommended.\u003c/p\u003e\n"]]],[],null,["# Use Gemini Code Assist code customization\n\n| **Note:** Gemini Code Assist code customization is available only in Gemini Code Assist Enterprise. For more information, see [Gemini Code Assist supported features](/gemini/docs/codeassist/overview#supported-features).\n\nThis document describes how to use\n\n[Gemini Code Assist code customization](/gemini/docs/codeassist/code-customization-overview)\n\nand provides a few best practices. This feature lets you receive code\nrecommendations, which draw from the internal libraries, private APIs, and the\ncoding style of your organization.\n\nBefore you begin\n----------------\n\n1. [Set up Gemini Code Assist](/gemini/docs/discover/set-up-gemini) with an [Enterprise subscription](/gemini/docs/codeassist/overview#supported-features).\n2. [Set up Gemini Code Assist code customization](/gemini/docs/codeassist/code-customization-console).\n\nHow to use code customization\n-----------------------------\n\nThe following table lists ways to use\nGemini Code Assist code customization:\n\nUse cases and prompt examples\n-----------------------------\n\nThe following table provides guidance and examples about using\ncode customization in specific use cases:\n\nBest practices\n--------------\n\n- **Use relevant variable and function names or code snippets.** This guides code customization towards the most pertinent code examples.\n- **Use index repositories that you want to scale, and avoid adding deprecated\n functionality.** Code customization helps to scale to the code style, patterns, code semantics, knowledge, and implementations across the codebase. Bad examples of repositories to scale are deprecated functionalities, generated code, and legacy implementations.\n- **For code retrieval use cases, use code generation functionality instead of\n code completion** . Prompt using language such as \"Using the definition of \u003cvar translate=\"no\"\u003eFUNCTION_NAME\u003c/var\u003e, generate the exact same function,\" or \"Generate the exact implementation of \u003cvar translate=\"no\"\u003eFUNCTION_NAME\u003c/var\u003e.\"\n- **Have includes or imports present in the file for the code that you want to\n retrieve** to improve Gemini contextual awareness.\n- **Execute only one action for each prompt.** For example, if you want to retrieve code and have this code be implemented in a new function, perform these steps over two prompts.\n- **For use cases where you want more than just code** (such as code explanation, migration plan, or error explanation), use code customization for chat, where you have a conversation with Gemini with your codebase in context.\n- **Note that AI model generation is non-deterministic**. If you aren't satisfied with the response, executing the same prompt again might achieve a better result.\n- **Note that generating unit tests** generally works better if you open the file locally, and then from chat, ask to generate unit tests for this file or a specific function.\n\n### **Get more relevant suggestions with remote repository context**\n\nYou can get more contextually aware and relevant code suggestions by directing Gemini Code Assist to focus on specific remote repositories. By using the \u003ckbd\u003e@\u003c/kbd\u003e symbol in the chat, you can select one or more repositories to be used as a primary source of context for your prompts. This is useful when you are working on a task that is mostly related to a specific set of microservices, libraries, or modules.\n\nTo use a remote repository as context, follow these steps in your IDE's chat:\n\n1. Start your prompt with the \u003ckbd\u003e@\u003c/kbd\u003e symbol. A list of available remote repositories that are indexed will appear.\n2. Select the repository you want to use for context from the list. You can also start typing the repository name to filter the list.\n3. After selecting the repository, write the rest of your prompt.\n\nGemini will then prioritize the selected repository when generating a response.\n\n#### **Example Prompts**\n\nHere are some examples of how you can use this feature:\n\n- **To understand a repository:**\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_NAME\u003c/var\u003e What is the overall structure of this repository?\"\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_NAME\u003c/var\u003e I'm a new team member. Can you give me an overview of this repository's purpose and key modules?\"\n- **For code generation and modification:**\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_NAME\u003c/var\u003e Implement an authentication function similar to the one in this repository.\"\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_NAME\u003c/var\u003e Refactor the following code to follow the conventions in the selected repository.\"\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_A_NAME\u003c/var\u003e How can I use the latest functions from this repository to improve my code in \u003cvar translate=\"no\"\u003eREPOSITORY_B_NAME\u003c/var\u003e?\"\n- **For testing:**\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eUNIT_TEST_FILE_NAME\u003c/var\u003e Generate unit tests for \u003cvar translate=\"no\"\u003eMODULE\u003c/var\u003e based on the examples in the selected file.\"\n\nBy using remote repositories as a focused source of context, you can get more accurate and relevant suggestions from Gemini Code Assist, which can help you code faster and more efficiently."]]