本文档介绍了如何使用 Gemini Code Assist(IDE 中 AI 赋能的协作工具)帮助您在 VS Code、IntelliJ 和其他支持的 JetBrains IDE 中执行以下操作:
- 使用代码转换功能为项目生成代码。
- 在您编写代码时获取代码补全。
- 使用智能操作。
如果您使用的是 Gemini Code Assist Enterprise,则可以使用代码自定义功能,以便直接从 Gemini Code Assist Enterprise 获取基于组织私有代码库的代码建议。了解如何配置代码自定义。
本文档适用于各种技能水平的开发者。本文档假定您熟悉 VS Code、IntelliJ 和其他受支持的 JetBrains IDE。您还可以使用 Android Studio 中的 Gemini。
准备工作
VS Code
- 设置 Gemini Code Assist 个人版、Gemini Code Assist Standard 或 Gemini Code Assist Enterprise(如果尚未设置)。 
- 在代码文件中测试 Gemini Code Assist 功能之前,请确保您的文件所使用的编程语言受支持。如需详细了解支持的编码语言,请参阅支持的编码语言。 
- 如果您倾向于在代理环境下使用 IDE,请参阅 Visual Studio Code 中的网络连接。 
IntelliJ
- 设置 Gemini Code Assist 个人版、Gemini Code Assist Standard 或 Gemini Code Assist Enterprise(如果尚未设置)。 
- 在代码文件中测试 Gemini Code Assist 功能之前,请确保您的文件所使用的编程语言受支持。如需详细了解支持的编码语言,请参阅支持的编码语言。 
- 如果您倾向于在代理环境下使用 IDE,请参阅 HTTP 代理。 
根据提示生成代码
以下部分介绍了如何使用 Gemini Code Assist 在代码文件中生成使用示例提示 Function to create a Cloud Storage
bucket 的代码。您还可以选择部分代码,通过对话功能向 Gemini Code Assist 发出提示请求,然后在编码过程中接收代码建议并选择接受或拒绝。
使用代码转换功能提示 Gemini Code Assist
借助代码转换功能,您可以在“快速选择”菜单中使用命令或自然语言提示来请求对代码进行修改,并通过差异视图查看待更改内容。如需提示 Gemini Code Assist 进行代码转换,请按以下步骤操作:
VS Code
- 在代码文件中,另起一行,按 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 会根据提示在差异视图中生成代码。   
- 可选:如需接受这些更改,请点击接受。 
IntelliJ
- 在代码文件中,另起一行,按 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
如果您愿意,也可以通过在代码文件中添加注释的方式向 Gemini Code Assist 提示操作,具体步骤如下:
VS Code
- 在新的代码行中,输入注释 - Function to create a Cloud Storage bucket,然后按 Enter 键(Windows 和 Linux)或 Return 键 (macOS)。
- 如需生成代码,请按 Ctrl+Enter(Windows 和 Linux)或 Ctrl+Return (macOS)。 - Gemini Code Assist 会在提示文本旁以灰显形式生成代码。 
- 可选:若要接受生成的代码,请按 Tab 键。 
IntelliJ
- 在代码文件中,另起一行输入注释 - Function to create a Cloud Storage bucket。
- 如需生成代码,请按 Alt+G(Windows 和 Linux)或 Option+G (macOS)。或者,您也可以右键点击注释旁的区域,然后选择生成代码。 - Gemini Code Assist 会以灰显文本的形式在注释下方生成代码。 
- 可选:若要接受生成的代码,请按 Tab 键。 
可选:更改用于生成代码的键盘快捷键
如果用于生成代码的默认键盘快捷键未按上一部分所述那样生效,您可以更改键盘快捷键。
获取代码补全
在您编写代码时,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。 
- 滚动查找 Geminicodeassist:行内建议:启用自动列表,然后选择关闭。 - 这会关闭行内建议。您仍然可以按 Ctrl+Enter(Windows 和 Linux)或 Ctrl+Return (macOS) 手动触发行内建议。 
IntelliJ
在 IDE 的状态栏中,点击 spark Gemini Code Assist:活动,然后选择启用 AI 代码补全。
 
 
这会停用代码补全设置,Gemini Code Assist 将不再提供行内建议,直到您再次启用该设置。
使用后续编辑预测
代码补全功能仅在代码文件中光标所在位置提供更改建议,而“后续编辑预测”功能则会在整个文件中提供预测的代码建议,即使在光标所在位置之外也是如此。
您可以在 IDE 的设置中启用“后续编辑预测”功能。
如需在 IDE 中使用“后续编辑预测”,请按以下步骤操作:
VS Code
如需开始使用“后续编辑预测”,请启用相应设置:
- 依次前往设置 管理 > 设置。 
- 在设置窗口的用户标签页中,依次前往扩展程序 > Gemini Code Assist。 
- 滚动查找 Geminicodeassist > 内嵌建议:后续编辑预测。 
- 选中相应复选框,以在 VS Code 中启用“后续编辑预测”。 
现在,您已启用该设置,接下来可以按照以下步骤开始在代码文件中使用“后续编辑预测”功能:
- 在代码文件中,开始编写代码。当您暂停或停止输入时,系统会显示“后续编辑预测”。   
- 按 Tab 可接受提供的“后续编辑”建议。   
- 如果您想接受下一个建议,请再次按 Tab 键。系统可能会显示更多建议,您可以再次重复此流程。 否则,请按 Esc 键以关闭建议,或继续输入以忽略建议。 - 当您按 Tab 键输入建议时,可以将指针悬停在建议上,以查看其他建议(如果有)。 如果有多个建议,您可以点击向左和向右箭头,循环浏览其他建议。   - 每当您按 Esc 键关闭建议时,Gemini Code Assist 都会停止为相应代码块提供“后续编辑预测”建议。当您移至代码的其他部分时,系统会继续提供建议。 
IntelliJ
如需开始使用“后续编辑预测”,请启用相应设置:
- 依次前往文件 > 设置 > 工具 > Gemini。 
- 在完成部分,选中后续编辑预测复选框以启用该功能。 
现在,您已启用该设置,接下来可以按照以下步骤开始在代码文件中使用“后续编辑预测”功能:
- 在代码文件中,开始编写代码。当您暂停或停止输入时,系统会显示“后续编辑预测”。   
- 按 Tab 可接受提供的“后续编辑”建议。   
- 如果您想接受下一个建议,请再次按 Tab 键。系统可能会显示更多建议,您可以再次重复此流程。 否则,请按 Esc 键以关闭建议,或继续输入以忽略建议。 - 每当您按 Esc 键关闭建议时,Gemini Code Assist 都会停止为相应代码块提供“后续编辑预测”建议。当您移至代码的其他部分时,系统会继续提供建议。 
利用远程仓库上下文获取更相关的建议
您可以指示 Gemini Code Assist 重点关注特定远程仓库,从而获得情境感知能力更强且更相关的代码建议。 当您的任务以一组特定的微服务、库或模块为中心时,此功能非常有用。
准备工作
在使用远程代码库作为上下文之前,您必须先对其进行索引并将其配置为支持代码自定义。
使用远程代码库作为上下文
如需指示 Gemini Code Assist 将一个或多个代码库用作提示的主要上下文,请执行以下操作:
- 在 IDE 的对话中,以 @ 符号作为开头来输入提示。 系统会显示已编入索引的可用远程代码库列表。
- 从列表中选择要用于上下文的代码库。您也可以输入代码库名称来过滤列表。
- 选择代码库后,撰写提示的其余部分。
Gemini Code Assist 随后在生成回答时会优先考虑所选代码库。
示例提示
本部分包含一些示例,说明了如何通过远程仓库上下文获取更相关的建议。
- 了解仓库
- @REPOSITORY_NAME What is the overall structure of this repository?
- @REPOSITORY_NAME I'm a new team member. Can you give me an overview of this repository's purpose and key modules?
 
- 生成和修改代码
- @REPOSITORY_NAME Implement an authentication function similar to the one in this repository.
- @REPOSITORY_NAME Refactor the following code to follow the conventions in the selected repository.
- Use the library-x in @REPOSITORY_A_NAME-A and implement the function-x
 
- 测试
- @UNIT_TEST_FILE_NAME Generate unit tests for module-x based on the examples in the selected file.
 
通过将远程仓库用作重点关注的上下文来源,您可以从 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 修复。   
- 应用修复后,系统会显示差异视图。如需接受这些更改,请点击接受。 
从本地上下文中排除文件
默认情况下,如果在 .aiexclude 或 .gitignore 文件中指定了相应文件,Gemini Code Assist 会在代码补全、代码生成、代码转换和对话的上下文中,从本地使用中排除这些文件。
如需了解如何从本地使用中排除文件,请参阅从 Gemini Code Assist 使用中排除文件。
停用与引用来源内容匹配的代码建议
Gemini Code Assist 在直接引用其他来源(例如现有开源代码)的长篇内容时,会提供引用信息。如需了解详情,请参阅 Gemini 会注明信息来源的情况和方式。
如要防止系统向您建议与引用来源匹配的代码,请执行以下操作:
VS Code
- 在 IDE 的活动栏中,依次点击管理 > 设置。 
- 在设置窗口的用户标签页中,依次前往扩展程序 > Gemini Code Assist。 
- 滚动查找 Geminicodeassist > 引用:最大引用长度。 
- 将值设置为 - 0。
Gemini Code Assist 不再建议与引用来源内容匹配的代码。
IntelliJ
- 在 IDE 的状态栏中,点击 spark Gemini Code Assist:活动,然后选择配置 Gemini。 
- 展开高级设置部分,然后选择屏蔽与外部引用来源匹配的选择内容。 
- 点击确定。 
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
IntelliJ
截至目前,Gemini Code Assist for IntelliJ 和其他支持的 JetBrains IDE 暂无已知问题。
留言反馈
如需就您的体验提供反馈,请参阅提供 Gemini for Google Cloud 反馈。