Gemini Code Assist 是一款由 AI 驱动的协作工具,可直接集成于 VS Code、IntelliJ 及其他 JetBrains IDE 中,旨在帮助开发者提升编码效率。本指南将详细介绍如何利用其核心功能,包括代码生成、代码补全、智能操作等。

如果您使用的是 Gemini Code Assist Enterprise 版本,还可以通过代码自定义功能,让 Gemini 根据您组织的私有代码库提供更贴切的建议。

本文档适用于所有水平的开发者,但假定您已熟悉所使用的 IDE (VS Code 或 JetBrains IDEs)。

准备工作

在开始之前,请确保您已完成以下准备工作:

  1. 安装 Gemini Code Assist:在您的 IDE 中安装个人版、Standard 版或 Enterprise 版的 Gemini Code Assist 插件。
  2. 确认语言支持:确保您正在编写的代码文件所使用的编程语言在 Gemini Code Assist 的支持范围内。
  3. 配置网络代理 (如需):如果您的开发环境位于代理之后,请参考 IDE 的官方文档进行相应的网络配置(例如 Visual Studio Code 的网络连接设置或 JetBrains IDEs 的 HTTP 代理设置)。

根据提示生成代码

Gemini Code Assist 支持通过自然语言提示来生成代码。您可以使用命令面板,也可以直接在代码注释中编写提示。

以下示例将以 “创建一个 Cloud Storage 存储桶的函数” (function to create a Cloud Storage bucket) 作为提示内容。

使用命令面板

通过命令面板,您可以输入自然语言提示或预设命令来请求代码修改,并通过差异视图(Diff View)预览和接受变更。

在 VS Code 中

  1. 在代码文件中新起一行,按下 Ctrl+I (Windows/Linux) 或 Cmd+I (macOS) 打开 Gemini Code Assist 快速命令菜单。
  2. 输入 /generate 命令和您的提示,例如:/generate function to create a Cloud Storage bucket,然后按 Enter
  3. Gemini 会在差异视图中生成代码。点击 接受 (Accept) 即可将代码插入文件。

在 IntelliJ 中

  1. 在代码文件中新起一行,按下 Alt+\ (Windows/Linux) 或 Cmd+\ (macOS) 打开 Gemini Code Assist 快速命令菜单。
  2. 输入 /generate 命令和您的提示,例如:/generate function to create a Cloud Storage bucket,然后按 Enter
  3. Gemini 会在差异视图中生成代码。点击 接受更改 (Accept changes) 即可应用。

常用命令

除了 /generate,您还可以使用以下命令:

  • /fix:修正代码中的问题或错误。例如:/fix potential NullPointerExceptions in my code
  • /doc:为代码添加文档注释。例如:/doc this function
  • /simplify:简化代码逻辑。例如:/simplify if statement in this code

通过代码注释

您也可以直接在代码文件中通过注释来向 Gemini 发出指令。

在 VS Code 中

  1. 在新的一行中,输入注释,例如:// Function to create a Cloud Storage bucket
  2. 按下 Ctrl+Enter (Windows/Linux) 或 Ctrl+Return (macOS)。
  3. Gemini 会以灰色文本的形式在注释下方生成代码。
  4. Tab 键接受生成的代码。

在 IntelliJ 中

  1. 在新的一行中,输入注释,例如:// Function to create a Cloud Storage bucket
  2. 按下 Alt+G (Windows/Linux) 或 Option+G (macOS)。您也可以右键点击注释旁的区域,选择 生成代码 (Generate Code)
  3. Gemini 会以灰色文本的形式生成代码。
  4. Tab 键接受建议。

提示:如果默认快捷键与其他功能冲突,您可以在 IDE 的键盘快捷键设置中进行修改。

获取代码补全

在您编写代码时,Gemini Code Assist 会自动提供行内代码补全建议。

在 VS Code 中

  1. 在代码文件中开始编写函数,例如,在 Python 文件中输入 def
  2. Gemini Code Assist 会以灰色文本形式显示代码建议。
  3. Tab 键接受建议,或按 Esc 键忽略并继续编写。

在 IntelliJ 中

  1. 同样,在开始编写代码时,Gemini 会提供行内建议。
  2. Tab 键接受,或按 Esc 键忽略。
  3. 您可以将鼠标悬停在建议上,通过下拉菜单更改接受建议的快捷键。

停用代码补全

代码补全功能默认开启。如需关闭:

  • VS Code:前往 设置 > 扩展 > Gemini Code Assist,找到 Duet AI: Inline Suggestions: Enable Auto 选项并选择 Off。关闭后,您仍可通过 Ctrl+Enter (Windows/Linux) 或 Ctrl+Return (macOS) 手动触发。
  • IntelliJ:点击 IDE 状态栏的 Gemini 图标 (spark),然后取消选择 启用 AI 代码补全 (Enable AI Code Completions)

优化代码建议

为了让 Gemini 生成更贴合项目上下文的建议,您可以进行一些额外配置。

利用远程仓库上下文

此功能允许您指定一个或多个远程代码库作为生成建议时的主要参考。这在处理与特定微服务、库或模块相关的任务时非常有用。

在 IDE 的聊天窗口中:

  1. 在提示的开头输入 @ 符号,此时会显示已编入索引的远程代码库列表。
  2. 从列表中选择一个或多个代码库,或通过输入名称进行筛选。
  3. 继续撰写您的提示。Gemini 在生成回答时会优先参考所选代码库。

示例提示:

  • 了解代码库
    @REPOSITORY_NAME 这个仓库的整体结构是怎样的?
    @REPOSITORY_NAME 我是新成员,请为我概述这个仓库的用途和关键模块。
    
  • 生成和修改代码
    @REPOSITORY_NAME 实现一个与此仓库中类似的身份验证函数。
    @REPOSITORY_NAME 参考 @REPOSITORY_A_NAME 中的 library-x 库,实现 function-x。
    
  • 测试
    @UNIT_TEST_FILE_NAME 根据选定文件中的示例,为 module-x 生成单元测试。
    

排除本地文件

默认情况下,Gemini Code Assist 会遵循 .aiexclude.gitignore 文件中的规则,在代码补全、生成和聊天上下文中排除指定的文件。

禁用引用来源建议

Gemini 在生成的内容直接且大段地引用了其他来源(如开源代码)时,会提供引用信息。如果您不希望收到这类建议:

  • VS Code:前往 设置 > 扩展 > Gemini Code Assist,找到 Geminicodeassist > Citations: Max Cited Length 并将其值设为 0
  • IntelliJ:点击状态栏的 Gemini 图标,选择 配置 Gemini (Configure Gemini),展开 高级设置 (Advanced settings),然后勾选 屏蔽与外部引用来源匹配的选择内容 (Block selections that match external sources)

使用智能操作

智能操作是 Gemini 在代码编辑器中提供的上下文相关功能,可以减少您在不同工具间切换的频率。

在 VS Code 中

  1. 在代码文件中选中一个代码块。
  2. 点击代码块旁边出现的灯泡图标 (lightbulb)。
  3. 从操作列表中选择一项,例如 生成单元测试 (Generate Unit Tests)
  4. Gemini 会根据您的选择生成回答。

在 IntelliJ 中

  1. 在代码文件中选中一行或一个代码块。
  2. 右键点击所选代码,然后选择一个智能操作,例如 生成单元测试 (Generate Unit Tests)
  3. Gemini 会在工具窗口中生成回答。

应用代码快速修复

当代码中存在错误时,Gemini 可以提供快速修复建议。

在 VS Code 中

  1. 将鼠标悬停在有波浪线标记的错误代码上。
  2. 选择 快速修复 (Quick Fix),然后选择 /fix
  3. 在差异视图中预览更改,并点击 接受 (Accept) 应用修复。

在 IntelliJ 中

  1. 点击代码行旁的红色错误灯泡图标。
  2. 选择 使用 Gemini 修复 (Fix with Gemini)
  3. 在差异视图中预览并接受更改。

已知问题

VS Code

  • 对话回答被截断:如果对话回答中包含了对大型文件的更新,内容可能会被截断。解决方法是选择较小的代码片段,并在提示中明确要求只输出所选代码的修改。
  • Vim 插件兼容性:在 Vim 的常规模式 (Normal mode) 下,无法接受或拒绝代码建议。需要先按 i 进入插入模式 (Insert mode),再按 Tab 接受。
  • 登录反复超时:如果遇到此问题,可以尝试在 settings.json 文件中添加 "cloudcode.beta.forceOobLogin": true
  • 连接问题:如果在 Gemini Code Assist 的输出窗口看到连接错误,请检查防火墙设置,确保允许访问 oauth2.googleapis.comcloudaicompanion.googleapis.com,并支持 gRPC 所使用的 HTTP/2 协议。

IntelliJ

截至目前,Gemini Code Assist for IntelliJ 暂无已知问题。

提供反馈

您的反馈对改进产品至关重要。

  • VS Code
    • 点击状态栏的 Gemini 图标,选择 发送反馈 (Send Feedback)
    • 或打开命令面板 (Ctrl/Cmd + Shift + P),运行 Gemini Code Assist: Send Feedback
  • IntelliJ
    • 点击状态栏的 Gemini 图标。
    • 在对话中,如果您对回答不满意,可以点击“不喜欢” (thumb_down) 图标,然后选择 提供反馈 (Provide Feedback)

👉 如果你需要 ChatGPT 代充 / Claude / Claude Code / 镜像 / 中转 API