提供指导来帮助您解决代码问题。
为您的项目生成代码。
在编码时接收内嵌建议。
Gemini 不会将您的提示或其回答用作数据来训练其模型。如需了解详情,请参阅 Gemini for Google Cloud 如何使用您的数据。
为帮助您遵循代码的任何许可要求,当 Gemini Code Assist 的建议直接引用特定来源的详细内容时,它会提供来源引用。要详细了解 Gemini 引用来源的方式和时机,请参阅 Gemini 如何帮助您生成代码和引用来源。本文档面向所有技能水平的开发者。本文档假定您具备 Cloud Shell Editor 的应用知识并熟悉 Google Cloud。如果您愿意,还可以在 Cloud Workstations、Cloud Code for IntelliJ 和 Cloud Code for VS Code 中探索 Gemini Code Assist。
连接到 Google Cloud 并选择项目
在本部分中,您将连接到 Google Cloud,并选择一个在 Cloud Shell Editor 中启用了 Cloud AI Companion API 的 Google Cloud 项目。
如果您选择的 Google Cloud 项目未启用 Cloud AI Companion API,您会收到错误通知,并指示其与您的管理员联系。如需了解详情,请参阅为项目设置 Gemini Code Assist。
如需在 Cloud Shell Editor 中连接到 Google Cloud,请按以下步骤操作:
如果您使用的是旧版编辑器,请点击试用新编辑器。
在状态栏中,点击 Cloud Code - 登录。
如果系统提示您授权 Cloud Shell Editor 进行 Google Cloud API 调用,请点击授权。
按照提示登录您的 Google 帐号。
您现在已连接到 Google Cloud。
接下来,如需选择已启用 Cloud AI Companion API 的 Google Cloud 项目,请按以下步骤操作:
在 Gemini Code Assist 状态栏中,点击 Gemini Code Assist。
在 Gemini Code Assist 菜单中,选择 选择 Gemini Code Assist 项目。
选择一个已启用 Cloud AI Companion API 的 Google Cloud 项目。
Gemini 已准备就绪。
要测试 Gemini Code Assist 的功能,请打开应用或在下一部分中创建示例应用。
可选:创建示例应用
如果您希望使用现有应用来测试 Gemini Code Assist 的功能,则可以跳过本部分。否则,如需创建示例应用,请按以下步骤操作:
在 Cloud Shell Editor 中,打开命令面板:按 Ctrl+Shift+P(适用于 Windows 和 Linux)或 Command+Shift+P(适用于 macOS),然后运行 Cloud Code: New Application。
选择 Kubernetes 应用。
选择 Python (Flask): Guestbook 应用模板。
将新应用保存在您偏好的位置。
系统会显示一条通知来确认您的应用已创建,并会打开一个新窗口,并加载该应用。
与 Gemini Code Assist Chat
在本部分中,您将学习如何打开 Gemini Code Assist 窗格并与 Genmini Code Assist 聊天以获取现有代码的说明。
要开始与 Gemini 聊天,请按以下步骤操作:
创建新的代码文件或使用现有的代码文件。如果您使用的是 Python (Flask) 示例,则可以在
front.py
文件中执行此任务:依次点击探索器 > src > frontend,然后打开front.py
文件。在 Cloud Shell Editor 的活动栏中,点击 chat_spark Gemini Code Assist。
在 Gemini Code Assist 窗格中,输入提示
Explain this code to me
,然后点击 send Send。Gemini 使用代码文件中的代码作为对提示的引用,并在回复中提供代码说明。
如需引用特定代码块(而不是文件中的所有代码),您可以在代码文件中选择相应代码块,然后提示 Gemini。
重置聊天记录
Gemini Code Assist 会在回答您的提示时使用聊天记录提供更多背景信息。
如果您的聊天记录与您要实现的目标不再相关,您可以重置聊天记录:在 Gemini Code Assist 窗格中,点击 delete Reset Chat。
根据提示生成代码
以下各部分介绍了如何使用 Gemini Code Assist 通过 Python 文件中的示例提示 # Function to create a Cloud Storage bucket
生成代码。您还可以选择一段代码,然后通过聊天功能提示 Gemini Code Assist 寻求帮助,以及在编码时接收和接受或拒绝代码建议。
在代码文件中提示 Gemini Code Assist
创建新的代码文件或使用现有的代码文件。如果您使用的是 Python (Flask) 示例,则可以在
front.py
文件中执行此操作:导航到探索器 > src > frontend,然后打开front.py
文件。在代码文件中另起一行输入
# Function to create a Cloud Storage bucket
,然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。如需生成代码,请按 Ctrl+Enter(适用于 Windows 和 Linux)或 Ctrl+Return(适用于 macOS)。
在 Python 文件中的提示文本旁边,Gemini Code Assist 会以幽灵文本的形式生成代码。
可选:若要接受生成的代码,请按 Tab。
可选:更改用于生成代码的键盘快捷键
如果用于生成代码的默认键盘快捷键无法正常工作(如上一部分中所述),您可以按照以下步骤更改键盘快捷键:
在 Cloud Shell 编辑器中,点击 menu(菜单)Menu,然后依次转到 File(文件)> Preferences > Keyboard Shortcuts。
在键盘快捷键列表中,搜索 Cloud Code: Generate Code。
点击 Cloud Code: Generate Code(Cloud Code:生成代码),然后点击 edit 更改按键绑定。
在显示的对话框中,输入您自己的快捷键。
按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。
现在,您可以使用新分配的键盘快捷键,通过 Gemini 生成代码。
通过聊天功能提示 Gemini Code Assist 提供所选代码
Gemini Code Assist 可以根据您选择的代码执行任务或解答您的问题。如需根据包含所选代码的提示生成代码,请按以下步骤操作:
在 Cloud Shell Editor 中,打开包含代码的文件,或使用您在前面的步骤中所用的代码文件。
在活动栏中,点击 chat_spark Gemini Code Assist 以打开 Gemini Code Assist 窗格。
在代码文件中,选择一个代码块。
在 Gemini Code Assist 窗格文本字段中,输入针对所选代码的提示。
例如,在代码中选择一个函数并输入提示
Write a unit test for this function
:Gemini 使用您选择的代码作为参考,并回答您的提示。
在编码时获取内嵌建议
在您编写代码时,Gemini Code Assist 会提供内嵌代码建议,您可以选择接受或忽略。如需试用此功能,请按以下步骤操作:
创建新的代码文件或使用现有的代码文件。如果您使用的是 Python (Flask) 示例,则可以在
front.py
文件中执行此操作:导航到探索器 > src > frontend,然后打开front.py
文件。在代码文件中,另起一行开始编写函数。例如,如果您位于 Python 文件中,则写入
def
。Gemini 以幽灵文本的形式建议代码。
若要接受 Gemini Code Assist 提供的代码建议,请按 Tab。否则,如需忽略建议,请按 Esc 键或继续编写代码。
可选:停用内嵌建议
如果您希望在 Gemini Code Assist 中停用内嵌建议,请按以下步骤操作:
在 Cloud Shell Editor 中,选择 menu Menu,然后依次转到 File > Preferences > Settings。
在设置对话框的用户标签页上,依次前往扩展程序 > Cloud Code。
滚动屏幕,直到您找到 Cloudcode: Gemini Code Assist: InlineSuggestion: Enable Auto 列表,然后选择关闭。
此操作会关闭内嵌建议。您仍然可以按 Ctrl+Enter(适用于 Windows 和 Linux)或 Ctrl+Return(适用于 macOS)手动触发内嵌建议。
停用与引用的来源匹配的代码建议
如果 Gemini 直接引用其他来源(例如现有的开源代码)中大量内容,则提供引用信息。如需了解详情,请参阅 Gemini 引用信息来源的方式和时间。
为防止系统建议与引用的来源匹配的代码,您可以在 settings.json
文件中将 cloudcode.duetAI.recitation.maxCitedLength
设置修改为 0
:
"cloudcode.duetAI.recitation.maxCitedLength": 0
使用智能操作
为帮助您在最大程度减少上下文切换的同时提高效率,Gemini Code Assist 直接在代码编辑器中提供依托 AI 技术的智能操作。在代码编辑器中选择代码时,您可以查看与您的上下文相关的操作列表,并从中进行选择。
如需在代码中使用智能操作,请按以下步骤操作:
在代码文件中,选择一个代码块。
在所选代码块旁边,点击 lightbulb Show Code Actions。
选择一项操作,例如 Generate unit tests。
Gemini 会根据您选择的操作生成回答。
预览:使用代码转换
Gemini Code Assist 提供代码转换,可让您选择代码文件的一部分,并使用内嵌文本框通过自然语言提示请求修改现有代码。
借助代码转换,您可以执行以下操作:
- 生成注释行以记录代码
- 对存在问题的代码进行问题排查
- 提高代码可读性
- 提高代码效率
您还可以在 Gemini: Chat 窗格中查看所生成响应的上下文来源。
通过内嵌文本框提示 Gemini Code Assist
通过内嵌文本框,您可以直接在代码文件中与 Gemini Code Assist 互动。
如需打开内嵌文本框并提示 Gemini,请按以下步骤操作:
在代码文件中,按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)。
输入提示(例如
Write a function to create a Cloud Storage bucket
),然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。Gemini Code Assist 会根据您的提示生成代码。
查看重构后代码的差异
通过内嵌文本框中内置差异视图后,您可以看到 Gemini 建议的更改以及您的原始代码。然后,您可以接受或舍弃建议的更改。
如需在内嵌文本框中查看重构代码的差异,请执行以下步骤:
在代码文件中,选择一个函数,然后按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)打开内嵌文本框。
输入提示(例如
Add comments
),然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。Gemini 为所选函数生成代码更改时,会显示差异视图。
要接受或舍弃更改,请点击接受或舍弃。
查看所生成回答的上下文来源
上下文显示功能会列出您的项目文件(即上下文来源),这些文件可作为参考来生成针对提示的回复。了解哪些文件用作了参考,有助于您优化提示并获得更具体的回答。每次使用双精度聊天工具时,系统都会显示上下文来源。
如需查看所生成响应的上下文来源,请在 Gemini: Chat 窗格中滚动,直到看到上下文来源代码段。展开该代码段即可查看所有上下文来源。
使用智能指令
智能命令是指可在内嵌文本框中用于对代码执行特定操作的命令。
如需使用 /explain
智能命令获取整个代码文件的说明,请按以下步骤操作:
在代码文件中,按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)打开内嵌文本框。
按 / 可查看智能命令及其说明的列表。
选择
/explain
。Gemini 会在内嵌文本框中生成对整个代码文件的说明。
可选:如果您想要在 Gemini: Chat 窗格中查看生成的响应,请点击 View in Chat。
查看问题历史记录
当您需要在大型代码文件中输入同一提示时,访问提示历史记录可以为您节省时间。
如需访问提示历史记录,请在代码文件中打开内嵌文本框,方法是按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS),然后按 Ctrl+向上箭头(适用于 Windows 和 Linux)或 Command+向上箭头(适用于 macOS)。这样,您就可以循环浏览旧提示,并在需要时重复使用。
提高非英语母语者的代码可读性
如果您是非英语母语人士且依靠翻译应用,则可以使用内嵌文本框生成其他语言的评论。
如需将英语注释转换为其他语言或添加新语言,请按以下步骤操作:
在代码文件中,选择要添加注释的代码。
按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)打开内嵌文本框。
输入提示(例如
Add spanish comments
),然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。Gemini 会使用您在提示中指定的语言生成评论,并查看这些建议之间的差异。
如需接受或舍弃对代码所做的更改,请点击接受或舍弃。
测试其他提示示例
仔细阅读本文档的使用提示生成代码部分后,请尝试执行以下一些示例提示。
获取代码说明
- 在代码文件中,选择要说明的函数。
在 Gemini Code Assist 窗格中,输入提示
Explain this code to me
。Gemini 使用您选择的代码作为参考,并在回复中说明所选函数。
生成测试计划
- 在代码文件中,选择要为其添加单元测试的代码。
- 在 Gemini Code Assist 窗格中,输入提示
Write unit tests for my code
。
获取调试代码方面的帮助
- 在代码文件中,选择要调试的代码。
- 在 Gemini Code Assist 窗格中,输入提示
Help me debug my code
。
提高代码的可读性
- 在代码文件中,选择您希望用户更容易读懂的代码。
在 Gemini Code Assist 窗格中,输入提示
Make my code more readable
。如果您希望专注于代码的特定部分,请在提示 Gemini 之前选择首选代码部分。
已知问题
以下部分概述了 Gemini Code Assist 的已知问题。
许可重复警告在会话间不保留
如果许可复制警告在会话中不持续存在,请参阅持久性日志:
依次点击 menu Menu > View > Output。
选择 Gemini Code Assist - Citations。
Gemini Code Assist 输出窗口中的连接问题
如果您在 Gemini Code Assist 输出窗口中看到连接错误或其他连接问题,请尝试以下操作:
将防火墙配置为允许访问
oauth2.googleapis.com
和cloudaicompanion.googleapis.com
。将您的防火墙配置为允许通过 gRPC 使用的 HTTP/2 通信。
您可以使用 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,然后在快速选择菜单中选择发送反馈。
在表单中填写 Title 和 Comments 字段。
如果要共享 Skaffold 或 AI Companion 日志,请务必选择发送 Skaffold 日志或发送 AI Companion 日志选项。
点击提交反馈。
后续步骤
- 了解如何撰写更优质的提示。