使用 Gemini Code Assist 编写代码

本文档介绍了如何使用 Gemini Code Assist(Google Cloud 中依托 AI 技术的协作工具)帮助您在 IDE 中执行以下操作:

  • 提供指导,帮助您解决代码问题。
  • 为您的项目生成代码。
  • 在编码时接收内嵌建议。

了解 Gemini for Google Cloud 如何以及何时使用您的数据

为帮助您遵守代码的所有许可要求,当 Gemini Code Assist 的建议直接引用特定来源的长篇内容时,它会提供来源引用。如需详细了解 Gemini 会注明信息来源的情况和方式,请参阅 Gemini 如何帮助您生成代码并注明信息来源

借助代码自定义功能,您可以直接从 Gemini Code Assist 获取基于贵组织私有代码库的代码建议。了解如何配置代码自定义

本文档面向各种技能水平的开发者。本文假定您已具备 IntelliJ 的实际运用知识,并且熟悉 Google Cloud。您也可以在 VS CodeCloud Shell EditorCloud Workstations 中探索 Gemini Code Assist。

准备工作

  1. 在代码文件中测试 Gemini Code Assist 功能之前,请确保文件的编码语言受支持。如需详细了解支持的编码语言,请参阅支持的编码语言

  2. 如果您希望在代理后面使用 IDE,请参阅 HTTP 代理

安装 Gemini Code Assist 插件

如需在 JetBrains IDE 中安装 Gemini Code Assist 插件,请按以下步骤操作:

  1. 依次点击 settings IDE 和项目设置 > 插件
  2. Marketplace 标签页中,搜索 Gemini Code Assist
  3. 点击 Install 以安装该插件。
  4. 安装完成后,点击 Restart IDE
  5. IDE 重启后,Gemini Code Assist 会显示在 activity 栏中。

    Gemini Code Assist 图标显示在 activity 栏中

现在,您可以在 IDE 中使用 Gemini Code Assist 了。

登录 Google 并选择一个 Google Cloud 项目

在此部分中,您需要登录自己的 Google 账号。如果这是您首次在 IDE 中使用 Gemini Code Assist,请选择一个 Google Cloud 项目。

如需登录您的 Google 账号,请按以下步骤操作:

  1. 在活动栏中,点击 spark Gemini Code Assist

  2. 点击登录 Google

  3. 在网络浏览器中打开的页面上,选择您的 Google 账号。

  4. 在要求您确保自己是从 Google 下载此应用的界面上,点击登录

    Gemini Code Assist 现有权访问您的账号。

接下来,如果这是您首次在 IDE 中使用 Gemini,则必须按照以下步骤选择一个 Google Cloud 项目:

  1. 返回您的 IDE。在 Gemini Code Assist 工具窗口中,如果您同意允许 Google 代表您为所选项目启用使用 Gemini Code Assist 所需的 API,请点击选择一个 GCP 项目以继续。

  2. Select Google Cloud Project(选择 Google Cloud 项目)对话框中,搜索并选择您的 Google Cloud 项目,然后点击 OK(确定)。

  3. 点击完成

选择您的 Google Cloud 项目,并启用 Gemini Code Assist API。您现在可以在 IDE 中使用 Gemini 了!

与 Gemini Code Assist Chat

在本部分中,您将提示 Gemini Code Assist 解释现有代码。

如需获取代码说明,请按以下步骤操作:

  1. 在 IDE 中,打开代码文件。

  2. 在 Gemini Code Assist 工具窗口中,输入提示 Explain this code to me,然后点击提交

    Gemini Code Assist 会使用代码文件中的代码作为对问题的参考,并在回答中提供代码说明。

    如果您只想了解代码的某个部分,可以选择相应代码,然后再次提示 Gemini Code Assist。Gemini Code Assist 只会将所选代码用作其生成的回答的参考。

以下是您可以尝试向 Gemini Code Assist 提出的其他一些示例问题:

  • Write unit tests for my code.
  • Help me debug my code.
  • Make my code more readable.

当 Gemini Code Assist 在回答中为你提供代码时,你可以选择回答末尾列出的以下选项:

  • Insert at Cursor:将生成的代码插入当前文件的当前光标位置。

  • Insert in New File(插入新文件):打开一个新文件,并将生成的代码插入到该新文件中。

Gemini 会在生成的代码回答的末尾列出代码操作。

当 Gemini Code Assist 识别出代码块中使用的语言,并且当前 IDE 支持该语言时,这些选项才可用。

查看查询历史记录

如果您想重复使用之前的提示,可以点击 schedule Show Query History(显示查询历史记录),在 Gemini Code Assist 工具窗口的查询历史记录中找到它们。

工具窗口中的 Gemini 查询记录。

您的查询和对话记录会跨 IDE 会话保留。如需清除查询和对话记录,请依次点击 delete Clear Conversation History(清除对话记录)。

Gemini 工具窗口中用于清除对话历史记录的按钮。

根据提示生成代码

以下部分将向您展示如何使用 Gemini Code Assist 在代码文件中使用示例提示 Function to create a Cloud Storage bucket 生成代码。您还可以选择代码的一部分,然后通过聊天功能向 Gemini Code Assist 寻求帮助,并在编码时接收代码建议并接受或拒绝这些建议。

在代码文件中使用注释向 Gemini Code Assist 发出提示

  1. 在代码文件中,另起一行输入注释 Function to create a Cloud Storage bucket

  2. 如需生成代码,请按 Alt+G(适用于 Windows 和 Linux)或 Option+G(适用于 macOS)。或者,您也可以点击注释旁边的右键,然后选择生成代码

    Gemini Code Assist 会以幽灵文本的形式在注释下方生成代码。

  3. 可选:若要接受生成的代码,请按 Tab 键。

可选:更改用于生成代码的键盘快捷键

如果用于生成代码的默认键盘快捷键无法按上一部分中所述的方式运行,您可以按照以下步骤更改键盘快捷键:

  1. 依次前往 settings IDE 和项目设置 > 设置 > 键映射 > Gemini 代码辅助

  2. 右键点击 Gemini Code Assist,然后选择 Add Keyboard Shortcut

  3. 输入您偏好的键盘快捷键,然后点击确定

  4. 右键点击 Gemini Code Assist,然后选择移除 Alt+G(适用于 Windows 和 Linux),或移除 Option+G(适用于 macOS)。

    现在,您可以使用新的键盘快捷键在代码文件中生成代码。

使用聊天功能向 Gemini Code Assist 提示所选代码

Gemini Code Assist 可以根据您选择的代码执行任务或解答您的问题。如需获取基于包含所选代码的提示生成的代码,请按以下步骤操作:

  1. 在活动栏中,点击 spark Gemini Code Assist 以打开 Gemini Code Assist 工具窗口。

  2. 在代码文件中,选择一个代码块。

  3. Gemini Code Assist 工具窗口文本字段中,为所选代码输入提示。

    例如,在代码中选择一个函数,然后输入提示 Write a unit test for this function.

    Gemini Code Assist 会使用您选择的代码作为参考,并根据您的提示做出响应。

获取代码补全

在您编写代码时,Gemini Code Assist 会提供内嵌代码建议(称为代码补全),您可以选择接受或忽略这些建议。如需获取代码补全功能,请按以下步骤操作:

  1. 在代码文件中,另起一行,开始编写函数。例如,如果您在 Python 文件中,请编写 def

    Gemini Code Assist 会以内嵌建议的形式提供代码建议。

  2. 若要接受 Gemini Code Assist 给出的代码建议,请按 Tab 键。否则,若要忽略建议,请按 Esc 或继续编写代码。

  3. 可选:如果您想使用其他快捷键接受内嵌建议,请将光标悬停在内嵌建议上,然后点击显示的 Tab 下拉菜单。然后,选择您的首选快捷键,或点击自定义输入您自己的快捷键。

    Gemini 提供了一个下拉菜单,可让您更改快捷方式以接受内嵌建议。

代码补全功能默认处于启用状态。如果您想停用代码补全功能,请在 IDE 的状态栏中点击 spark Gemini Code Assist:Active,然后选择 Enable AI Code Completion

IntelliJ 状态栏中的 Gemini 代码补全按钮。

这会停用代码补全设置,在您重新启用该设置之前,Gemini Code Assist 将不再提供内嵌建议。

使用智能操作

为了在最大程度减少上下文切换的同时提高效率,Gemini Code Assist 直接在代码编辑器中提供 AI 赋能的智能操作。在代码编辑器中选择代码时,您可以查看与上下文相关的操作列表,并从中进行选择。

如需在代码中使用智能操作,请按以下步骤操作:

  1. 在代码文件中,选择一行或一块代码。

  2. 右键点击所选代码,然后选择某个智能操作,例如生成单元测试

    选择智能操作后,Gemini Code Assist 会自动在 Gemini Code Assist 工具窗口中针对提示生成回答。

可选:使用 .aiexclude 文件从上下文中排除文件

您可以创建 .aiexclude 文件,以排除 Gemini Code Assist 在考虑上下文时要考虑的文件。.aiexclude 文件遵循与 .gitignore 文件类似的语法,但存在以下差异:

  • 空的或不存在的 .aiexclude 文件不会阻止其目录和所有子目录中的任何文件。
  • .aiexclude 文件不支持否定运算,即在模式前面添加感叹号 (!)。
  • .aiexclude 文件会贪婪地匹配 * 字符。这将不加区分地匹配目录和文件。此 .aiexclude 文件不会区分文件夹或文件的 ***

目前仅支持单个 .aiexclude 文件。如需配置 .aiexclude 文件,请在工作区文件夹的根目录中创建一个名为 .aiexclude 的文件。

示例

以下示例展示了如何配置 .aiexclude 文件:

  • 屏蔽工作区目录中或下方的所有名为 apikeys.txt 的文件:

    apikeys.txt
    
  • 在工作区目录或该目录下阻止所有扩展名为 .key 的文件:

    *.key
    
  • 仅屏蔽与 .aiexclude 文件位于同一目录中的 apikeys.txt 文件,但不屏蔽任何子目录:

    /apikeys.txt
    
  • 屏蔽 my/sensitive/dir 目录及其所有子目录中的所有文件。路径应相对于工作区根目录。

    my/sensitive/dir/*
    

提供反馈

如需就您的体验留下反馈,请按以下步骤操作:

  1. 在状态栏中,点击 spark Gemini Code Assist,然后在菜单中选择 Submit feedback

  2. 在表单顶部的文本字段中,输入您的反馈。

  3. 如果您想分享 Gemini Code Assist 日志,请务必选择日志文件。

  4. 点击提交反馈

后续步骤