本文档介绍了如何使用 Gemini Code Assist Standard 和 Enterprise(IDE 中 AI 赋能的协作工具)帮助您在 VS Code、IntelliJ 和其他支持的 JetBrains IDE 中执行以下操作:
- 提供指导,帮助您解决代码问题。
- 为您的项目生成代码。
- 在您编码时获取行内建议。
了解 Gemini for Google Cloud 如何以及何时使用您的数据。
为了帮助您满足可能适用的许可要求,当 Gemini Code Assist 的建议大段引用特定来源内容时,它会提供相应的来源信息。如需详细了解 Gemini 在何时以及如何注明信息来源,请参阅 Gemini 如何帮助您生成代码并标注来源。
借助代码自定义功能,您可以直接从 Gemini Code Assist Enterprise 获取基于贵组织的私有代码库的代码建议。了解如何配置代码自定义。
本文档适用于各种技能水平的开发者。本文档假定您熟悉 VS Code、IntelliJ 和其他受支持的 JetBrains IDE,并且熟悉 Google Cloud。如果您愿意,也可以在 Cloud Shell Editor、Cloud Workstations 和 Android Studio 中探索 Gemini Code Assist。
准备工作
VS Code
- 在代码文件中测试 Gemini Code Assist 功能之前,请确保您的文件所使用的编程语言受支持。如需详细了解支持的编码语言,请参阅支持的编码语言。
- 如果您倾向于在代理环境下使用 IDE,请参阅 Visual Studio Code 中的网络连接。
IntelliJ
安装 Gemini Code Assist 插件
如需在 IDE 中安装 Gemini Code Assist 插件,请按以下步骤操作:
VS Code
如需在 VS Code 中打开扩展程序视图,请点击
扩展程序或按
Ctrl
/Cmd
+Shift
+X
。搜索
Gemini Code Assist
。点击安装。
如果出现提示,请重启 VS Code。
扩展程序成功安装后,Gemini Code Assist 会显示在活动栏中,并准备就绪。您可以在顶层应用任务栏中指定偏好设置,对 Gemini Code Assist 进行进一步配置:前往代码 > 设置 > 设置 > 扩展程序,然后搜索
Gemini Code Assist
。
IntelliJ
- 依次点击 settings IDE 和项目设置 > 插件。
- 在 Marketplace 标签页中,搜索
Gemini Code Assist
。 - 点击安装以安装该插件。
- 安装完成后,点击重启 IDE。
重启 IDE 后,Gemini Code Assist 会显示在您的活动栏中。
现在,您即可在 IDE 中使用 Gemini Code Assist Standard 或 Enterprise。
登录 Google 并选择 Google Cloud 项目
在此部分中,您将登录自己的 Google 账号,如果您是首次在 IDE 中使用 Gemini Code Assist Standard 或 Enterprise,请选择 Google Cloud 项目。
VS Code
如果您选择的 Google Cloud 项目尚未启用 Gemini for Google Cloud API,系统会显示一条通知,您可通过该通知在 IDE 中启用该 API。在通知窗口中选择启用该 API,为您的项目启用该 API。如需了解详情,请参阅为项目设置 Gemini Code Assist Standard 和 Enterprise。
如果您希望直接在 IDE 中按照使用 Gemini Code Assist 编写代码演示进行操作,请点击启动 VS Code,然后按照演示中的步骤连接到 Google Cloud 并激活 Gemini Code Assist Standard 或 Enterprise。
否则,请按照以下步骤操作:
启动 IDE。
在活动栏中,点击 Gemini Code Assist。
在 Gemini Code Assist 对话窗格中,点击登录 Google Cloud。
在系统提示您允许 Gemini Code Assist 打开外部网站时,点击打开。
按照提示登录您的 Google 账号。
当系统询问您是否从 Google 下载了 Gemini Code Assist 时,请点击登录。
您现在已连接到 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 Code Assist Standard 或 Enterprise 已准备就绪。
IntelliJ
如需登录您的 Google 账号,请按以下步骤操作:
在活动栏中,点击 spark Gemini Code Assist。
点击登录 Google。
在网络浏览器中打开的页面上,选择您的 Google 账号。
在要求您确保您是从 Google 下载此应用的屏幕上,点击登录。
Gemini Code Assist 已获得访问您账号的授权。
接下来,如果这是您首次在 IDE 中使用 Gemini Code Assist Standard 或 Enterprise,请按以下步骤选择一个 Google Cloud项目:
返回您的 IDE。在 Gemini Code Assist 工具窗口中,如果您同意允许 Google 代表您为所选项目启用 Gemini Code Assist 所需的 API,请点击选择 GCP 项目以继续。
在选择 Google Cloud 项目对话框中,搜索并选择您的 Google Cloud 项目,然后点击确定。
点击完成。
您已选择 Google Cloud 项目,并启用了 Gemini Code Assist API。您已准备好在 IDE 中使用 Gemini Code Assist Standard 或 Enterprise!
使用 Gemini Code Assist 对话功能获取代码说明
在本部分中,您将提示 Gemini Code Assist 对现有代码进行解释。
VS Code
如需获取代码的说明,请按以下步骤操作:
打开您的代码文件。
在 IDE 的活动栏中,点击 spark Gemini Code Assist。
在 Gemini Code Assist 窗格中,输入提示
Explain this code to me
,然后点击 send 发送。Gemini Code Assist 会将代码文件中的内容作为提示参考,并返回解释结果。
如需引用特定代码块(而不是文件中的所有代码),您可以选择代码文件中的代码块,然后提示 Gemini Code Assist。
IntelliJ
如需获取代码的说明,请按以下步骤操作:
在 IDE 中,打开您的代码文件。
在 Gemini Code Assist 工具窗口中,输入提示
Explain this code to me
,然后点击提交。
Gemini Code Assist 会将代码文件中的内容作为提示参考,并返回解释结果。
如果您只想了解代码的某个部分,可以选择相应代码,然后再次提示 Gemini Code Assist。Gemini Code Assist 仅会将所选代码作为生成回答的参考内容。
Gemini Code Assist 在其回答中为您提供代码时,您可以选择回答末尾列出的以下选项:
在光标处插入:将生成的代码插入到当前文件的当前光标位置。
插入到新文件:打开一个新文件,并将生成的代码插入到该新文件中。
当 Gemini Code Assist 识别出代码块中使用的语言,并且当前 IDE 支持该语言时,这些选项才可用。
查看查询历史记录
如果您想重复使用之前的提示,可以点击 schedule 显示查询记录,前往 Gemini Code Assist 工具窗口,在查询记录中找到这些提示。
重置对话记录
Gemini Code Assist 在回答提示时会使用对话记录来获取更多上下文信息。如果您的对话记录不再与您要实现的目标相关,您可以重置对话记录。
根据提示生成代码
以下部分介绍了如何使用 Gemini Code Assist 在代码文件中生成使用示例提示 Function to create a Cloud Storage
bucket
的代码。您还可以选择部分代码,通过对话功能向 Gemini Code Assist 发出提示请求,然后在编码过程中接收代码建议并选择接受或拒绝。
VS Code
使用代码转换功能提示 Gemini Code Assist
借助代码转换功能,您可以在“快速选择”菜单中使用命令或自然语言提示来请求对代码进行修改,并通过差异视图查看待更改内容。如需提示 Gemini Code Assist 进行代码转换,请按以下步骤操作:
在代码文件中,另起一行,按 Ctrl+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS),以打开 Gemini Code Assist 快速选择栏。
在菜单中,使用
/generate
命令输入/generate function to create a Cloud Storage bucket
,然后按 Enter 键(Windows 和 Linux)或 Return 键 (macOS)。Gemini Code Assist 会根据提示在差异视图中生成代码。
可选:如需接受这些更改,请点击接受。
通过注释在代码文件中提示 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 键。
使用对话功能向 Gemini Code Assist 提示所选代码
Gemini Code Assist 可以根据您选择的代码执行任务或回答您的问题。如需根据提示和所选代码生成代码,请按以下步骤操作:
在活动栏中,点击 spark Gemini Code Assist 以打开 Gemini Code Assist 窗格。
在代码文件中,选择一个代码块。
在 Gemini Code Assist 窗格文本字段中,输入所选代码的提示。
例如,在代码中选择一个函数,然后输入提示
Write a unit test for this function
:Gemini 会将您选择的代码作为参考,并生成对提示的回答。
IntelliJ
使用代码转换功能提示 Gemini Code Assist
借助代码转换功能,您可以在“快速选择”菜单中使用命令或自然语言提示来请求对代码进行修改,并通过差异视图查看待更改内容。如需提示 Gemini Code Assist 进行代码转换,请按以下步骤操作:
在代码文件中,另起一行,按 Alt+\(Windows 和 Linux)或 Cmd+\ (macOS) 以打开 Gemini Code Assist 快速选择菜单。
在菜单中,使用
/generate
命令输入/generate function to create a Cloud Storage bucket
,然后按 Enter 键(Windows 和 Linux)或 Return 键 (macOS)。Gemini Code Assist 会根据提示在差异视图中生成代码。
可选:如需接受这些更改,请点击接受更改。
您可以在 IDE 中使用以下代码转换命令:
/fix
:修正代码中的问题或错误。示例:/fix potential NullPointerExceptions in my code
。/generate
:生成代码。示例:/generate a function to get the current time
。/doc
:为代码添加文档。示例:/doc this function
。/simplify
:简化代码。示例:/simplify if statement in this code
。
通过注释在代码文件中提示 Gemini Code Assist
在代码文件中,另起一行输入注释
Function to create a Cloud Storage bucket
。如需生成代码,请按 Alt+G(Windows 和 Linux)或 Option+G (macOS)。或者,您也可以右键点击注释旁的区域,然后选择生成代码。
Gemini Code Assist 会以灰显文本的形式在注释下方生成代码。
可选:若要接受生成的代码,请按 Tab 键。
使用对话功能向 Gemini Code Assist 提示所选代码
Gemini Code Assist 可以根据您选择的代码执行任务或回答您的问题。如需根据提示和所选代码生成代码,请按以下步骤操作:
在活动栏中,点击 星光图标 Gemini Code Assist,打开 Gemini Code Assist 工具窗口。
在代码文件中,选择一个代码块。
在 Gemini Code Assist 工具窗口文本字段中,输入所选代码的提示。
例如,在代码中选择一个函数,然后输入提示
Write a unit test for this function.
Gemini Code Assist 会将您选择的代码作为参考,并生成对提示的回答。
可选:更改用于生成代码的键盘快捷键
如果用于生成代码的默认快捷键未按上一部分所述那样生效,您可以按照以下步骤更改键盘快捷键:
VS Code
在 IDE 中,点击文件(Windows 和 Linux)或代码 (macOS),然后依次前往设置 > 键盘快捷键。
在键盘快捷键列表中,滚动到 Gemini Code Assist:生成代码。
点击 Gemini Code Assist:生成代码,然后点击 edit 更改键绑定。
在随即显示的对话框中,输入您自己的快捷键。
按 Enter 键(Windows 和 Linux)或 Return 键 (macOS)。
您现在可以使用新分配的快捷键通过 Gemini Code Assist 生成代码。
如需详细了解如何更改 IDE 中的快捷键,请参阅适用于 Visual Studio Code 的按键绑定。
IntelliJ
依次前往 settings IDE 和项目设置 > 设置 > 按键映射 > Gemini Code Assist。
右键点击 Gemini Code Assist,然后选择添加键盘快捷键。
输入您偏好的键盘快捷键,然后点击确定。
右键点击 Gemini Code Assist,然后选择移除 Alt+G(Windows 和 Linux)或移除 Option+G (macOS)。
现在,您可以使用新的键盘快捷键在代码文件中生成代码。
获取代码补全
在您编写代码时,Gemini Code Assist 会提供行内建议(即代码补全),您可以选择接受或忽略。如需获取代码补全功能,请按以下步骤操作:
VS Code
在代码文件中,另起一行,开始编写函数。例如,如果您在 Python 文件中,请编写
def
。Gemini Code Assist 会以灰显文本的形式提供代码建议。
若要接受 Gemini Code Assist 给出的代码建议,请按 Tab 键。否则,若要忽略建议,请按 Esc 键或继续编写代码。
IntelliJ
在代码文件中,另起一行,开始编写函数。例如,如果您在 Python 文件中,请编写
def
。Gemini Code Assist 会以行内建议的形式提供代码补全内容。
若要接受 Gemini Code Assist 给出的代码建议,请按 Tab 键。否则,若要忽略建议,请按 Esc 键或继续编写代码。
可选:如果您希望使用其他快捷键来接受行内建议,请将指针悬停在行内建议上,然后点击显示的 Tab 键下拉菜单。然后,选择您首选的快捷键,或点击自定义以输入您自己的快捷键。
可选:停用代码补全
代码补全功能默认处于启用状态。如果您想停用代码补全功能,请按以下步骤操作:
VS Code
在 IDE 中,点击代码 (macOS) 或文件(Windows 和 Linux),然后前往设置 > 设置。
在设置对话框的用户标签页中,依次前往扩展程序 > Gemini Code Assist。
滚动查找 Duet AI:行内建议:启用自动列表,然后选择关闭。
这会关闭行内建议。您仍然可以按 Ctrl+Enter(Windows 和 Linux)或 Ctrl+Return (macOS) 手动触发行内建议。
IntelliJ
在 IDE 的状态栏中,点击 spark Gemini Code Assist:活动,然后选择启用 AI 代码补全。
这会停用代码补全设置,Gemini Code Assist 将不再提供行内建议,直到您再次启用该设置。
使用智能操作
为了在最大程度减少上下文切换的同时提高效率,Gemini Code Assist 直接在代码编辑器中提供 AI 赋能的智能操作。在代码编辑器中选择代码时,您可以查看与上下文相关的操作列表,并从中进行选择。
如需在代码中使用智能操作,请按以下步骤操作:
VS Code
在代码文件中,选择一个代码块。
在所选代码块旁边,点击 lightbulb 显示代码操作。
选择一项操作,例如生成单元测试。
Gemini Code Assist 会根据您选择的操作生成回答。
IntelliJ
在代码文件中,选择一行或一块代码。
右键点击所选代码,然后选择智能操作,例如生成单元测试。
选择智能操作后,Gemini Code Assist 会自动在 Gemini Code Assist 工具窗口中针对提示生成回答。
使用代码转换快速修复
如果您的代码中存在错误,Gemini Code Assist 可让您通过代码转换功能对该错误应用快速修复。
如需在代码文件中应用快速修复,请按以下步骤操作:
VS Code
在代码文件中,将指针悬停在波浪线错误行上,然后选择快速修复,再选择 /fix。
应用快速修复后,系统会显示差异视图。如需接受这些更改,请点击接受。
IntelliJ
在代码文件中,点击红色错误灯泡图标(表示代码中存在错误),然后选择使用 Gemini 修复。
应用修复后,系统会显示差异视图。如需接受这些更改,请点击接受。
在工作区中启用本地代码库感知功能,以便基于指定文件发出提示
当您为 Gemini Code Assist 指定文件作为上下文时,本地代码库感知功能可在更广泛的上下文中提供语法正确、语义准确的高质量代码建议。
VS Code
如需在对话提示中指定文件,请输入 @,然后选择要指定的文件。
如需了解代码库中两个文件的区别,请按以下步骤操作:
在活动栏中,点击 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 会根据您在提示中指定的文件回答您的问题。
IntelliJ
如需在对话提示中指定文件,请输入 @FILENAME,然后选择要指定的文件。
如需了解代码库中两个文件的区别,请按以下步骤操作:
在活动栏中,点击 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 会根据您在提示中指定的文件回答您的问题。
停用与引用来源内容匹配的代码建议
Gemini Code Assist 在直接引用其他来源(例如现有开源代码)的长篇内容时,会提供引用信息。如需了解详情,请参阅 Gemini 会注明信息来源的情况和方式。
如要防止系统向您建议与引用来源匹配的代码,请执行以下操作:
在 IDE 的活动栏中,依次点击管理 > 设置。
在设置窗口的用户标签页中,依次前往扩展程序 > Gemini Code Assist。
滚动查找 Duet AI > 引用:最大引用长度。
将值设置为
0
。Gemini Code Assist 不再建议与引用来源内容匹配的代码。
已知问题
本部分简要介绍了 Gemini Code Assist 的已知问题:
VS Code
如果对话回答包含大型打开文件的更新版本,可能会被截断
如需解决此问题,请选择较小的一小段代码,并在对话提示中添加额外的指令,例如
only output the selected code.
Vim:除非处于插入模式,否则无法接受或拒绝代码生成建议
在常规模式下使用 Vim 插件时,您无法接受或忽略代码建议。
如需解决此问题,请按 i 键进入插入模式,然后按 Tab 键接受建议。
Vim:按 Esc 键以忽略建议时行为不一致
按 Esc 键时,IDE 和 Gemini Code Assist 建议都会关闭。此行为与非 Vim 行为不同,后者在按下 Esc 键时会重新触发 Gemini Code Assist。
登录尝试反复超时
如果您的登录尝试反复超时,请尝试将
cloudcode.beta.forceOobLogin
设置添加到settings.json
文件中:"cloudcode.beta.forceOobLogin": true
许可引用警告不会在各个会话之间保留
如果许可引用警告无法在各会话中保留,请查阅持久性日志:
依次点击视图 > 输出。
选择 Gemini Code Assist - 引用。
Gemini Code Assist 输出窗口中的连接问题
如果您在 Gemini Code Assist 输出窗口中看到连接错误或其他连接问题,请尝试以下操作:
配置防火墙以允许访问
oauth2.googleapis.com
和cloudaicompanion.googleapis.com
。配置防火墙以允许通过 HTTP/2 进行通信,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,然后选择发送反馈。
点击任意日志文件旁的显示按钮,以查看更多详细信息并辅助排查问题。
IntelliJ
截至目前,Gemini Code Assist for IntelliJ 和其他支持的 JetBrains IDE 暂无已知问题。
提供反馈
如需就您的体验提供反馈,请按以下步骤操作:
VS Code
在状态栏中,点击 spark Gemini Code Assist,然后在快速选择菜单中选择发送反馈。
在表单中,填写标题和评论字段。
如果您希望分享 Skaffold 或 AI Companion 日志,请务必选择发送 Skaffold 日志或发送 AI Companion 日志选项。
点击提交反馈。
IntelliJ
在状态栏中,点击 spark Gemini Code Assist,然后在菜单中选择提交反馈。
在表单顶部的文本字段中,输入您的反馈。
如果您希望分享 Gemini Code Assist 日志,请务必勾选相应的日志文件。
点击提交反馈。
后续步骤
- 了解如何撰写更好的提示。
- 了解 Gemini for Google Cloud 如何使用您的数据。
- 了解 Gemini Code Assist 价格。
- 详细了解 Google Cloud 合规性。