国产手机制霸印度市场!当地制造商呼吁政府采取行动

百度 网络投票截止9月14日15:00。

本文档介绍了如何使用 Gemini Code Assist 代码自定义,并提供了一些最佳实践。借助此功能,您可以接收代码建议,这些建议来自贵组织的内部库、专用 API 和编码样式。

准备工作

  1. 使用 Enterprise 订阅设置 Gemini Code Assist
  2. 使用 Enterprise 订阅设置 Gemini Code Assist 代码自定义

如何使用代码自定义

下表列出了使用 Gemini Code Assist 代码自定义的方法:

表单 如何触发 备注和资源

自然语言对话

在 IDE 中的 Gemini Code Assist 对话窗口中输入自然语言提示。

请考虑以下事项:

  • 对话记录不可用。避免多步查询。
  • 您可以询问有关来源的更多详细信息,包括指向特定来源的链接。
  • 如果您在对话中发送消息时突出显示或选择代码,Gemini Code Assist 会使用该代码来改进代码自定义和对话质量。

如需了解详情,请参阅与 Gemini Code Assist 对话

生成代码 在 IDE 的快速选择栏中,无论是否选择了代码,请按 Command+Enter (macOS) 或 Ctrl+Enter 如需了解详情,请参阅根据提示生成代码
转换代码 在 IDE 的快速选择栏中,无论是否选择了代码,请输入 /fix 如需了解详情,请参阅根据提示生成代码
自动填充 代码自定义会自动触发,并根据您编写的内容提供建议。

请考虑以下事项:

  • 代码补全需要达到一定的置信度才能提出建议。确保有大量代码可用,以便检索相关代码段。
  • 代码补全会检查您是否拥有所需的库,以便使用函数的某些元素。

如需了解详情,请参阅获取代码补全

用例和提示示例

下表提供了有关在特定用例中使用代码自定义的指导和示例:

使用场景 值得尝试的功能
编写新代码

请在 IDE 或 Gemini Code Assist 对话中尝试以下操作以生成代码:

  • 生成使用您代码库中已有术语的代码。
  • 粘贴您的代码(例如函数签名或包含 TODO 注释的代码),然后让 Gemini Code Assist 用代码补全或替换 TODO 注释。添加带有上下文说明的注释。

您可以在 Gemini Code Assist 对话中使用以下提示生成代码:

  • “编写一个主函数,在其中创建到 DATABASE 的连接。添加健康检查。”
  • “按照以下结构编写 FUNCTION_OR_CLASSEXPLAIN_STRUCTURE。”

生成一些代码后,请尝试使用后续提示来改进代码:

  • “尝试使用 /fix 命令调整生成的代码,例如修复语法错误。”
  • “添加缺少的导入项”。
  • “对对话生成的代码尝试使用 /fix。”
清理、简化和重构代码

在 Gemini Code Assist 对话中尝试以下提示:

  • “您能否合并此文件中的 IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS?”
  • “您将如何简化 FUNCTION_NAME 函数?”
  • “您能将 FUNCTION_NAME_1FUNCTION_NAME_2 合并为一个函数吗?”
  • “您能否在 FUNCTION_NAME 中内嵌一些变量?”
  • “您能否简化函数 FUNCTION_NAME 中的变量命名?”
可读性

在 Gemini Code Assist 对话中尝试以下提示:

  • “尽可能用更少的代码行编写函数 FUNCTION_NAME。”
  • “在函数 FUNCTION_NAME 中添加注释。”
  • “移除函数 FUNCTION_NAME 中不必要的空格。”
  • “请按照与代码其余部分类似的方式设置 FUNCTION_NAME 函数的格式。”
代码审核

在 Gemini Code Assist 对话中尝试以下提示:

  • “将代码拆分为多个部分,并使用我们的代码库对每个部分进行说明。”
  • “是否有可以缩短且更易于理解的变量或关键字?”
  • “您能否为我提供此代码的 REPOSITORY_NAME_PACKAGE_MODULE 上下文中的有用代码?”
  • “您对函数 FUNCTION_NAME 有何看法?”
调试

在 Gemini Code Assist 对话中尝试以下提示:

  • “当我尝试执行 X/添加 Y 时,系统会显示错误。为什么?”
  • “您能否在函数 FUNCTION_NAME 中发现错误?”
  • “如果收到此错误消息,您将如何修复函数 FUNCTION_NAME?”
学习和初始配置

在 Gemini Code Assist 对话中尝试以下提示:

  • “将此代码拆分为多个部分,并使用我们的代码库对每个部分进行说明。”
  • “展示如何调用函数 FUNCTION_NAME?”
  • “如何在 ENVIRONMENT_NAME 环境中运行 main 函数?”
  • “为了提高代码的性能,我们可以进行哪些关键的技术改进?”
  • “请告诉我如何实现 FUNCTION_OR_CLASS_NAME 以实现更好的结果,并添加该特定元素的具体内容”--例如,“请告诉我如何实现函数 foo,其中 foo 是函数的名称”。
迁移

在 Gemini Code Assist 对话中尝试以下提示:

  • “请提供一个策略,说明如何将 FILE_NAMELANGUAGE_1 迁移到 LANGUAGE_2”,例如,从 Go 迁移到 Python。
  • “请根据代码库 REPOSITORY_NAME 中的函数 FUNCTION_NAME,为我找到一个 LANGUAGE_NAME 语言的等效函数,要求是我可以使用的。”

请尝试使用提示进行以下基于对话或代码生成的转换工作流:

  1. “将已使用 LANGUAGE_1 编写的 FILENAME_COMPONENT 代码重构并迁移到 LANGUAGE_2”,例如从 Go 迁移到 Python。
  2. 迁移部分代码后,请尝试以下操作:
    • 选择较小的块,并使用 /fix 将其置于所需状态。
    • 请尝试使用以下提示:
      • “是否有可以改进的地方?”
      • “告诉我可能存在的问题。”
      • “如果迁移正确,您将如何测试此代码?”
生成文档

在 Gemini Code Assist 对话中尝试以下提示:

  • “总结软件包或文件夹 X 中的代码,并为最重要的五种方法提供文档。”
  • “为 FUNCTION_OR_CLASS_NAME 生成文档。”
  • “缩短文档长度,同时保留关键信息。”
单元测试生成

在 Gemini Code Assist 对话中尝试以下提示:

  • “为 FILENAME 生成单元测试。”
  • “为 FUNCTION_NAME 函数添加最相关的测试用例。”
  • “移除您认为价值不高的测试用例。”

最佳做法

  • 使用相关的变量和函数名称或代码段。这有助于将代码自定义引导至最相关的代码示例。
  • 使用您希望扩展的索引代码库,避免添加已弃用的功能。代码自定义有助于在整个代码库中适配代码风格、模式、语义、知识和实现方式。不建议扩展的代码库示例包括:已弃用的功能、自动生成的代码和旧版实现。
  • 对于代码检索用例,请使用代码生成功能,而不是代码补全。使用“使用 FUNCTION_NAME 的定义,生成完全相同的函数”或“生成 FUNCTION_NAME 的确切实现”等提示语。
  • 在要检索的代码的文件中添加包含或导入,以提高 Gemini 上下文感知能力。
  • 针对每个提示执行一项操作。例如,如果您想检索代码并在新函数中实现此代码,请在两个提示中执行以下步骤。
  • 对于除代码以外还需要其他内容的使用场景(例如代码说明、迁移计划或错误说明),请使用代码自定义功能进行对话,在这种情况下,您可以结合上下文与 Gemini 进行对话,并使用代码库。
  • 请注意,AI 模型生成具有不确定性。如果您对回答不满意,再次执行同一提示可能会获得更好的结果。
  • 请注意,生成单元测试通常效果更好,如果您在本地打开文件,然后通过对话请求为此文件或特定函数生成单元测试。