提供指导,帮助您解决代码问题。
为您的项目生成代码。
在编码时接收内嵌建议。
了解 Gemini for Google Cloud 如何以及何时使用您的数据。
帮助您 遵守针对代码的所有许可要求, Gemini Code Assist 会在提供建议时提供来源引用 直接引用特定来源的长篇内容。如需详细了解 如果 Gemini 会注明信息来源,请参阅 Gemini 如何帮助您生成代码和引用来源。借助代码自定义功能,您可以直接从 Gemini Code Assist 获取基于贵组织私有代码库的代码建议。了解如何配置代码自定义。
本文档面向各种技能水平的开发者。它假定您 具备 VS Code 的应用知识 并且熟悉 Google Cloud 如果您愿意,还可以探索 Gemini Code Assist: Cloud Workstations、 Cloud Code for IntelliJ 和 Cloud Shell Editor。
准备工作
在代码中测试 Gemini Code Assist 功能之前 文件,请确保系统支持您文件的编码语言。如需详细了解支持的编码语言,请参阅支持的编码语言。
安装 Gemini Code Assist + Cloud Code 扩展程序 。Cloud Code 可与 IDE 中的 Gemini Code Assist 集成。
如果您希望在代理后使用 IDE,请参阅 Visual Studio Code 中的网络连接。
连接到 Google Cloud 并选择一个项目
在本部分,您将连接到 Google Cloud 并选择 启用了 Gemini for Google Cloud API 的 Google Cloud 项目 IDE
如果您选择的 Google Cloud 项目不包含 Gemini for Google Cloud API 时,您会收到一条通知, 用于从 IDE 启用 API 的选项。在通知窗口中选择 Enable the API(启用 API),为您的项目启用该 API。如需更多信息 请参阅为项目设置 Gemini Code Assist。
如果您想直接在 IDE 中按照使用 Gemini Code Assist 编写代码演示文档中的步骤操作,请点击启动 VS Code,然后按照演示文档中的步骤连接到 Google Cloud 并启用 Gemini Code Assist。
否则,请按照以下步骤操作:
启动 IDE。
在状态栏中,点击 Cloud Code - Sign In(Cloud Code - 登录)。
当系统提示您允许 Cloud Code 打开外部网站时,点击 Open。
按照提示登录您的 Google 账号。
当系统询问您是否从 Google 下载 Cloud Code 时,点击登录。
您现已连接到 Google Cloud。
接下来,选择具有 Gemini for Google Cloud API 的 Google Cloud 项目 请按照以下步骤操作:
在 Gemini Code Assist 状态栏中,点击 Gemini Code Assist。
在 Gemini Code Assist 菜单中,选择 Select Gemini Code project(选择 Gemini Code 项目)。
选择具有 Gemini for Google Cloud API 的 Google Cloud 项目 。
可以开始使用 Gemini 了。
与 Gemini Code Assist Chat
在本部分中,您将了解如何打开 Gemini Code Assist 窗格并进行聊天 与 Gemini Code Assist 集成,获取对现有 代码。
如要开始与 Gemini 对话,请按以下步骤操作:
打开您的代码文件。
在您 IDE、 点击 spark Gemini Code Assist。
在 Gemini Code Assist 窗格中,输入提示
Explain this code to me
,然后点击 sendSend(发送)。Gemini 使用代码文件中的代码作为对 并在响应中提供代码的解释
如需引用特定代码块(而非文件中的所有代码),您可以在代码文件中选择该代码块,然后提示 Gemini。
重置聊天记录
在回答你的问题时,Gemini Code Assist 会使用聊天记录来获取更多背景信息。
如果聊天记录与您要实现的目标不再相关,您可以重置聊天记录:在 Gemini Code Assist 窗格中,依次点击 delete Reset Chat(重置对话)。
根据提示生成代码
下面几部分将介绍如何使用 Gemini Code Assist
执行代码转换,例如使用“快速选择”栏执行 function to create a Cloud Storage
bucket
。
通过代码转换,您可以在代码转换中使用命令或自然语言提示 快速选择栏来请求修改代码,并为您提供 差异视图以显示代码待更改项。
你还可以选择代码的一部分 通过 Gemini Code Assist 获取帮助 窗格,在编码时接收并接受或拒绝代码建议。
通过代码转换提示 Gemini Code Assist
在新代码文件中,按 Control+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)打开 Gemini Code Assist Quick Pick 栏。
在菜单中,使用
/generate
命令输入/generate function to create a Cloud Storage bucket
,然后按 Enter 键(适用于 Windows 和 Linux)或 Return 键(适用于 macOS)。Gemini Code Assist 会在差异视图中根据您的提示生成代码。
可选:要接受这些更改,请点击接受。
可选:通过注释在代码文件中提示 Gemini Code Assist
如果您愿意,也可以在 按以下步骤添加带有注释的代码文件:
另起一行,输入注释
Function to create a Cloud Storage bucket
,然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。要生成代码,请按 Ctrl+Enter(适用于 Windows 和 Linux)或 Ctrl+Return(适用于 macOS)。
在代码文件中的提示文字旁边,显示 Gemini Code Assist 以幽灵文本的形式生成代码。
可选:若要接受生成的代码,请按 Tab。
可选:更改用于生成代码的键盘快捷键
如果用于生成代码的默认键盘快捷键无法按上一部分所述的方式运行,您可以按照以下步骤更改键盘快捷键:
在 IDE 中,点击 File(适用于 Windows 和 Linux)或 Code(适用于 macOS),然后依次前往 Settings > Keyboard Shortcuts。
在键盘快捷键列表中,滚动到 Cloud Code:生成代码。
点击 Cloud Code:生成代码,然后依次点击修改 更改按键绑定。
在显示的对话框中,输入您自己的快捷键。
按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。
现在,您可以使用新分配的快捷键通过 Gemini Code Assist 生成代码。
如需详细了解如何在 IDE 中更改快捷键,请参阅 Visual Studio Code 的按键绑定。
使用聊天功能向 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 中的内嵌建议, 请按以下步骤操作:
在 IDE 中, 选择 Code(适用于 macOS)或 File(适用于 Windows 和 Linux),然后依次转到设置 > 设置。
在设置对话框的用户标签页上,转到扩展程序 > Cloud Code。
滚动屏幕,直至找到 Cloudcode: Gemini Code Assist: InlineSuggestion: Enable(Cloudcode:Gemini Code Assist:内嵌建议:启用) 自动列表,然后选择关闭。
这会关闭内嵌建议。你仍可按 Ctrl+Enter(适用于 Windows 和 Linux)或 Ctrl+Return (适用于 macOS)手动触发内嵌建议。
使用代码转换快速修复
如果您的代码中存在错误,Gemini Code Assist 会为您提供使用代码转换对错误应用快速修复的选项。
如需在代码文件中应用快速修复,请按以下步骤操作:
在代码文件中,将指针悬停在波浪形错误行上,选择快速修复,然后选择 /fix。
应用快速修复后,系统会显示差异视图。如要接受这些更改,请点击接受。
借助本地代码库感知功能,使用工作区中的特定文件进行提示
本地代码库感知功能可帮助您指定要供 Gemini Code Assist 用作上下文的文件,从而提供在代码库更广泛上下文中语法正确且具有语义意义的高质量代码建议。
如要在聊天提示中指定文件,请输入 @,然后选择你想要的文件 指定的名称
如需了解代码库中两个文件差异的说明,请按照 具体步骤:
在活动栏中,点击 spark Gemini Code Assist。
在 Gemini Code Assist 窗格中,输入提示
Explain the difference between @YOUR_FILE_NAME_1 and @YOUR_FILE_NAME_2
,然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)或 Tab。您可以 也可以在列表中点击文件名,以选择所需文件。点击 文件名会将文件添加到提示上下文中,并在 IDE 中打开该文件。Gemini Code Assist 会使用您指定的两个文件作为上下文,来回答您的问题。Gemini Code Assist 还包含您在上下文来源中指定的文件。
现在您已经指定了这些文件,接下来可以继续询问 问题或提示,无需指定 文件。
例如:在 Gemini Code Assist 窗格中,输入提示 How can I
improve YOUR_FILE_NAME_1?
(不含 @ 符号),然后按
Enter 键(适用于 Windows 和 Linux)或 Return 键(适用于 macOS)。
Gemini Code Assist 会回复您针对自己使用的文件提出的问题 你输入的内容
可选:使用 .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 会注明信息来源的情况和方式。
要防止系统建议与引用的来源匹配的代码,您可以修改
在cloudcode.duetAI.recitation.maxCitedLength
0
settings.json
文件:
"cloudcode.duetAI.recitation.maxCitedLength": 0
使用智能操作
为了帮助您提高工作效率,同时最大限度地减少上下文切换, Gemini Code Assist 直接提供依托 AI 技术的智能操作 。在代码编辑器中选择代码时,您可以查看与上下文相关的操作列表,并从中进行选择。
如需在代码中使用智能操作,请按以下步骤操作:
在代码文件中,选择一段代码。
在所选代码块旁边,点击 lightbulb 显示代码操作。
选择一项操作,例如 Generate unit Testing。
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。
如果 Chat 回复包含大型打开文件的更新版本,则可能会被截断
如需解决此问题,请选择较小的代码段,并在聊天提示中添加其他指令,例如 only output the selected
code.
Vim:除非处于插入模式,否则无法接受或关闭代码生成建议
在普通模式下使用 Vim 插件时,您无法接受或关闭代码 建议。
如需解决此问题,请按 i 进入插入模式,然后按 Tab 键接受建议。
Vim:按 Esc 来关闭建议时行为不一致
按 Esc 时,IDE 和 Gemini 建议都会关闭。此行为与非 Vim 行为不同,在非 Vim 行为中,按 Esc 会重新触发 Gemini。
登录尝试总是超时
如果您的登录尝试总是超时,请尝试将
cloudcode.beta.forceOobLogin
设置添加到您的 settings.json
文件中:
"cloudcode.beta.forceOobLogin": true
许可复制警告在会话间不持续显示
如果许可朗读警告不会在会话之间保留,请参阅永久性日志:
点击查看 > 输出。
选择 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”选择 Gemini Code Assist 项目后仍然显示
如果您按照本指南中的说明选择了项目(包括启用 Gemini for Google Cloud API),则 LS 服务器可能存在问题。
如需详细了解您的问题,请执行以下操作:
在状态栏中,依次点击 spark Gemini Code Assist,然后选择发送反馈。
点击任何日志文件对应的显示,即可查看更多详细信息并获取帮助 排查问题。
提供反馈
如需就您的体验提供反馈,请按以下步骤操作:
在状态栏中,点击 Gemini Code Assist,然后在 Quick Pick 菜单中,选择 Send feedback。
在表单中填写标题和评论字段。
如果您想分享 Skaffold 或 AI 配套工具日志,请务必选择发送 Skaffold 日志或发送 AI 配套工具日志选项。
点击提交反馈。
后续步骤
- 了解如何撰写更实用的提示。