提供指导,帮助您解决代码问题。
为您的项目生成代码。
在编码时接收内嵌建议。
了解 Gemini for Google Cloud 如何以及何时使用您的数据。
为帮助您遵守代码的所有许可要求,当 Gemini Code Assist 的建议直接引用特定来源的长篇内容时,它会提供来源引用。如需详细了解 Gemini 会注明信息来源的情况和方式,请参阅 Gemini 如何帮助您生成代码并注明信息来源。借助代码自定义功能,您可以直接从 Gemini Code Assist 获取基于贵组织私有代码库的代码建议。了解如何配置代码自定义。
本文档面向各种技能水平的开发者。本文假定您已具备 Cloud Workstations 的实际运用知识,并熟悉 Google Cloud。您也可以根据需要,在 Cloud Code for VS Code、Cloud Code for IntelliJ 和 Cloud Shell Editor 中探索 Gemini Code Assist。
准备工作
-
确保您拥有项目的 Cloud Workstations Admin IAM 角色,以便创建工作站配置。
如果您尚未设置工作站,请务必在配置中选择基本编辑器 (Code-OSS)。
- 在代码文件中测试 Gemini Code Assist 功能之前,请确保文件的编码语言受支持。如需详细了解支持的编码语言,请参阅支持的编码语言。
连接到 Google Cloud 并选择项目
在本部分中,您将连接到 Google Cloud,并在工作站中选择已启用 Gemini for Google Cloud API 的 Google Cloud 项目。
如果您选择的 Google Cloud 项目未启用 Gemini for Google Cloud API,您会收到一条通知,其中包含从 IDE 启用该 API 的选项。在通知窗口中选择 Enable the API(启用 API),为您的项目启用该 API。如需了解详情,请参阅为项目设置 Gemini Code Assist。
如需在您的工作站中连接到 Google Cloud,请按以下步骤操作:
在 Google Cloud 控制台中,启动您的工作站。
在状态栏中,点击 Cloud Code - Sign In(Cloud Code - 登录)。
在系统提示您登录时,点击 Proceed to sign in(继续登录)。
如需启动 Google Cloud 登录流程,请按 Control 键(适用于 Windows 和 Linux)或 Command 键(适用于 macOS),然后点击控制台中的网址。
如果系统提示您允许 Cloud Workstations 打开外部网站,请点击 Open(打开)。
如需登录您的账号,请按照提示操作。
如果系统提示您确认是否是从 Google 下载的此应用,请点击登录。
浏览器中会打开一个新标签页,其中会显示用于登录 Cloud Code 的验证码。
复制验证码,将其粘贴到终端中显示 Enter authorization code(输入授权代码)的位置,然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)键。
您现已连接到 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 聊天,请按以下步骤操作:
打开您的代码文件。
在工作站的活动栏中,点击 spark Gemini Code Assist。
在 Gemini Code Assist 窗格中,输入提示
Explain this code to me
,然后点击 send Send(发送)。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
在新代码文件中,另起一行输入注释
Function to create a Cloud Storage bucket
,然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。如需生成代码,请按 Control+Enter(适用于 Windows 和 Linux)或 Control+Return(适用于 macOS)。
在代码文件中的提示文本旁边,Gemini Code Assist 会以幽灵文本的形式生成代码。
可选:若要接受生成的代码,请按 Tab 键。
可选:更改用于生成代码的键盘快捷键
如果用于生成代码的默认键盘快捷键无法按上一部分中所述的方式运行,您可以按照以下步骤更改键盘快捷键:
在工作站中,点击 menu Menu(菜单),然后依次前往 File(文件)> Preferences(偏好设置)> Keyboard Shortcuts(键盘快捷键)。
在键盘快捷键列表中,搜索 Cloud Code: Generate Code(Cloud Code:生成代码)。
点击 Cloud Code:Generate Code(Cloud 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 中停用内嵌建议,请按以下步骤操作:
在工作站中,选择 menu Menu(菜单),然后依次选择 File(文件)> Preferences(偏好设置)> Settings(设置)。
在 Settings(设置)对话框的 User(用户)标签页中,依次选择 Extensions(扩展程序)> Cloud Code(Cloud Code)。
滚动到 Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto 列表,然后选择 Off。
这会关闭内嵌建议。您仍然可以按 Control+Enter(适用于 Windows 和 Linux)或 Control+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.txt 文件,但不屏蔽任何子目录:/apikeys.txt
屏蔽
my/sensitive/dir
目录及其所有子目录中的所有文件。路径应相对于工作区根目录。my/sensitive/dir/*
停用与引用的来源匹配的代码建议
当 Gemini 直接引用其他来源(例如现有开源代码)的长篇内容时,会提供引用信息。如需了解详情,请参阅 Gemini 会注明信息来源的情况和方式。
如需防止系统建议与引用的来源匹配的代码,您可以在 settings.json
文件中将 cloudcode.duetAI.recitation.maxCitedLength
设置修改为 0
:
"cloudcode.duetAI.recitation.maxCitedLength": 0
使用智能操作
为了在最大程度减少上下文切换的同时提高效率,Gemini Code Assist 直接在代码编辑器中提供 AI 赋能的智能操作。在代码编辑器中选择代码时,您可以查看与上下文相关的操作列表,并从中进行选择。
如需在代码中使用智能操作,请按以下步骤操作:
在代码文件中,选择一个代码块。
在所选代码块旁边,点击 lightbulb Show Code Actions(显示代码操作)。
选择一个操作,例如生成单元测试。
Gemini 会根据您选择的操作生成回答。
使用代码转换
Gemini Code Assist 提供代码转换功能,可让您使用内嵌文本框选择代码文件的一部分,并通过自然语言提示请求修改现有代码。
借助代码转换,您可以执行以下操作:
- 生成注释行以记录代码
- 排查存在问题的代码
- 提高代码可读性
- 提高代码效率
你还可以在 Gemini:Chat 窗格中查看生成的回答的上下文来源。
使用内嵌文本框向 Gemini Code Assist 发出提示
借助内嵌文本框,您可以直接在代码文件中与 Gemini Code Assist 互动。
如需打开内嵌文本框并提示 Gemini,请按以下步骤操作:
在代码文件中,按 Control+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)。
输入提示符(例如
Write a function to create a Cloud Storage bucket
),然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。Gemini Code Assist 会根据您的提示生成代码。
查看重构后的代码的差异
借助内置于内嵌文本框中的差异视图,您可以查看 Gemini 建议的更改和原始代码。然后,您可以接受或舍弃建议的更改。
如需通过内嵌文本框查看重构后的代码的差异,请执行以下步骤:
在代码文件中,选择一个函数,然后按 Control+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)打开内嵌文本框。
输入提示符(例如
Add comments
),然后按 Enter(适用于 Windows 和 Linux)或 Return(适用于 macOS)。当 Gemini 为所选函数生成代码更改时,系统会显示差异视图。
如要接受或舍弃更改,请点击接受或舍弃。
查看生成的回答的上下文来源
上下文显示功能会列出用作参考来生成对你问题的回答的项目文件(上下文来源)。了解系统用作参考文件的文件有助于您优化问题并获得更具体的回答。每次您使用 Gemini Chat 时,系统都会显示上下文来源。
如需查看生成的回答的上下文来源,请在 Gemini:Chat 窗格中滚动,直到看到 Context Sources 代码段。展开代码段可查看所有上下文来源。
使用智能命令
智能命令是指您可以在内嵌文本框中使用这些命令对代码执行特定操作。
如需使用 /explain
智能命令获取整个代码文件的说明,请按以下步骤操作:
在代码文件中,按 Control+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)打开内嵌文本框。
按 / 可查看智能指令及其说明的列表。
选择
/explain
。Gemini 会在内嵌文本框中生成对整个代码文件的说明。
可选:如果你想在 Gemini:对话窗格中查看生成的回答,请点击在对话中查看。
查看提示历史记录
当您需要在大型代码文件中输入相同的提示时,访问提示历史记录可节省时间。
如需访问提示历史记录,请在代码文件中按 Control+I(适用于 Windows 和 Linux)或 Command+I(适用于 macOS)打开内嵌文本框,然后按 Control+向上键(适用于 Windows 和 Linux)或 Command+向上键(适用于 macOS)。这样,您就可以轮流使用旧提示,并在需要时重复使用。
提高了非英语母语人士的代码可读性
如果您不是以英语为母语,而是使用翻译应用,则可以使用内嵌文本框以其他语言生成评论。
如需将英语评论转换为其他语言,或以其他语言添加新评论,请按以下步骤操作:
在代码文件中,选择要添加注释的代码。
按 Control+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 菜单 > 视图 > 输出。
选择 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 和 JetBrains Gateway
Gemini Code Assist 不会通过 JetBrains Gateway 运行。因此,Gemini Code Assist 无法在需要 JetBrains Gateway 才能连接的 Cloud Workstations IDE 上运行。
选择 Gemini Code Assist 项目后,系统仍会显示“激活 Gemini Code Assist”
如果您按照本指南中的说明选择了项目(包括启用 Gemini for Google Cloud API),则 LS 服务器可能存在问题。
如需详细了解您的问题,请执行以下操作:
在状态栏中,点击 spark Gemini Code Assist,然后选择 Send feedback。
点击任意日志文件的显示,即可查看更多详细信息,以便排查问题。
提供反馈
如需就您的体验留下反馈,请按以下步骤操作:
在状态栏中,点击 Gemini Code Assist,然后在 Quick Pick 菜单中,选择 Send feedback。
在表单中,填写标题和备注字段。
如果您想分享 Skaffold 或 AI 配套日志,请务必选择发送 Skaffold 日志或发送 AI 配套日志选项。
点击提交反馈。
后续步骤
- 了解如何撰写更实用的提示。