Utilice la personalización del código de asistencia de Gemini Code
Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
Este documento describe cómo usar la personalización de código de Gemini Code Assist y ofrece algunas prácticas recomendadas. Esta función le permite recibir recomendaciones de código basadas en bibliotecas internas, API privadas y el estilo de programación de su organización.
La siguiente tabla enumera las formas de utilizar la personalización del código Gemini Code Assist:
Forma
Cómo activar
Notas y recursos
Chat en lenguaje natural
Ingrese un mensaje en lenguaje natural en el chat de Gemini Code Assist en el IDE.
Considere lo siguiente:
El historial de chat no está disponible. Evite las consultas de varios pasos.
Puede solicitar más detalles sobre las fuentes, incluidos enlaces a fuentes específicas.
Si resalta o selecciona un código cuando envía un mensaje en el chat, Gemini Code Assist utiliza 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.
Considere lo siguiente:
La finalización de código requiere cierto nivel de confianza para proponer una sugerencia. Asegúrese de que haya una cantidad considerable de código disponible para que se recuperen los fragmentos relevantes.
La finalización de código verifica si tiene las bibliotecas necesarias para usar ciertos elementos de la función.
La siguiente tabla proporciona 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
Pruebe lo siguiente para generar código en su IDE o en el chat de Gemini Code Assist:
Genere código que utilice términos que ya se mencionan en su base de código.
Pegue su código, como una firma funcional o código con comentarios TODO , y luego solicite a Gemini Code Assist que complete o reemplace los comentarios TODO con código. Agregue comentarios con una explicación del contexto.
Intente generar código con las siguientes indicaciones en el chat de Gemini Code Assist:
"Escribe una función principal donde se crea una conexión a DATABASE . Incluye comprobaciones de estado".
"Escribe una FUNCTION_OR_CLASS en la siguiente estructura: EXPLAIN_STRUCTURE ."
Después de generar algún código, intenta usar un mensaje de seguimiento para mejorarlo:
"Pruebe el comando /fix para ajustar el código generado; por ejemplo, errores de sintaxis".
"Agregar importaciones faltantes."
"Probar /fix el código generado por el chat".
Limpieza, simplificación y refactorización de código
Pruebe las siguientes indicaciones en el chat de Gemini Code Assist:
"¿Puedes fusionar IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS en este archivo?"
"¿Cómo simplificarías la función FUNCTION_NAME ?"
"¿Puedes fusionar FUNCTION_NAME_1 y FUNCTION_NAME_2 en una sola función?"
"¿Podrías incorporar algunas variables en FUNCTION_NAME ?"
"¿Podrías simplificar el nombre de las variables en la función FUNCTION_NAME ?"
Legibilidad
Pruebe las siguientes indicaciones en el chat de Gemini Code Assist:
"Escriba la función FUNCTION_NAME en menos líneas de código, si es posible".
"Agregar comentarios a la función FUNCTION_NAME ."
"Elimine los espacios innecesarios en la función FUNCTION_NAME ."
"Formatee la función FUNCTION_NAME de manera similar al resto del código".
Revisión de código
Pruebe las siguientes indicaciones en el chat de Gemini Code Assist:
"Divide el código en partes y explica cada parte utilizando nuestra base de código".
"¿Existen variables o palabras clave que podrían ser más breves y autoexplicativas?"
"¿Puedes darme un código útil del contexto REPOSITORY_NAME_PACKAGE_MODULE para este código?"
"¿Qué opinas de la función FUNCTION_NAME ?"
Depuración
Pruebe las siguientes indicaciones en el chat de Gemini Code Assist:
"Me aparece un error cuando intento hacer X/agregar Y. ¿Por qué?"
"¿Puedes detectar un error en la función FUNCTION_NAME ?"
"¿Cómo solucionarías la función FUNCTION_NAME dado este mensaje de error?"
Aprendizaje e incorporación
Pruebe las siguientes indicaciones en el chat de Gemini Code Assist:
"Divide este código en partes y explica cada una de ellas utilizando nuestra base de código".
"Muestra cómo llamar a la función FUNCTION_NAME ?"
"¿Muestra cómo ejecutar la función principal en el entorno ENVIRONMENT_NAME ?"
"¿Cuál es la mejora técnica clave que podemos implementar para que este código tenga mejor rendimiento?"
"Muéstrame la implementación de FUNCTION_OR_CLASS_NAME para lograr mejores resultados y agrega cuál 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
Pruebe las siguientes indicaciones en el chat de Gemini Code Assist:
"Dame una estrategia sobre cómo puedo 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 idioma LANGUAGE_NAME que pueda usar".
Pruebe el siguiente flujo de trabajo de transformación de generación de código o basado en chat usando indicaciones:
"Tome el código FILENAME_COMPONENT ya escrito en LANGUAGE_1 y refactorícelo y migréguelo a LANGUAGE_2 ", por ejemplo, de Go a Python.
Después de migrar algún código, intente lo siguiente:
Seleccione fragmentos más pequeños y use /fix para llevarlos al estado que desee.
Pruebe las siguientes indicaciones:
"¿Hay algo que se pueda mejorar?"
"Dame posibles puntos débiles".
"¿Cómo probarías este código si esa migración es correcta?"
Generando documentación
Pruebe las siguientes indicaciones en el chat de Gemini Code Assist:
"Resuma el código en el paquete o carpeta X y proporcione documentación para los cinco métodos más importantes".
"Generar documentación para FUNCTION_OR_CLASS_NAME ."
"Acortar la documentación preservando la información clave".
Generación de pruebas unitarias
Pruebe las siguientes indicaciones en el chat de Gemini Code Assist:
"Generar pruebas unitarias para FILENAME ."
"Agregue 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".
Mejores prácticas
Utilice nombres de variables y funciones o fragmentos de código relevantes. Esto guía la personalización del código hacia los ejemplos más relevantes.
Utilice repositorios de índice que desee escalar y evite añadir funcionalidades obsoletas. La personalización del código facilita la escalabilidad según el estilo, los patrones, la semántica, el conocimiento y las implementaciones del código base. Ejemplos de repositorios inadecuados para escalar son las funcionalidades obsoletas, el código generado y las implementaciones heredadas.
Para casos de recuperación de código, utilice la función de generación de código en lugar de la función de autocompletado . Indique con un lenguaje como "Utilizando la definición de FUNCTION_NAME , genere exactamente la misma función" o "Genere la implementación exacta de FUNCTION_NAME ".
Tenga inclusiones o importaciones presentes en el archivo para el código que desea recuperar para mejorar el conocimiento contextual de Gemini.
Ejecute solo una acción por cada solicitud. Por ejemplo, si desea recuperar código e implementarlo en una nueva función, realice estos pasos en dos solicitudes.
Para los casos de uso en los que desea más que solo código (como explicación del código, plan de migración o explicación de errores), use la personalización de código para el chat, donde tiene una conversación con Gemini con su base de código en contexto.
Tenga en cuenta que la generación de modelos de IA no es determinista . Si no está satisfecho con la respuesta, ejecutar la misma instrucción de nuevo podría obtener un mejor resultado.
Tenga en cuenta que la generación de pruebas unitarias generalmente funciona mejor si abre el archivo localmente y luego, desde el chat, solicita generar pruebas unitarias para este archivo o una función específica.
[[["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-06-11 (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."]]