提供相关指导,帮助您解决代码问题。
为您的项目生成代码。
在编码时接收内嵌建议。
了解 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,则会收到一条通知,其中包含用于从 IDE 启用 API 的选项。在通知窗口中选择启用 API,为您的项目启用此 API。如需了解详情,请参阅为项目设置 Gemini Code Assist。
如需在 Cloud Shell Editor 中连接到 Google Cloud,请按以下步骤操作:
如果您使用的是旧版编辑器,请点击试用新编辑器。
在状态栏中,点击 Cloud Code - Sign In。
如果系统提示您授权 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 Chat
在本部分中,您将了解如何打开 Gemini Code Assist 窗格并与 Gemini Code Assist 对话,以获取现有代码的说明。
如要开始与 Gemini 对话,请按以下步骤操作:
打开代码文件。
在 Cloud Shell Editor 的活动栏中,点击 spark Gemini Code Assist。
在 Gemini Code Assist 窗格中,输入提示
Explain this code to me
,然后点击发送 Send。Gemini 会将代码文件中的代码用作提示的引用,并在回答时提供代码的解释。
如需引用特定的代码块而不是文件中的所有代码块,您可以在代码文件中选择相应代码块,然后提示 Gemini。
重置聊天记录
在回答你的问题时,Gemini Code Assist 会使用聊天记录提供更多上下文。
如果你的聊天记录不再与你要尝试达成的目的有关,你可以重置聊天记录:在 Gemini Code Assist 窗格中,点击删除 重置对话。
根据提示生成代码
以下部分介绍了如何使用 Gemini Code Assist 通过代码文件内的示例提示 Function to create a Cloud Storage
bucket
生成代码。你还可以选择代码的一部分,然后通过聊天功能向 Gemini Code Assist 寻求帮助,并在编码时接收和接受或拒绝代码建议。
在代码文件中提示 Gemini Code Assist
在代码文件中,另起一行输入注释
Function to create a Cloud Storage bucket
,然后按 Enter 键(适用于 Windows 和 Linux)或 Return 键(适用于 macOS)。如需生成代码,请按 Ctrl+Enter(适用于 Windows 和 Linux)或 Control+Return(适用于 macOS)。
Gemini Code Assist 会在代码文件中的提示文本旁边生成幽灵文本形式的代码。
可选:如需接受生成的代码,请按 Tab。
可选:更改用于生成代码的键盘快捷键
如果用于生成代码的默认键盘快捷键不起作用(如上一部分中所述),您可以按照以下步骤更改该键盘快捷键:
在 Cloud Shell Editor 中,点击菜单 菜单,然后依次前往文件 > 偏好设置 > 键盘快捷键。
在键盘快捷键列表中,搜索 Cloud Code: Generate Code。
点击 Cloud Code: Generate Code,然后点击 edit Change Keybinding。
在显示的对话框中,输入您自己的快捷键。
按 Enter(适用于 Windows 和 Linux)或 Return 键(适用于 macOS)。
现在,你可以使用新分配的键盘快捷键通过 Gemini 生成代码。
通过聊天使用所选代码向 Gemini Code Assist 发出提示
Gemini Code Assist 可以根据您选择的代码执行任务或回答您的问题。如需获取根据包含所选代码的提示生成的代码,请按以下步骤操作:
在活动栏中,点击 spark Gemini Code Assist 以打开 Gemini Code Assist 窗格。
在您的代码文件中,选择一个代码块。
在 Gemini Code Assist 窗格文本字段中,输入所选代码的提示。
例如,在代码中选择一个函数并输入提示
Write a unit test for this function
:Gemini 会将你选择的代码用作参考 并回答你的问题
在编码时获取内嵌建议
在您编写代码时,Gemini Code Assist 会提供内嵌代码建议,您可以接受或忽略这些建议。如需试用此功能,请按以下步骤操作:
在代码文件中另起一行,开始编写函数。例如,如果您在 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 赋能的智能操作。在代码编辑器中选择代码时,您可以查看与上下文相关的操作列表,并从中进行选择。
如需在代码中使用智能操作,请按以下步骤操作:
在您的代码文件中,选择一个代码块。
在所选代码块旁边,点击灯泡 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 对话时 系统都会显示背景信息来源
如需查看所生成回答的上下文来源,请在 Gemini:Chat 窗格中滚动,直到看到上下文来源代码段。您可以展开代码段,查看所有上下文来源。
使用智能命令
智能命令是指可在内嵌文本框中用于对代码执行特定操作的命令。
如需使用 /explain
智能命令获取整个代码文件的解释,请按以下步骤操作:
在代码文件中,按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)打开内嵌文本框。
按 / 查看智能命令列表及其说明。
选择
/explain
。Gemini 会在内嵌文本框中生成整个代码文件的说明。
可选:如果你想在 Gemini:Chat 窗格中查看生成的回答,请点击在 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 菜单 > 视图 > 输出。
选择 Gemini Code Assist - Citations。
Gemini Code Assist 输出窗口中的连接问题
如果您在 Gemini Code Assist 输出窗口中看到连接错误或其他连接问题,请尝试以下操作:
将防火墙配置为允许访问
oauth2.googleapis.com
和cloudaicompanion.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,然后在快速选择菜单中选择发送反馈。
在该表单中,填写标题和评论字段。
如果要共享 Skaffold 或 AI Companion 日志,请务必选择 Send Skaffold logs 或 Send AI Companion logs 选项。
点击提交反馈。
后续步骤
- 了解如何撰写更好的提示。