在 Google Cloud Shell Editor 中浏览面向开发者的 Gemini Code Assist Standard 和 Enterprise

在 Google Cloud Shell Editor 中浏览面向开发者的 Gemini Code Assist Standard 和 Enterprise

关于此 Codelab

subject上次更新时间:2月 25, 2025
account_circleRomin Irani 编写

1. 简介

在本实验中,您将使用 Gemini Code Assist,它是 Google Cloud 中的一个 AI 赋能的协作工具。您将学习如何使用 Gemini Chat 和内嵌代码助理来生成代码、理解代码以及执行其他 AI 辅助编码任务。

  • 您将使用 Cloud Shell IDE 下载某个 Web 应用的现有代码模板。
  • 您将使用 Cloud Shell IDE 中的 Gemini Chat 来询问有关 Google Cloud 的常见问题。
  • 您将使用 Cloud Shell IDE 中的 Gemini Code Assist 内嵌代码助理来生成、总结和补全代码。

学习内容…

  • 如何使用 Gemini Code Assist 执行多项开发者任务,例如代码生成、代码补全和代码总结。
  • 如何使用 Cloud Assist 了解 Google Cloud。

所需条件…

  • Chrome 网络浏览器
  • Gmail 账号
  • 启用了结算功能的 Cloud 项目
  • 为您的 Cloud 项目启用了 Gemini Code Assist

本实验的适用对象为各种水平的开发者,包括新手。虽然示例应用使用的是 Python 语言,但您无需熟悉 Python 编程就能理解代码内容。我们的重点是让开发者熟悉 Gemini Code Assist 的各项功能。

2. 设置

本部分涵盖了开始此实验所需执行的所有操作。

在 Google Cloud 项目中启用 Cloud Assist

我们现在将在 Google Cloud 项目中启用 Cloud Assist。请按下面给出的步骤操作:

  1. 访问 https://console.cloud.google.com,并确保您已选择计划用于本实验的 Google Cloud 项目。点击右上角显示的“打开 Gemini”图标。

28f084ec1e159938.png

  1. Cloud Assist 聊天窗口会在控制台右侧打开。点击“启用”按钮,如下所示。如果您没有看到启用按钮,而是看到了聊天界面,可能是因为您已经为项目启用了 Cloud Assist,可以直接执行下一步。

3d9ae68104b49a5b.png

  1. 启用 Cloud Assist 后,您可以向其发出一两条提示来测试一下。下方显示了几个查询示例,不过您可以尝试诸如 What is Cloud Run? 之类的查询

27835a44c7b7f7c.png

Cloud Assist 会回答您的问题。您可以点击右上角的 f68286b2b2ea5c0a.png 图标关闭 Cloud Assist 聊天窗口。

在 Cloud Shell IDE 中启用 Gemini Code Assist

在此 Codelab 的其余部分,我们将使用 Cloud Shell IDE,这是一个基于 Code OSS 的全代管式开发环境。我们需要在 Cloud Shell IDE 中启用和配置 Code Assist,相关步骤如下所示:

  1. 访问 ide.cloud.google.com。IDE 可能需要一段时间才能显示,因此请耐心等待。
  2. 如图所示,点击底部状态栏中的 Cloud Code - 登录按钮。按照说明对插件进行授权。如果您在状态栏中看到 Cloud Code - no project,请选择该选项,然后从项目列表中选择您打算使用的 Google Cloud 项目。

609d1645201cc7a3.png

  1. 如图所示,点击右下角的 Gemini 按钮,然后再选择一次正确的 Google Cloud 项目。如果系统要求您启用 Gemini for Google Cloud API,请先执行此操作,然后再继续操作。
  2. 选择 Google Cloud 项目后,请确保您能够在状态栏的 Cloud Code 状态消息中看到该项目,并且在状态栏右侧看到已启用 Code Assist,如下所示:

365a09ae0c4b1ac6.png

Gemini Code Assist 已可供使用!

可选:如果您在右下角的状态栏中没有看到 Gemini,则需要在 Cloud Code 中启用 Gemini。在执行此操作之前,请确保已在 IDE 中启用 Gemini,方法是前往 Cloud Code 扩展程序 → 设置,然后输入文本 Gemini,如下所示。确保选中此复选框。您应重新加载 IDE。这将在 Cloud Code 中启用 Gemini,并且 IDE 中会显示状态栏中的 Gemini 图标。

3741f07b73a939c8.png

3. 创建示例应用

我们将创建一个示例应用(一个 Python Flask 应用),用于探索 Gemini Code Assist 的功能。

请按照以下步骤操作:

  1. 点击下方状态栏中的 Google Cloud 项目名称

d3652354efac576d.png

  1. 系统会显示一个选项列表。点击下方列表中的新应用

91ea9836f38b7f74.png

  1. 选择 Cloud Run 应用。
  2. 选择 Python (Flask): Cloud Run 应用模板。
  3. 将新应用保存到首选位置。
  4. 系统会显示一条通知,确认已创建应用,并打开一个新窗口,其中加载了您的应用,如下所示。系统会打开一个 README.md 文件。您可以暂时关闭该视图。

aaa3725b17ce27cf.png

4. 与 Gemini 聊天

首先,我们来学习如何与 Gemini 聊天。Gemini 在 Cloud Shell IDE 中以聊天助理的形式提供,它是 VS Code 中 Cloud Code 扩展程序的一部分。点击左侧导航栏中的“Gemini”按钮即可打开它。在左侧导航工具栏中找到 Gemini 图标 a489f98a34898727.png,然后点击该图标。

系统随即会在 Cloud Shell IDE 中打开“Chat: Gemini”窗格,您可以与 Gemini 聊天以获取 Google Cloud 方面的帮助。

41bbcb85e89f4ff4.png

让我们使用 Gemini Chat 窗格输入提示,并查看 Gemini 的回答。输入以下提示:

What is Cloud Run? 

Gemini 应该会在回答中提供有关 Cloud Run 的详细信息。提示是描述您所需要的帮助的问题或陈述。提示可以包含现有代码中的上下文,Google Cloud 会分析这些上下文,以提供更实用或更完整的回答。如需详细了解如何撰写提示以生成优质回答,请参阅在 Google Cloud 中撰写更好的 Gemini 提示

您可以尝试使用以下示例提示或您自己的提示,来询问有关 Google Cloud 的问题:

  • What is the difference between Cloud Run and Cloud Functions?
  • What services are available on Google Cloud to run containerized workloads?
  • What are the best practices to optimize costs while working with Google Cloud Storage?

请注意顶部的回收站图标,您可以使用此图标重置 Code Assist 聊天记录的上下文。另请注意,此聊天互动会根据您在 IDE 中处理的文件进行上下文推断。

5. 代码说明

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

您可以使用 Gemini Code Assist 来帮助了解应用代码的各个部分。返回我们在上一步中创建的应用,您可以使用 Gemini Code Assist 来解释 IDE 中出现的文件和代码。

  1. 如果看不到这些文件,请在 IDE 活动栏中点击探索器 (Code OSS“Explorer”(探索器)菜单)。
  2. 在“探索器”窗格中,选择 Dockerfile
  3. 您可以选择文件内容的任何部分,点击灯泡图标 ( Code OSS Duet AI 灯泡),然后点击 Gemini:解释此内容。例如,选择以 ENTRYPOINT 开头的行,点击灯泡图标 ( Code OSS Duet AI 灯泡),然后点击 Gemini:解释此内容。Gemini 会针对您需要详细了解的特定 Dockerfile 文件部分,生成自然语言的说明。Gemini 的回答中会包含 ENTRYPOINT 指令的详细信息。您将了解到,使用该指令,Docker 会在容器启动时运行 app.py 文件。
  4. 若要查看 app.py 文件的内容,请在活动栏中点击探索器 (Code OSS 探索器菜单),然后选择 app.py
  5. hello() 函数定义中,选择任意想要详细了解的代码行。然后点击灯泡图标 ( Code OSS Duet AI 灯泡),再点击 Gemini:解释此内容。在我们的示例中,我们选择了以下两行代码,然后触发了 Gemini: Explain this 操作。

14d9c56af016b65d.png

  1. Gemini 会在回答中详细说明这两个 Cloud Run 环境变量 (K_SERVICE, K_REVISION),以及它们在应用代码中的用法。请注意,Gemini 凭借对 Google Cloud 和 Cloud Run 等服务的了解,不仅解释了 Python 代码,还给出了这些变量在 Cloud Run 中的上下文含义。

尝试使用以下其他方式获取代码说明:

  1. app.py 保留为 IDE 中当前打开的文件。在 VS Code 中,进入左侧导航栏中的 Gemini 聊天窗格,然后输入提示 Explain this file。系统会考虑整个文件并向您解释。
  2. 您还可以选择文件的任何部分,然后在左侧的 Gemini 聊天窗格中输入提示 Explain this。这样系统只会对文件的选定部分进行解释。这类似于您点击灯泡( Code OSS Duet AI 灯泡),然后点击 Gemini:解释此内容
  3. 您还可以选择一段文本,然后在 IDE 的右上角点击 Gemini:智能操作(如下所示),获取可对所选文本执行的操作列表。Explain this 操作是其中一个选项:

fb4d25c7d9240f14.png

6. 根据提示生成代码

本部分介绍了如何使用 Gemini Code Assist 通过注释生成代码。

我们来试试这些功能。请按下面给出的步骤操作:

  1. 创建名为 utils.py 的新文件。
  2. 在新代码文件中,另起一行输入 # Function to print a list of blobs in a Google Cloud Storage bucket,然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 MacOS)。Gemini 可能会尝试在您输入时生成代码,但不要接受。我们将在下一步中专门触发代码生成。
  3. 如需触发代码生成,请按 Control+Enter(适用于 Windows 和 Linux)或 Control+Return(适用于 MacOS)。在 Python 文件中的提示文本旁边,Gemini Code Assist 会以幽灵文本的形式生成代码。它将通过工具栏为您提供一条或多条代码建议,您可以通过工具栏从一条代码建议导航到另一条代码建议(如有多条建议)。您甚至可以通过工具栏接受任何代码建议。如果您看不到工具栏或工具栏消失了,请将鼠标悬停在生成的代码上,使其再次显示。
  4. 可选:若要接受生成的代码,请按 Tab。如果有多个建议,您可以多次按 Tab,从一个建议的代码段导航到下一个建议的代码段。

此操作会将您接受的代码插入 utils.py 文件中。示例屏幕截图如下所示。提供给您的代码可能与下方显示的代码不同。如果系统生成了其他方法,您可以在接受代码后删除这些方法。

d6d7915885c5e74b.png

您可能会或不会在代码中看到波浪线。如果您这样做,就是在使用代码引用。如果您将鼠标悬停在任何行上,系统会显示代码出处,以及有关许可的其他相关信息。相关示例如下所示:

c7473cadcf15d887.png

然后,您可以点击 Quick Fix…选择忽略引用警告。系统将显示“Quick Fix”建议,其示例如下所示:

10f4672830954c90.png

如果您同意接受代码许可,可以选择 Ignore Citation Warning

(可选)以下是一些其他建议,您可以尝试使用这些建议生成代码:

  1. 您还可以使用 Gemini 聊天功能提出相同的提示,并在聊天窗口中获得回答。然后,聊天界面会显示用于复制代码或将其插入当前文件的选项。
  2. 您可以根据需要,尝试使用您自己的提示生成示例代码。下面给出了一些建议(假设您位于其中一个 Python 文件中),或者从下面给出的一些提示中选择:
  • 编写 Python 代码以将消息发布到 Google Cloud Pub/Sub
  • 编写 Python 代码以初始化 BigQuery 客户端
  • 编写 Python 代码以将我的应用连接到 Cloud SQL

7. 在编码时获取内嵌代码建议

在您编写代码时,Gemini Code Assist 会提供内嵌代码建议,您可以选择接受或忽略这些建议。为了试用此功能,我们将修改在上一部分中创建的 utils.py 文件:

  1. 在 Cloud Shell IDE 中打开 utils.py 文件作为当前文件。
  2. 如果生成的代码中不包含 import 语句,我们可以采取的其中一项措施是提供正确的语句。
  3. 开始输入单词 import,您应该会看到 Gemini Code Assist 以幽灵文本的形式提供建议代码。若要接受 Gemini Code Assist 给出的代码建议,请按 Tab。否则,若要忽略建议,请按 Esc 或继续编写代码。在下面的示例屏幕中,系统建议导入 storage 类,因为代码正在使用该类。按 Tab 键可接受代码建议。系统还建议了 import os 语句,但由于不需要它,我们可以将其移除。

cb3dfff74172959d.png

  1. 前往 utils.py 文件的末尾,并添加用于调用该函数的代码行(如果未提供该行)。在这个例子中就是 print_blobs 函数。您只需开始输入函数名称,代码补全功能将帮助您完成语句。
  2. 您需要提供 bucket_name,并可以使用以下公共存储桶名称:gemini-codeassist-bucket。下面显示了该函数的示例调用。请注意,您可能会看到函数名称等方面的细微差异。

print_blobs(bucket_name="gemini-codeassist-bucket")

(可选)运行示例代码

由于我们编写了用于列出 Google Cloud Storage 存储桶中的 blob 的代码,因此我们需要安装 google-cloud-storage Python 库。

前往 requirements.txt 文件,然后添加一行包含 google-cloud-storage 依赖项的新代码,如下所示。示例 requirements.txt 文件如下所示。

Flask==2.3.3
requests==2.31.0
debugpy # Required for debugging.
google-cloud-storage

保存 requirements.txt 文件。

要查看代码的实际应用,我们需要通过左上角的菜单图标,从 Cloud Shell IDE 启动新的终端会话。点击菜单图标,然后点击终端 → New Terminal,如下所示:

289173c68f1addb5.png

在终端会话中,通过以下命令安装 Python 依赖项:

pip3 install -r requirements.txt

最后,您可以通过以下命令运行 utils.py 文件:

python utils.py

这应该会显示公共 Google Cloud Storage 存储桶中的 blob。理想情况下,您应该会在输出中看到 2 个列出的 blob(file1.txtfile2.txt)。

问题排查

如果您在显示上述公共存储桶中的对象时收到“访问”错误,可以选择创建自己的 Google Cloud Storage 存储桶,并使用该存储桶而不是 gemini-codeassist-bucket。下一部分将向您介绍如何执行此操作。

(可选)创建您自己的 Cloud Storage 存储桶

让我们借助 Gemini 提供用于创建存储分区的命令,使其可供公开访问,并将示例对象上传到存储分区中。

首先输入以下提示:What is the gcloud command to create a public bucket in Google Cloud Storage?

这应该会为您提供用于创建存储桶的 gcloud 命令。确切的命令如下所示:

gcloud storage buckets create gs://<BUCKET_NAME>

<BUCKET_NAME> 选择一个唯一的名称,然后在终端中执行该命令。

创建存储桶后,我们希望该存储桶可公开访问。让我们使用以下提示让 Gemini 给出相应命令:"How do I make a google cloud storage bucket publicly accessible?"

这应该会为您提供一个 gcloud 命令,使存储桶可公开访问。回答应如下图所示:

gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer

<BUCKET_NAME> 替换为您之前使用的存储桶名称,然后执行该命令。

最后,我们希望将一些示例文件上传到存储桶。在终端中执行以下命令(请务必将 <BUCKET_NAME> 变量替换为您的存储桶名称)。

touch f1.txt
touch f2.txt

gcloud storage cp f1.txt gs://<BUCKET_NAME>
gcloud storage cp f2.txt gs://<BUCKET_NAME>

您现在可以使用 <BUCKET_NAME>(而非 gemini-codeassist-bucket)执行 utils.py 文件。

清理

如果您创建了自己的 Google Cloud Storage 存储分区,我们强烈建议您删除该存储分区,以免产生任何费用和潜在的安全风险。

您可以使用以下命令删除该存储分区:

gcloud storage buckets delete gs://<BUCKET_NAME>

8. 恭喜!

恭喜!您已成功在示例项目中使用了 Gemini Code Assist,了解了它如何协助完成代码生成、代码补全和代码总结,并帮助回答有关 Google Cloud 的问题。

参考文档