提供指导,帮助您解决代码问题。
为您的项目生成代码。
在您编码时获取行内建议。
了解 Gemini for Google Cloud 如何以及何时使用您的数据。
为帮助您遵守代码的任何许可要求,Gemini Code Assist 会在建议直接引用特定来源的长篇内容时提供来源引用。如需详细了解 Gemini 会注明信息来源的情况和方式,请参阅 Gemini 如何帮助您生成代码和引用信息来源。借助代码自定义功能,您可以直接从 Gemini Code Assist 获得基于贵组织的私有代码库的代码建议。了解如何配置代码自定义。
本文档适用于各种技能水平的开发者。本教程假定您具备 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 中启用了 Gemini for Google Cloud API 的Google Cloud 项目。
如果您选择的 Google Cloud 项目未启用 Gemini for Google Cloud API,则会收到一条通知,其中包含用于从 IDE 启用该 API 的选项。在通知窗口中选择启用 API,为您的项目启用此 API。如需了解详情,请参阅为项目设置 Gemini Code Assist。
如需在 Cloud Shell Editor 中连接到 Google Cloud ,请按以下步骤操作:
如果您使用的是旧版编辑器,请点击试用新编辑器。
在状态栏中,点击 Cloud Code - 登录。
如果系统提示您授权 Cloud Shell Editor 进行 Google CloudAPI 调用,请点击授权。
按照提示登录您的 Google 账号。
您现在已连接到 Google Cloud。
接下来,如需选择启用了 Gemini for Google Cloud API 的 Google Cloud 项目,请按以下步骤操作:
在 Gemini Code Assist 状态栏中,点击 Gemini Code Assist。
在 Gemini Code Assist 菜单中,选择选择 Gemini Code 项目。
选择已启用 Gemini for Google Cloud API 的 Google Cloud 项目。
可以开始使用 Gemini 了。
与 Gemini Code Assist 对话
在本部分中,您将了解如何打开 Gemini Code Assist 窗格并与 Gemini Code Assist 对话,以获取现有代码的说明。
如要开始与 Gemini 对话,请按以下步骤操作:
打开您的代码文件。
在 Cloud Shell Editor 的活动栏中,点击 spark Gemini Code Assist。
在 Gemini Code Assist 窗格中,输入提示
Explain this code to me
,然后点击 send 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
在代码文件中,另起一行输入注释
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 编辑器中,点击 menu 菜单,然后导航至文件 > 偏好设置 > 键盘快捷键。
在键盘快捷键列表中,搜索 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 菜单,然后导航到文件 > 偏好设置 > 设置。
在设置对话框的用户标签页上,依次前往扩展程序 > Cloud Code。
滚动屏幕,直至找到 Cloudcode: Gemini Code Assist: InlineSuggestion: Enable Auto 列表,然后选择关闭。
这会关闭行内建议。您仍然可以按 Ctrl+Enter(适用于 Windows 和 Linux)或 Ctrl+Return(适用于 macOS)手动触发内嵌建议。
可选:使用 .aiExclude 文件从上下文中排除文件
您可以创建 .aiexclude
文件,在上下文中排除某些文件,使其不被 Gemini Code Assist 考虑。.aiexclude
文件遵循与 .gitignore
文件类似的语法,但存在以下区别:
- 空的或不存在的
.aiexclude
文件不会阻止其目录和所有子目录中的文件。 .aiexclude
文件不支持否定运算符,即在格式前面添加感叹号 (!
)。.aiexclude
文件会贪心地匹配*
字符。这会随意匹配目录和文件。在文件夹或文件方面,此.aiexclude
文件没有区分**
和*
。
目前仅支持一个 .aiexclude
文件。如需配置 .aiexclude
文件,请在工作区文件夹的根目录下创建一个名为 .aiexclude
的文件。如果要将此文件放在工作区根目录之外,或者重命名该文件,可以在 VS Code 设置中的“上下文排除文件”下设置路径。此设置中提供的路径值将相对于打开的工作区的根文件夹进行解析。
示例
以下示例演示了如何配置 .aiexclude
文件:
屏蔽工作区目录或其下的所有名为
apikeys.txt
的文件:apikeys.txt
阻止工作区目录下包含
.key
文件扩展名的所有文件:*.key
仅拦截
.aiexclude
文件所在目录中的 apikeys.txtfile,但不阻止任何子目录:/apikeys.txt
屏蔽目录
my/sensitive/dir
及其所有子目录中的所有文件。此路径应相对于工作区根目录。my/sensitive/dir/*
停用与引用来源内容匹配的代码建议
Gemini 会在直接引用其他来源(例如现有的开源代码)中大量资源时提供引用信息。如需了解详情,请参阅 Gemini 会注明信息来源的情况和方式。
为了防止建议与引用的来源匹配的代码,您可以在 settings.json
文件中将 geminicodeassist.recitation.maxCitedLength
设置修改为 0
:
"geminicodeassist.recitation.maxCitedLength": 0
使用智能操作
为了在最大限度地减少上下文切换的同时提高工作效率,Gemini Code Assist 直接在代码编辑器中提供 AI 赋能的智能操作。在代码编辑器中选择代码时,您可以查看与上下文相关的操作列表,并从中进行选择。
如需在代码中使用智能操作,请按以下步骤操作:
在代码文件中,选择一个代码块。
在所选代码块旁边,点击 lightbulb Show Code Actions。
选择一项操作,例如生成单元测试。
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 中查看。
查看提示历史记录
当您需要在大型代码文件中输入相同的提示时,访问提示历史记录可以节省时间。
要访问提示历史记录,请在代码文件中按 Control+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)打开内联文本框,然后按 Control+向上箭头(适用于 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 - 引用。
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 项目后,系统仍然显示“激活 Gemini Code Assist”
如果您按照本指南中的说明选择了您的项目(包括启用 Gemini for Google Cloud API),则 LS 服务器可能存在问题。
如需详细了解您的问题,请执行以下操作:
在状态栏中,点击 spark Gemini Code Assist,然后选择发送反馈。
点击任意日志文件旁的显示按钮,以查看更多详细信息并辅助排查问题。
提供反馈
如需就您的体验提供反馈,请按以下步骤操作:
在状态栏中,点击 Gemini Code Assist,然后在快速选择菜单中选择发送反馈。
在表单中,填写标题和评论字段。
如果要共享 Skaffold 或 AI Companion 日志,请务必选择 Send Skaffold logs 或 Send AI Companion logs 选项。
点击提交反馈。
后续步骤
- 了解如何撰写更好的提示。