Sử dụng tính năng tuỳ chỉnh mã của Gemini Code Assist
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Tài liệu này mô tả cách sử dụng tính năng tuỳ chỉnh mã của Gemini Code Assist và đưa ra một số phương pháp hay nhất. Tính năng này cho phép bạn nhận các đề xuất về mã dựa trên thư viện nội bộ, API riêng tư và kiểu lập trình của tổ chức.
Bảng sau đây liệt kê các cách sử dụng tính năng tuỳ chỉnh mã của Gemini Code Assist:
Biểu mẫu
Cách kích hoạt
Ghi chú và tài nguyên
Trò chuyện bằng ngôn ngữ tự nhiên
Nhập câu lệnh bằng ngôn ngữ tự nhiên trong tính năng trò chuyện của Gemini Code Assist trong IDE.
Cân nhắc những điều sau:
Không có nhật ký trò chuyện. Tránh các truy vấn nhiều bước.
Bạn có thể yêu cầu cung cấp thêm thông tin chi tiết về các nguồn, bao gồm cả đường liên kết đến các nguồn cụ thể.
Nếu bạn làm nổi bật hoặc chọn mã khi gửi tin nhắn trong cuộc trò chuyện, Gemini Code Assist sẽ sử dụng mã đó để cải thiện khả năng tuỳ chỉnh mã và chất lượng cuộc trò chuyện.
Tính năng tuỳ chỉnh mã sẽ tự động được kích hoạt và đưa ra các đề xuất dựa trên nội dung bạn viết.
Cân nhắc những điều sau:
Tính năng hoàn tất mã cần có một mức độ tin cậy nhất định để đề xuất một nội dung gợi ý. Đảm bảo có một lượng mã đáng kể để truy xuất các đoạn mã có liên quan.
Tính năng hoàn thành mã sẽ kiểm tra xem bạn có thư viện bắt buộc để sử dụng một số phần tử nhất định của hàm hay không.
Bảng sau đây cung cấp hướng dẫn và ví dụ về cách sử dụng tính năng tuỳ chỉnh mã trong các trường hợp sử dụng cụ thể:
Trường hợp sử dụng
Những điều đáng thử
Viết mã mới
Hãy thử những cách sau để tạo mã trong IDE hoặc tính năng trò chuyện của Gemini Code Assist:
Tạo mã sử dụng các thuật ngữ đã được đề cập trong cơ sở mã của bạn.
Dán mã của bạn, chẳng hạn như chữ ký chức năng hoặc mã có chú thích TODO, sau đó yêu cầu tính năng Trợ giúp mã Gemini điền hoặc thay thế chú thích TODO bằng mã. Thêm nhận xét có nội dung giải thích trong ngữ cảnh.
Hãy thử tạo mã bằng các câu lệnh sau trong tính năng trò chuyện của Gemini Code Assist:
"Viết một hàm chính tạo kết nối với DATABASE. Bao gồm các tính năng kiểm tra tình trạng."
"Viết FUNCTION_OR_CLASS theo cấu trúc sau: EXPLAIN_STRUCTURE."
Sau khi bạn tạo một số mã, hãy thử sử dụng lời nhắc tiếp theo để cải thiện mã đó:
"Hãy thử lệnh /fix để điều chỉnh mã đã tạo, ví dụ: lỗi cú pháp."
"Thêm các lệnh nhập bị thiếu".
"Thử /fix trên mã do cuộc trò chuyện tạo."
Dọn dẹp, đơn giản hoá và tái cấu trúc mã
Hãy thử các câu lệnh sau trong cuộc trò chuyện của tính năng Trợ giúp mã Gemini:
"Bạn có thể hợp nhất
IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS
trong tệp này không?"
"Làm cách nào để đơn giản hoá hàm FUNCTION_NAME?"
"Bạn có thể hợp nhất FUNCTION_NAME_1 và
FUNCTION_NAME_2 thành một hàm không?"
"Bạn có thể đưa một số biến vào cùng dòng trong FUNCTION_NAME không?"
"Bạn có thể đơn giản hoá việc đặt tên biến trong hàm FUNCTION_NAME không?"
Mức độ dễ đọc
Hãy thử các câu lệnh sau trong cuộc trò chuyện của tính năng Trợ giúp mã Gemini:
"Viết hàm FUNCTION_NAME trong ít dòng mã hơn, nếu có thể."
"Thêm nhận xét vào hàm FUNCTION_NAME."
"Xoá khoảng trắng không cần thiết trong hàm
FUNCTION_NAME."
"Định dạng hàm FUNCTION_NAME theo cách tương tự như phần còn lại của mã."
Xem xét mã
Hãy thử các câu lệnh sau trong cuộc trò chuyện của tính năng Trợ giúp mã Gemini:
"Phân chia mã thành các phần và giải thích từng phần bằng cơ sở mã của chúng tôi".
"Có biến hoặc từ khoá nào có thể ngắn gọn và tự giải thích hơn không?"
"Bạn có thể cung cấp cho tôi mã hữu ích từ bối cảnh REPOSITORY_NAME_PACKAGE_MODULE cho mã này không?"
"Bạn nghĩ gì về hàm
FUNCTION_NAME?"
Gỡ lỗi
Hãy thử các câu lệnh sau trong cuộc trò chuyện của tính năng Trợ giúp mã Gemini:
"Tôi gặp lỗi khi cố gắng làm X/thêm Y. Lý do là gì?"
"Bạn có phát hiện lỗi trong hàm FUNCTION_NAME không?"
"Bạn sẽ sửa hàm FUNCTION_NAME như thế nào khi gặp thông báo lỗi này?"
Tìm hiểu và làm quen
Hãy thử các câu lệnh sau trong cuộc trò chuyện của tính năng Trợ giúp mã Gemini:
"Phân đoạn mã này thành các phần và giải thích từng phần bằng cách sử dụng cơ sở mã của chúng ta".
"Hướng dẫn cách gọi hàm
FUNCTION_NAME?"
"Hướng dẫn cách chạy hàm chính trong môi trường ENVIRONMENT_NAME?"
"Chúng ta có thể cải thiện kỹ thuật chính nào để mã này hoạt động hiệu quả hơn?"
"Hãy cho tôi xem cách triển khai FUNCTION_OR_CLASS_NAME để đạt được kết quả tốt hơn và thêm phần tử cụ thể đó" – ví dụ: "Hãy cho tôi xem cách triển khai hàm foo, trong đó foo là tên của hàm".
Di chuyển
Hãy thử các câu lệnh sau trong cuộc trò chuyện của tính năng Trợ giúp mã Gemini:
"Hãy cho tôi biết chiến lược để di chuyển FILE_NAME từ LANGUAGE_1 sang LANGUAGE_2", ví dụ: từ Go sang Python.
"Cho hàm FUNCTION_NAME trong
kho lưu trữ REPOSITORY_NAME, hãy tìm cho tôi
một hàm tương đương trong ngôn ngữ
LANGUAGE_NAME mà tôi có thể sử dụng."
Hãy thử quy trình chuyển đổi dựa trên cuộc trò chuyện hoặc tạo mã sau đây bằng các câu lệnh:
"Lấy mã FILENAME_COMPONENT đã được viết trong LANGUAGE_1, tái cấu trúc và di chuyển mã đó sang LANGUAGE_2", ví dụ: từ Go sang Python.
Sau khi di chuyển một số mã, hãy thử làm như sau:
Chọn các phần nhỏ hơn và sử dụng /fix để đưa phần đó vào trạng thái bạn muốn.
Hãy thử các câu lệnh sau:
"Có điều gì cần cải thiện không?"
"Cho tôi biết những vấn đề có thể xảy ra."
"Bạn sẽ kiểm thử mã này như thế nào nếu quá trình di chuyển đó là chính xác?"
Tạo tài liệu
Hãy thử các câu lệnh sau trong cuộc trò chuyện của tính năng Trợ giúp mã Gemini:
"Tóm tắt mã trong gói hoặc thư mục X và cung cấp tài liệu cho 5 phương thức quan trọng hàng đầu."
"Tạo tài liệu cho
FUNCTION_OR_CLASS_NAME."
"Rút ngắn tài liệu trong khi vẫn giữ lại thông tin chính".
Tạo kiểm thử đơn vị
Hãy thử các câu lệnh sau trong cuộc trò chuyện của tính năng Trợ giúp mã Gemini:
"Tạo mã kiểm thử đơn vị cho FILENAME."
"Thêm các trường hợp kiểm thử phù hợp nhất cho hàm FUNCTION_NAME."
"Xoá các trường hợp kiểm thử mà bạn cho là không mang lại nhiều giá trị".
Các phương pháp hay nhất
Sử dụng tên biến và hàm hoặc đoạn mã có liên quan. Điều này sẽ hướng dẫn bạn tuỳ chỉnh mã theo các ví dụ về mã phù hợp nhất.
Sử dụng kho lưu trữ chỉ mục mà bạn muốn mở rộng quy mô và tránh thêm chức năng không dùng nữa. Tính năng tuỳ chỉnh mã giúp mở rộng quy mô cho kiểu mã, mẫu, ngữ nghĩa mã, kiến thức và cách triển khai trên cơ sở mã.
Ví dụ không tốt về kho lưu trữ để mở rộng quy mô là các chức năng không dùng nữa, mã được tạo và cách triển khai cũ.
Đối với các trường hợp sử dụng truy xuất mã, hãy sử dụng chức năng tạo mã thay vì hoàn thành mã. Gợi ý bằng ngôn ngữ như "Sử dụng định nghĩa của FUNCTION_NAME, hãy tạo chính xác hàm đó" hoặc "Tạo cách triển khai chính xác của FUNCTION_NAME".
Có các tệp bao gồm hoặc nhập trong tệp cho mã bạn muốn truy xuất để cải thiện khả năng nhận biết ngữ cảnh của Gemini.
Chỉ thực thi một hành động cho mỗi câu lệnh. Ví dụ: nếu bạn muốn truy xuất mã và triển khai mã này trong một hàm mới, hãy thực hiện các bước sau theo hai lời nhắc.
Đối với các trường hợp sử dụng mà bạn không chỉ muốn có mã (chẳng hạn như giải thích mã, kế hoạch di chuyển hoặc giải thích lỗi), hãy sử dụng tính năng tuỳ chỉnh mã để trò chuyện, trong đó bạn trò chuyện với Gemini về cơ sở mã của mình trong ngữ cảnh.
Xin lưu ý rằng việc tạo mô hình AI là không xác định. Nếu bạn không hài lòng với phản hồi, hãy thực thi lại cùng một câu lệnh để có kết quả tốt hơn.
Xin lưu ý rằng việc tạo kiểm thử đơn vị thường hoạt động hiệu quả hơn nếu bạn mở
tệp trên máy, sau đó yêu cầu tạo kiểm thử đơn vị cho tệp này hoặc
một hàm cụ thể trong cuộc trò chuyện.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Khó hiểu","hardToUnderstand","thumb-down"],["Thông tin hoặc mã mẫu không chính xác","incorrectInformationOrSampleCode","thumb-down"],["Thiếu thông tin/mẫu tôi cần","missingTheInformationSamplesINeed","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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."]]