使用 Gemini Code Assist 进行编码

本文档介绍了如何使用 Gemini Code Assist(Google Cloud 中由 AI 赋能的协作工具)在 Cloud Code 中执行以下操作:

  • 提供指导来帮助您解决代码问题。

  • 为您的项目生成代码。

  • 在编码时接收内嵌建议。

Gemini 不会将您的提示或其回答用作数据来训练其模型。如需了解详情,请参阅 Gemini for Google Cloud 如何使用您的数据

为帮助您遵循代码的任何许可要求,当 Gemini Code Assist 的建议直接引用特定来源的详细内容时,它会提供来源引用。要详细了解 Gemini 引用来源的方式和时机,请参阅 Gemini 如何帮助您生成代码和引用来源

本文档面向所有技能水平的开发者。本文档假定您具备 IntelliJ 的应用知识并熟悉 Google Cloud。如果您愿意,还可以在 Cloud WorkstationsCloud Code for VS CodeCloud Shell Editor 中探索 Gemini Code Assist。

准备工作

  1. 安装 Cloud Code 插件(如果尚未安装)。Gemini Code Assist 与 Cloud Code 集成,可将 AI 赋能的协作工具引入您的本地 IDE。
  2. 可选:如果您选择克隆本文档中的任务的示例,请安装 Git。 将示例复制到您的计算机需要使用 Git。

连接到 Google Cloud 并选择项目

在本部分中,您将连接到 Google Cloud,并选择已在 IDE 中启用 Cloud AI Companion API 的 Google Cloud 项目。

如果您选择的 Google Cloud 项目未启用 Cloud AI Companion API,您会收到错误通知,并指示其与您的管理员联系。如需了解详情,请参阅为项目设置 Gemini Code Assist

如需在 IDE 中连接到 Google Cloud,请按以下步骤操作:

  1. 启动您的 IDE。

  2. 依次点击工具 > Google Cloud Code > 登录 Google Cloud Platform

  3. 按照提示登录您的 Google 帐号。

  4. 当系统询问您是否从 Google 下载 Cloud Code 时,点击登录

    您现在已连接到 Google Cloud。

接下来,如需选择已启用 Cloud AI Companion API 的 Google Cloud 项目,请按以下步骤操作:

  1. Gemini Code Assist 状态栏中,点击 Gemini Code Assist

    Gemini 状态栏按钮。

  2. Gemini Code Assist 菜单中,选择 Settings(设置)。

  3. 云项目字段中,点击 more_horiz 选择 Google Cloud 项目,然后选择一个启用了 Cloud AI Companion API 的项目。

    Gemini 已准备就绪。

要测试 Gemini Code Assist 的功能,请打开应用或在下一部分中创建示例应用。

可选:创建示例应用

如果您希望使用现有应用来测试 Gemini Code Assist 的功能,则可以跳过本部分。否则,如需创建示例应用,请按以下步骤操作:

  1. 在 IDE 中,依次点击 File > New > Project

  2. New Project 窗口的左侧窗格中,选择 Cloud Code: Kubernetes

  3. 选择与您的首选语言对应的一个 Guestbook 示例,然后点击下一步

  4. 输入项目名称并选择项目位置。

  5. 点击创建

    Cloud Code 会克隆 Python (Flask) 模板并打开新创建的项目以供使用。

与 Gemini Code Assist Chat

在本部分中,您将学习如何打开 Gemini Code Assist 窗格并与 Genmini Code Assist 聊天以获取现有代码的说明。

要开始与 Gemini 聊天,请按以下步骤操作:

  1. 创建一个代码文件,或使用现有的代码文件。如果您使用的是 Python (Flask) 示例,则可以在 front.py 文件中执行此任务:在 Project 工具窗口中,前往 src > frontend,然后打开 front.py 文件。

  2. 在状态栏中,点击 Gemini Code Assist,然后选择 Open Chat

    Cloud Code 状态栏中的 Gemini 按钮显示“打开聊天”选项。

  3. Gemini Code Assist 聊天窗口中,输入提示 Explain this code to me,然后点击 Send

    Gemini 使用代码文件中的代码作为对提示的引用,并在回复中提供代码说明。

重置聊天记录

Gemini Code Assist 会在回答您的提示时使用聊天记录提供更多背景信息。

如果您的聊天记录与您要实现的目标不再相关,您可以重置聊天记录:在 Gemini Code Assist 窗格中,点击 delete Reset Chat

根据提示生成代码

以下各部分介绍了如何使用 Gemini Code Assist 通过 Python 文件中的示例提示 # Function to create a Cloud Storage bucket 生成代码。您还可以在编码时接收并接受或拒绝代码建议。

在代码文件中提示 Gemini Code Assist

  1. 创建新的代码文件或使用现有的代码文件。如果您使用的是 Python (Flask) 示例,则可以在 front.py 文件中执行此操作:在 Project 窗格中,导航到 python-guestbook > src > frontend,然后打开 front.py 文件。

  2. 在代码文件中另起一行输入 # Function to create a Cloud Storage bucket,然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。

  3. 如需生成代码,请按 Alt+Shift+\(适用于 Windows 和 Linux)或 Option+Shift+\ (macOS)。或者,在代码文件的边线中,点击 spark Gemini Code Assist

    Cloud Code 中的边线显示了“使用 Gemini 生成代码”图标。

    在 Python 文件中的提示文本旁边,Gemini Code Assist 会以幽灵文本的形式生成代码。

  4. 可选:若要接受生成的代码,请按 Tab。 如果您希望接受生成的一行代码,请按 Shift+Enter

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

如果用于生成代码的默认键盘快捷键无法正常工作(如上一部分中所述),您可以按照以下步骤更改键盘快捷键:

  1. 在 IDE 中,点击 File(适用于 Windows 和 Linux)或 IntelliJ IDEA(适用于 macOS),然后依次转到 Settings > Keymap > Plugins > Google Cloud Code

  2. 在键盘快捷键列表中,滚动屏幕,直到您找到生成代码

  3. 右键点击生成代码,然后选择添加键盘快捷键

  4. Keyboard Shortcut 对话框中,双击当前的键盘快捷键,然后输入您自己的快捷键。

  5. 点击确定

  6. 点击 Apply,然后点击 OK

    您现在可以使用新分配的键盘快捷键,通过 Gemini Code Assist 生成代码。

如需详细了解如何在 IDE 中更改快捷键,请参阅配置键盘快捷键

在编码时获取内嵌建议

在您编写代码时,Gemini Code Assist 会提供内嵌代码建议,您可以选择接受或忽略。如需试用此功能,请按以下步骤操作:

  1. 创建新的代码文件或使用现有的代码文件。如果您使用的是 Python (Flask) 示例,则可以在 front.py 文件中执行此操作:在 Project 窗格中,导航到 python-guestbook > src > frontend,然后打开 front.py 文件。

  2. 在代码文件中,另起一行开始编写函数。例如,如果您位于 Python 文件中,则写入 def

    Gemini 以幽灵文本的形式建议代码。

  3. 若要接受 Gemini Code Assist 提供的代码建议,请按 Tab。否则,如需忽略建议,请按 Esc 键或继续编写代码。

停用与引用的来源匹配的代码建议

如果 Gemini 直接引用其他来源(例如现有的开源代码)中大量内容,则提供引用信息。如需了解详情,请参阅 Gemini 引用信息来源的方式和时间

为防止系统建议与引用的来源匹配的代码,您可以在 settings.json 文件中将 cloudcode.duetAI.recitation.maxCitedLength 设置修改为 0

"cloudcode.duetAI.recitation.maxCitedLength": 0

测试其他提示示例

仔细阅读本文档的使用提示生成代码部分后,请尝试执行以下一些示例提示。

Gemini Code Assist 聊天窗格中,输入以下任一提示:

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

已知问题

以下部分概述了 Gemini Code Assist 的已知问题。

如果 Chat 响应包含大型打开文件的更新版本,则可能会被截断

如需解决此问题,请选择一小段代码,并在聊天提示中添加一条额外的指令,例如 only output the selected code.

IdeaVim:在按 Esc 关闭 IntelliJ 的建议时,插件不显示 Gemini Code Assist 建议

在 IntelliJ 中使用 IdeaVim 插件时,如果您按 Esc 关闭 IntelliJ 的建议,就会进入 VIM 命令模式,并且不会显示 Gemini Code Assist 建议。

Gemini Code Assist 在插入模式下可按预期运行。

IdeaVim:除非在插入模式下,否则无法接受代码生成建议

在普通模式下使用 IdeaVim 插件时,您无法接受代码建议。

若要解决此问题,请按 i 进入插入模式,然后按 Tab 接受建议。

若要关闭建议,请按 Esc 键。

提供反馈

要提供您的体验反馈,请按以下步骤操作:

  1. 在状态栏中,点击 Gemini Code Assist,然后在菜单中选择提交反馈

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

  3. 如果您想共享 Gemini Code Assist 日志,请务必选择日志选项。

  4. 点击提交反馈

后续步骤