使用 Gemini Code Assist 编写代码

本文档介绍了如何使用 Gemini Code Assist 是 AI 赋能的一款应用, Google Cloud 中的协作工具,可帮助您完成 Cloud Workstations 基本编辑器:

  • 提供相关指导,帮助您解决代码问题。

  • 为您的项目生成代码。

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

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

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

本文档面向各种技能水平的开发者。它假定您 掌握 Cloud Workstations 并且熟悉 Google Cloud。 如果您愿意,还可以探索 Gemini Code Assist: 适用于 VS Code 的 Cloud CodeCloud Code for IntelliJCloud Shell Editor

准备工作

  1. 确保您拥有 Cloud Workstations Admin 项目的 IAM 角色,以便您可以创建工作站 配置。

    <ph type="x-smartling-placeholder"></ph> 前往 IAM

  2. 设置 工作站(如果尚未选择),请务必选择 基本编辑器 (Code-OSS)

    <ph type="x-smartling-placeholder">
  3. 在代码中测试 Gemini Code Assist 功能之前 文件,请确保系统支持您文件的编码语言。更多信息 请参阅 支持的编程语言

连接到 Google Cloud 并选择一个项目

在本部分,您将连接到 Google Cloud 并选择 启用了 Cloud AI Companion API 的 Google Cloud 项目 工作站

如果您选择的 Google Cloud 项目不包含 Cloud AI Companion API 时,您会收到 用于从 IDE 启用 API 的选项。在 通知窗口,以便为您的项目启用此 API。如需更多信息 请参阅为项目设置 Gemini Code Assist

<ph type="x-smartling-placeholder">

要在以下位置连接到 Google Cloud: 工作站 请按以下步骤操作:

  1. 在 Google Cloud 控制台中,启动您的 工作站。

    启动工作站

  2. 在 在状态栏中,点击 Cloud Code - Sign In

    Cloud Code - 状态栏中的登录按钮。

  3. 在系统提示您登录时,点击 Proceed to sign in(继续登录)。

  4. 如需启动 Google Cloud 登录流程,请按 Control (适用于 Windows 和 Linux)或 Command(适用于 macOS)并点击 控制台。

  5. 如果系统提示您允许 Cloud Workstations 打开外部 点击打开

  6. 如需登录您的账号,请按照提示操作。

    如果系统提示您确保此应用是从 Google 下载的,请点击 登录

    您的浏览器会打开一个新标签页,显示要登录的验证码 Cloud Code 中。

  7. 复制验证码,并将其粘贴到终端显示 输入授权代码,然后按 Enter 键(适用于 Windows 和 Linux)或 Return 键(适用于 macOS)。

    您现已连接到 Google Cloud。

接下来,选择具有 Cloud AI Companion API 的 Google Cloud 项目 请按照以下步骤操作:

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

    Gemini 状态栏可用。

  2. Gemini Code Assist 菜单中,选择选择 Gemini Code Assist 项目

  3. 选择一个具有以下角色的 Google Cloud 项目: 已启用 Cloud AI Companion API。

    可以开始使用 Gemini 了。

    状态栏中的 Gemini 图标已设为正常。

与 Gemini Code Assist Chat

在本部分中,您将了解如何打开 Gemini Code Assist 窗格并进行聊天 与 Gemini Code Assist 集成,获取对现有 代码。

如要开始与 Gemini 对话,请按以下步骤操作:

  1. 打开代码文件。

  2. 在 工作站 点击 spark Gemini Code Assist

  3. Gemini Code Assist 窗格中,输入提示 Explain this code to me,然后点击发送 Send

    Gemini 使用代码文件中的代码作为对 并在响应中提供代码的解释

    如需引用特定的代码块而不是文件中的所有代码块,您需要 可以选择代码文件中的代码块,然后提示 Gemini。

重置聊天记录

Gemini Code Assist 会根据聊天记录提供更多背景信息 。

如果您的聊天记录不再符合您的意图, 可以重置聊天记录:在 Gemini Code Assist 窗格中,点击 delete 重置聊天

根据提示生成代码

下面几部分将介绍如何使用 Gemini Code Assist 使用代码文件内的示例提示 Function to create a Cloud Storage bucket 生成代码。你还可以选择代码的一部分 通过聊天功能提示 Gemini Code Assist 获取帮助;以及 在您编码时接收、接受或拒绝代码建议。

在代码文件中提示 Gemini Code Assist

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

  2. 要生成代码,请按 Ctrl+Enter(适用于 Windows 和 Linux)或 Ctrl+Return(适用于 macOS)。

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

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

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

如果用于生成代码的默认键盘快捷键不起作用 您可以更改键盘快捷键 步骤:

  1. 在工作站中,点击 menu 菜单,然后导航至 文件 &gt; 偏好设置 &gt; 键盘快捷键

  2. 在键盘快捷键列表中,搜索 Cloud Code: Generate Code

  3. 点击 Cloud Code: Generate Code(Cloud Code:生成代码),然后点击 edit 更改键绑定

  4. 在显示的对话框中,输入您自己的快捷键。

  5. Enter(适用于 Windows 和 Linux)或回车键(适用于 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 会为所选函数编写单元测试。

    Gemini 会将您选择的代码用作参考, 对提示的响应。

在编码时获取内嵌建议

编写代码时,Gemini Code Assist 会生成内嵌代码 您可以接受或忽略这些建议。如需试用此功能,请按照 具体步骤:

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

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

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

可选:停用内嵌建议

如果您想停用 Gemini Code Assist 中的内嵌建议, 请按以下步骤操作:

  1. 在工作站中,选择 菜单 菜单,然后转到文件 &gt; 偏好设置 &gt; 设置

  2. 设置对话框的用户标签页上,转到扩展程序 &gt; Cloud Code

  3. 滚动屏幕,直至找到“Cloudcode:Gemini Code Assist:内嵌建议:启用” 自动列表,然后选择关闭

    这会关闭内嵌建议。你仍可按 Ctrl+Enter(适用于 Windows 和 Linux)或 Ctrl+Return (适用于 macOS)手动触发内嵌建议。

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

Gemini 在直接引用以下文章时会提供引用信息 长度。有关 请参阅 Gemini 会注明信息来源的情况和方式

要阻止系统建议与引用的来源匹配的代码,您可以修改 在cloudcode.duetAI.recitation.maxCitedLength0 settings.json 文件:

"cloudcode.duetAI.recitation.maxCitedLength": 0

使用智能操作

为了帮助您提高工作效率,同时最大限度地减少上下文切换, Gemini Code Assist 直接提供依托 AI 技术的智能操作 。在代码编辑器中选择代码时,您可以查看 然后从与当前情境相关的操作列表中进行选择。

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

  1. 在您的代码文件中,选择一个代码块。

  2. 在所选代码块旁边,点击 灯泡 显示代码操作

    在 Shell 和 Workstations 中选择代码块后,显示智能操作灯泡图标。

  3. 选择一项操作,例如 Generate unit tests

    Gemini 会根据你的操作生成回答 已选择。

预览:使用代码转换

Gemini Code Assist 提供代码转换,可让您 可以选择代码文件的部分内容, 使用内嵌文本框,根据自然语言的提示来生成现有代码。

借助代码转换,您可以执行以下操作:

  • 生成注释行以记录代码
  • 对代码进行问题排查
  • 提高代码可读性
  • 让代码更加高效

你也可以在 Gemini: Chat 窗格。

使用内嵌文本框提示 Gemini Code Assist

通过内联文本框,您可以与 Gemini Code Assist 中。

如需打开内嵌文本框并提示 Gemini,请按以下步骤操作 步骤:

  1. 在代码文件中,按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I(对于 macOS)。

  2. 输入提示,例如“Write a function to create a Cloud Storage bucket”和 按 Enter 键(适用于 Windows 和 Linux)或 Return 键(适用于 macOS)。

    Gemini Code Assist 会根据你的提示生成代码。

查看重构后的代码的差异

通过内置文本框中的差异视图,您可以看到 Gemini 提供的建议和您的原始代码。然后,您可以接受或 并舍弃建议的更改

若要查看重构后的代码与内嵌文本框中的差异,请执行 操作步骤:

  1. 在您的代码文件中,选择一个函数,然后按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)。

  2. 输入提示,例如 Add comments,然后按 Enter 键(对于 Windows) 和 Linux)或 Return 键(适用于 macOS)。

    当 Gemini 对你所选内容生成代码更改时 函数,就会显示差异视图。

    “Gemini:Chat”窗格中列出的背景信息来源。

  3. 要接受或舍弃更改,请点击接受舍弃

查看所生成回答的上下文来源

上下文显示功能用于列出您的项目文件(上下文源) 生成对提示的回复时参考。了解 文件用作参考,有助于你优化提示并获得更多 特定响应。您每次使用时都会显示上下文来源 Gemini 对话。

如需查看所生成回答的背景信息来源,请在 Gemini:Chat 中 窗格,滚动直至看到上下文来源代码段。展开代码段 查看所有上下文源。

“Gemini:Chat”窗格中列出的背景信息来源。

使用智能命令

智能命令是指您可以在内嵌文本框中执行的命令, 代码的特定操作

使用 /explain 智能工具获取整个代码文件的解释 命令,请按以下步骤操作:

  1. 在您的代码文件中,按 Ctrl+I 打开内嵌文本框 (适用于 Windows 和 Linux)或 Command+I(适用于 macOS)。

  2. / 查看智能命令列表及其说明。

  3. 选择 /explain

    Gemini 会在 。

  4. 可选:如果你想在 Gemini:Chat 中查看生成的回答 窗格中,点击在 Chat 中查看

查看提示历史记录

如果需要输入相同的问题,访问提示历史记录可节省时间 大型代码文件中的提示。

如需访问提示历史记录,请在代码文件中通过以下方式打开内嵌文本框: 按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I (适用于 macOS),然后按 Ctrl+向上箭头(适用于 Windows 和 Linux) 或 Command+向上箭头(适用于 macOS)。这样你就可以循环检查 旧提示,并在需要时重复使用。

提高非英语母语者的代码可读性

如果你不会说英语,并且依赖翻译应用, 您可以使用内嵌文本框生成其他语言的评论。

将英文评论翻译成其他语言或添加其他语言的新评论 请按以下步骤操作:

  1. 在您的代码文件中,选择要添加注释的代码。

  2. Ctrl+I(适用于 Windows 和 Linux)或 Command+I(对于 macOS)。

  3. 输入提示,例如 Add spanish comments,然后按 Enter 键( Windows 和 Linux)或 Return 键(适用于 macOS)。

    Gemini 会以你指定的语言生成评论 并查看这些建议的差异。

  4. 要接受或舍弃对代码所做的更改,请点击接受舍弃

测试其他示例提示

阅读完 根据提示生成代码部分 请尝试以下一些示例提示。

获取代码说明

  1. 在您的代码文件中,选择要解释的函数。
  2. Gemini Code Assist 窗格中,输入提示 Explain this code to me

    Gemini 会将您选择的代码用作参考, 以对所选函数进行说明。

生成测试计划

  1. 在代码文件中,选择要添加单元测试的代码。
  2. Gemini Code Assist 窗格中,输入提示 Write unit tests for my code

获取代码调试方面的帮助

  1. 在您的代码文件中,选择要调试的代码。
  2. Gemini Code Assist 窗格中,输入提示 Help me debug my code

提高代码的可读性

  1. 在代码文件中,选择您希望提高可读性的代码。
  2. Gemini Code Assist 窗格中,输入提示 Make my code more readable

    如果您希望关注代码的特定部分,请选择 首选代码部分,然后再向 Gemini 发送提示。

已知问题

以下部分概述了 Gemini Code Assist。

许可复制警告在会话间不持续显示

如果许可复制警告在会话间持续显示,请参阅 持久性日志:

  1. 点击菜单 菜单 &gt; 查看 &gt; 输出

  2. 选择 Gemini Code Assist - Citations

Gemini Code Assist 输出窗口中的连接问题

如果您在 Gemini Code Assist 输出窗口,请尝试以下操作:

  • 将您的防火墙配置为允许访问oauth2.googleapis.comcloudaicompanion.googleapis.com.

  • 将防火墙配置为允许通过 HTTP/2(gRPC 使用)进行通信。

您可以使用 grpc-health-probe 工具测试连接性。成功的 检查以下输出结果:

$ grpc-health-probe -addr cloudaicompanion.googleapis.com:443 -tls error: this server does not implement the grpc health protocol (grpc.health.v1.Health): GRPC target method can't be resolved

如果检查失败,则会导致以下输出:

timeout: failed to connect service "cloudaicompanion.googleapis.com:443" within 1s

如需获取更多详细信息,请在 grpc-health-probe 之前运行以下命令:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

Gemini Code Assist 和 JetBrains Gateway

Gemini Code Assist 不通过 JetBrains Gateway 运行。因此 Gemini Code Assist 无法在 Cloud Workstations IDE 中运行 需要使用 JetBrains Gateway 连接。

“激活 Gemini Code Assist”选择 Gemini Code Assist 项目后仍然显示

如果您按照此部分中的说明选择了您的项目, 指南(包括启用 Cloud AI Companion API), LS 服务器出现问题。

如需详细了解您的问题,请执行以下操作:

  1. 在状态栏中,点击 spark Gemini Code Assist,然后选择发送反馈

  2. 点击任何日志文件对应的显示,即可查看更多详细信息并获取帮助 排查问题。

提供反馈

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

  1. 在状态栏中,点击 Gemini Code Assist,然后在 快速选择菜单中, 选择发送反馈

  2. 在表单中填写标题备注字段。

  3. 如果您想共享 Skaffold 或 AI Companion 日志、 请务必选择 Send Skaffold logsSend AI Companion logs 选项。

  4. 点击提交反馈

后续步骤