Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In diesem Dokument wird beschrieben, wie Sie die Codeanpassung in Gemini Code Assist verwenden. Außerdem finden Sie einige Best Practices. Mit dieser Funktion können Sie Code-Empfehlungen erhalten, die auf den internen Bibliotheken, privaten APIs und dem Codierungsstil Ihrer Organisation basieren.
In der folgenden Tabelle sind Möglichkeiten zur Verwendung der Codeanpassung in Gemini Code Assist aufgeführt:
Formular
So wird der Trigger ausgelöst
Hinweise und Ressourcen
Chat in natürlicher Sprache
Geben Sie einen Prompt in natürlicher Sprache in den Gemini Code Assist-Chat in der IDE ein.
Berücksichtige Folgendes:
Das Chatprotokoll ist nicht verfügbar. Vermeiden Sie mehrstufige Anfragen.
Sie können nach weiteren Details zu Quellen fragen, einschließlich Links zu den jeweiligen Quellen.
Wenn Sie Code markieren oder auswählen, wenn Sie eine Nachricht im Chat senden, verwendet Gemini Code Assist diesen Code, um die Codeanpassung und die Chatqualität zu verbessern.
Drücken Sie in der Schnellauswahlleiste in Ihrer IDE, entweder mit oder ohne ausgewählten Code, Befehlstaste+Eingabetaste (macOS) oder Strg+Eingabetaste.
Die Codeanpassung wird automatisch ausgelöst und bietet Vorschläge basierend auf dem, was Sie schreiben.
Berücksichtige Folgendes:
Für die Codevervollständigung ist ein bestimmter Vertrauensgrad erforderlich, um einen Vorschlag zu machen. Achten Sie darauf, dass genügend Code vorhanden ist, damit relevante Snippets abgerufen werden können.
Bei der Codevervollständigung wird geprüft, ob Sie die erforderlichen Bibliotheken haben, um bestimmte Elemente der Funktion zu verwenden.
Beginnen Sie Ihren Prompt mit dem @-Symbol. Eine Liste der verfügbaren indexierten Remote-Repositories wird angezeigt.
Wählen Sie in der Liste das Repository aus, das Sie für den Kontext verwenden möchten.
Sie können auch mit der Eingabe des Repository-Namens beginnen, um die Liste zu filtern.
Nachdem Sie das Repository ausgewählt haben, schreiben Sie den Rest Ihres Prompts.
Berücksichtige Folgendes:
Das ist nützlich, wenn Sie an einer Aufgabe arbeiten, die sich hauptsächlich auf eine bestimmte Gruppe von Microservices, Bibliotheken oder Modulen bezieht.
Die folgende Tabelle enthält Anleitungen und Beispiele für die Verwendung der Codeanpassung in bestimmten Anwendungsfällen:
Anwendungsfall
Mögliche Lösungsansätze
Neuen Code schreiben
So können Sie Code in Ihrer IDE oder im Gemini Code Assist-Chat generieren:
Code generieren, in dem Begriffe verwendet werden, die bereits in Ihrer Codebasis erwähnt werden.
Fügen Sie Ihren Code ein, z. B. eine Funktionssignatur oder Code mit TODO-Kommentaren, und bitten Sie Gemini Code Assist dann, die TODO-Kommentare mit Code zu füllen oder zu ersetzen. Fügen Sie Kommentare mit Erklärungen aus dem Kontext hinzu.
Probieren Sie aus, mit den folgenden Prompts Code im Gemini Code Assist-Chat zu generieren:
„Schreibe eine Hauptfunktion, in der eine Verbindung zu DATABASE hergestellt wird. Systemdiagnosen einbeziehen.“
„Schreibe eine FUNCTION_OR_CLASS in der folgenden Struktur:
EXPLAIN_STRUCTURE.“
Nachdem Sie Code generiert haben, können Sie ihn mit einem Folge-Prompt verbessern:
„Verwende den Befehl /fix, um den generierten Code anzupassen, z. B. Syntaxfehler zu korrigieren.“
„Probieren Sie /fix für von Chat generierten Code aus.“
Code bereinigen, vereinfachen und refaktorieren
Probieren Sie die folgenden Prompts im Gemini Code Assist-Chat aus:
„Kannst du IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS in diese Datei einfügen?“
„Wie würdest du die Funktion
FUNCTION_NAME vereinfachen?“
„Kannst du FUNCTION_NAME_1 und FUNCTION_NAME_2 in einer Funktion zusammenführen?“
„Kannst du einige Variablen in FUNCTION_NAME inline einfügen?“
„Könntest du die Variablennamen in der Funktion
FUNCTION_NAME vereinfachen?“
Lesbarkeit
Probieren Sie die folgenden Prompts im Gemini Code Assist-Chat aus:
„Schreibe die Funktion FUNCTION_NAME in möglichst wenigen Codezeilen.“
„Füge der Funktion Kommentare hinzu
FUNCTION_NAME.“
„Entferne unnötige Leerzeichen in der Funktion
FUNCTION_NAME.“
„Formatiere die Funktion FUNCTION_NAME ähnlich wie den restlichen Code.“
Code Review
Probieren Sie die folgenden Prompts im Gemini Code Assist-Chat aus:
„Teile den Code in Abschnitte auf und erkläre jeden Abschnitt anhand unserer Codebasis.“
„Gibt es Variablen oder Keywords, die kürzer und selbsterklärender sein könnten?“
„Kannst du mir nützlichen Code aus dem Kontext REPOSITORY_NAME_PACKAGE_MODULE für diesen Code geben?“
„Was hältst du von der Funktion
FUNCTION_NAME?“
Debugging
Probieren Sie die folgenden Prompts im Gemini Code Assist-Chat aus:
„Ich erhalte eine Fehlermeldung, wenn ich versuche, X auszuführen/Y hinzuzufügen. Warum?“
„Kannst du einen Fehler in der Funktion
FUNCTION_NAME finden?“
„Wie würdest du die Funktion
FUNCTION_NAME angesichts dieser Fehlermeldung beheben?“
Lernen und Onboarding
Probieren Sie die folgenden Prompts im Gemini Code Assist-Chat aus:
„Teile diesen Code in Abschnitte auf und erkläre jeden Abschnitt anhand unserer Codebasis.“
„Zeige, wie die Funktion zum Anrufen von FUNCTION_NAME funktioniert.“
„Zeige, wie die Hauptfunktion in der ENVIRONMENT_NAME-Umgebung ausgeführt wird.“
„Welche wichtige technische Verbesserung können wir vornehmen, um die Leistung dieses Codes zu steigern?“
„Zeige mir die Implementierung von FUNCTION_OR_CLASS_NAME, um bessere Ergebnisse zu erzielen, und füge hinzu, was dieses Element ist.“ Zum Beispiel: „Zeige mir die Implementierung der Funktion ‚foo‘, wobei ‚foo‘ der Name der Funktion ist.“
Migration
Probieren Sie die folgenden Prompts im Gemini Code Assist-Chat aus:
„Gib mir eine Strategie für die Migration von FILE_NAME von LANGUAGE_1 zu LANGUAGE_2.“ – zum Beispiel von Go zu Python.
„Suche nach einer Funktion in der Sprache LANGUAGE_NAME, die der Funktion FUNCTION_NAME im Repository REPOSITORY_NAME entspricht.“
Probieren Sie den folgenden Chat-basierten oder Code-Generierungs-Transformationsworkflow mit Prompts aus:
„Nimm den FILENAME_COMPONENT-Code, der bereits in LANGUAGE_1 geschrieben wurde, und refaktoriere und migriere ihn zu LANGUAGE_2“, z. B. von Go zu Python.
Nachdem Sie Code migriert haben, versuchen Sie Folgendes:
Wählen Sie kleinere Abschnitte aus und verwenden Sie /fix, um den Text in den gewünschten Zustand zu bringen.
Probieren Sie es mit diesen Prompts:
„Gibt es etwas, das verbessert werden kann?“
„Nenne mir mögliche Probleme.“
„Wie würden Sie diesen Code testen, wenn die Migration korrekt ist?“
Dokumentation wird erstellt
Probieren Sie die folgenden Prompts im Gemini Code Assist-Chat aus:
„Fasse den Code im Paket oder Ordner
X zusammen und stelle eine Dokumentation für die fünf wichtigsten Methoden bereit.“
„Generiere Dokumentation für
FUNCTION_OR_CLASS_NAME.“
„Kürze die Dokumentation, behalte aber die wichtigsten Informationen bei.“
Generierung von Unittests
Probieren Sie die folgenden Prompts im Gemini Code Assist-Chat aus:
„Generiere Unittests für FILENAME.“
„Füge die relevantesten Testläufe für die Funktion FUNCTION_NAME hinzu.“
„Entfernen Sie Testläufe, die Ihrer Meinung nach nicht viel Wert bringen.“
Best Practices
Verwenden Sie relevante Variablen- und Funktionsnamen oder Code-Snippets. So wird die Codeanpassung auf die relevantesten Codebeispiele ausgerichtet.
Verwenden Sie Index-Repositories, die Sie skalieren möchten, und vermeiden Sie das Hinzufügen von eingestellten Funktionen. Die Codeanpassung trägt dazu bei, den Codestil, die Muster, die Codesemantik, das Wissen und die Implementierungen in der gesamten Codebasis zu skalieren.
Schlechte Beispiele für Repositorys, die skaliert werden sollen, sind eingestellte Funktionen, generierter Code und alte Implementierungen.
Verwenden Sie für Anwendungsfälle zum Abrufen von Code die Codegenerierungsfunktion anstelle der Codevervollständigung. Verwenden Sie in Ihrem Prompt Formulierungen wie „Erstelle anhand der Definition von FUNCTION_NAME genau dieselbe Funktion“ oder „Erstelle die genaue Implementierung von FUNCTION_NAME“.
Die Datei, aus der Sie Code abrufen möchten, sollte „includes“ oder „imports“ enthalten, um die Kontextberücksichtigung von Gemini zu verbessern.
Führen Sie für jeden Prompt nur eine Aktion aus. Wenn Sie beispielsweise Code abrufen und diesen Code in einer neuen Funktion implementieren lassen möchten, führen Sie diese Schritte mit zwei Prompts aus.
Für Anwendungsfälle, in denen Sie mehr als nur Code benötigen, z. B. eine Codeerklärung, einen Migrationsplan oder eine Fehlererklärung, verwenden Sie die Codeanpassung für den Chat. Dabei führen Sie eine Unterhaltung mit Gemini, in der Ihre Codebasis im Kontext steht.
Die Generierung von KI-Modellen ist nicht deterministisch. Wenn Sie mit der Antwort nicht zufrieden sind, kann es helfen, denselben Prompt noch einmal auszuführen.
Das Generieren von Unittests funktioniert in der Regel besser, wenn Sie die Datei lokal öffnen und dann im Chat darum bitten, Unittests für diese Datei oder eine bestimmte Funktion zu generieren.
Relevantere Vorschläge mit Kontext aus Remote-Repositorys erhalten
Sie können kontextbezogenere und relevantere Codevorschläge erhalten, indem Sie Gemini Code Assist anweisen, sich auf bestimmte Remote-Repositories zu konzentrieren. Wenn Sie das @-Symbol im Chat verwenden, können Sie ein oder mehrere Repositories auswählen, die als primäre Kontextquelle für Ihre Prompts verwendet werden sollen. Das ist nützlich, wenn Sie an einer Aufgabe arbeiten, die sich hauptsächlich auf eine bestimmte Gruppe von Microservices, Bibliotheken oder Modulen bezieht.
So verwenden Sie ein Remote-Repository als Kontext:
Beginnen Sie Ihren Prompt mit dem @-Symbol. Es wird eine Liste der verfügbaren indexierten Remote-Repositories angezeigt.
Wählen Sie in der Liste das Repository aus, das Sie für den Kontext verwenden möchten. Sie können auch mit der Eingabe des Repository-Namens beginnen, um die Liste zu filtern.
Nachdem Sie das Repository ausgewählt haben, schreiben Sie den Rest Ihres Prompts.
Gemini priorisiert dann das ausgewählte Repository beim Generieren einer Antwort.
Beispiele für Prompts
Hier sind einige Beispiele für die Verwendung dieser Funktion:
Ein Repository verstehen:
„@REPOSITORY_NAME Wie ist die Gesamtstruktur dieses Repositorys?“
„@REPOSITORY_NAME Ich bin ein neues Teammitglied. Kannst du mir einen Überblick über den Zweck dieses Repositorys und die wichtigsten Module geben?“
Für die Codegenerierung und ‑änderung:
„@REPOSITORY_NAME Implementiere eine Authentifizierungsfunktion, die der in diesem Repository ähnelt.“
„@REPOSITORY_NAME Überarbeite den folgenden Code, damit er den Konventionen im ausgewählten Repository entspricht.“
„@REPOSITORY_A_NAME Wie kann ich die neuesten Funktionen aus diesem Repository verwenden, um meinen Code in REPOSITORY_B_NAME zu verbessern?“
Zum Testen:
„@UNIT_TEST_FILE_NAME Generiere Unittests für MODULE basierend auf den Beispielen in der ausgewählten Datei.“
Wenn Sie Remote-Repositories als fokussierte Kontextquelle verwenden, erhalten Sie genauere und relevantere Vorschläge von Gemini Code Assist, die Ihnen helfen können, schneller und effizienter zu programmieren.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-04 (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."]]