

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Amazon Q 开发者版生成内联建议
<a name="inline-suggestions"></a>

Amazon Q 可以实时为您提供代码建议。在您编写代码时，Amazon Q 会自动根据您现有的代码和注释生成建议。从单行注释建议到完整的函数，它可为您提供各种大小和范围的个性化建议。

开始输入单行代码或命令时，Amazon Q 会根据您当前和之前的输入提出建议。文件名也被考虑在内。

当您下载 Amazon Q 扩展程序时，系统会自动启用内联建议。首先，请开始编写代码，然后 Amazon Q 将开始生成代码建议。

您还可以根据软件开发团队的内部库、专有算法技术和企业代码风格自定义 Amazon Q 生成的建议。

**Topics**
+ [暂停使用 Amazon Q 获取建议](#toggling-suggestions)
+ [Amazon Q 代码补全的实际运用](#what-is-walkthrough)
+ [在 AWS 编码环境中生成内联建议](setting-up-AWS-coding-env.md)
+ [使用快捷键](actions-and-shortcuts.md)
+ [使用代码引用](code-reference.md)
+ [代码示例](inline-suggestions-code-examples.md)

## 暂停使用 Amazon Q 获取建议
<a name="toggling-suggestions"></a>

选择您的 IDE，查看在 Amazon Q 中暂停和恢复内联代码建议的步骤。

------
#### [ Visual Studio Code ]

1. 在 VS Code 中，从 IDE 窗口底部的组件托盘中选择 **Amazon Q**。

   Amazon Q 任务栏将在 IDE 窗口的顶部打开。

1. 选择**暂停自动建议**或**恢复自动建议**。

下图显示了 VS Code 中的 Amazon Q 任务栏。

![\[VS Code 中的 Amazon Q 任务栏。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/VSC-taskbar.png)


------
#### [ JetBrains ]

1. 在 JetBrains 中，选择 IDE 窗口底部状态栏中的 **Amazon Q**。

   Amazon Q 任务栏将在状态栏上方打开。

1. 选择**暂停自动建议**或**恢复自动建议**。

下图显示了 JetBrains IDE 中的 Amazon Q 任务栏。

![\[JetBrains IDE 中的 Amazon Q 任务栏。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/JB-taskbar.png)


------
#### [ Eclipse ]

1. 在 Eclipse IDE 中，选择 IDE 右上角的 **Amazon Q** 图标。

1. 打开 Amazon Q 聊天选项卡后，选择选项卡右上角的省略号图标。Amazon Q 任务栏将打开。

   下图显示了 Eclipse IDE 中的 Amazon Q 任务栏。  
![\[Eclipse IDE 中的 Amazon Q 任务栏。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/eclipse-taskbar.png)

1. 选择**暂停自动建议**或**恢复自动建议**。

------
#### [ Visual Studio ]

1. 从窗口的边缘，选择 Amazon Q 图标。

1. 选择**暂停自动建议**或**恢复自动建议**。

下图显示了 Visual Studio 中的 Amazon Q 任务栏。

![\[Visual Studio 中的“开发者工具”菜单。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/vstudio-toggle-suggestions.png)


------
#### [ AWS Cloud9 ]

Amazon Q 不支持在 AWS Cloud9中启用和暂停建议。

要停止在中接收 Amazon Q 建议 AWS Cloud9，请 AWS Cloud9 从您正在使用的角色或用户中移除授予 Amazon Q 访问权限的 IAM 政策 AWS Cloud9。

------
#### [ AWS Lambda ]

在 Lambda 中停用或重新激活 Amazon Q 代码建议：

1. 在 Lambda 控制台中，打开特定 Lambda 函数的屏幕。

1. 在**代码源**部分的工具栏中，选择**工具**。

1. 从下拉菜单中选择 **Amazon Q 代码建议**。

------
#### [ Amazon SageMaker AI Studio ]

1. 在 SageMaker AI Studio 控制台中，从窗口底部选择 Amazon Q。

   Amazon Q 面板将打开。

1. 选择**暂停自动建议**或**恢复自动建议**。

------
#### [ JupyterLab ]

1. 在 JupyterLab 控制台中，从窗口底部选择 Amazon Q。

   Amazon Q 面板将打开。

1. 选择**暂停自动建议**或**恢复自动建议**。

------
#### [ AWS Glue Studio Notebook ]

1. 在 AWS Glue Studio Notebook 控制台中，从窗口底部选择 Amazon Q。

   Amazon Q 面板将打开。

1. 选择**暂停自动建议**或**恢复自动建议**。

------

## Amazon Q 代码补全的实际运用
<a name="what-is-walkthrough"></a>

本节演示 Amazon Q 如何帮助您编写完整的应用程序。此应用程序会创建一个 Amazon S3 存储桶和一个 Amazon DynamoDB 表，以及一个验证这两个任务的单元测试。

在这里，Amazon Q 可以帮助开发者选择要导入的库。使用箭头键，开发者可以在多个建议之间切换。

![\[代码块完成功能的示例。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-1.gif)


在这里，开发者输入一条注释，描述他们打算在下一行写的代码。

Amazon Q 正确地预测了要调用的方法。开发者可以使用 Tab 键接受建议。

![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-2.png)


在这里，开发者准备定义常量。

Amazon Q 正确预测第一个常数将是 `REGION`，其值将是 `us-east-1`，这是默认值。

![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-3.png)


在这里，开发者准备编写代码，以打开用户与 Amazon S3 和 DynamoDB 之间的会话。

熟悉 AWS APIs 和 SDKs的 Amazon Q 建议了正确的格式。

![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-4.1.png)


开发者只是写下了将创建存储桶的函数的名称。但是基于此（和背景），Amazon Q提供了完整的功能，并带有 try/except 子句。

注意 `TEST_BUCKET_NAME, which is a constant declared earlier in the same file.` 的使用

![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-5.png)


开发者才刚刚开始输入将创建 DynamoDB 表的函数的名称，而 Amazon Q 已经清楚这是怎么回事。

请注意，该建议考虑了之前创建的 DynamoDB 会话，甚至在注释中提到了这一点。

![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-6.png)


当 Amazon Q 提议完成时，开发者只不过刚刚写下单元测试类的名称。

请注意对前面在同一个文件中创建的两个函数的内置引用。

开发者才刚刚开始输入将创建 DynamoDB 表的函数的名称，而 Amazon Q 已经清楚这是怎么回事。

请注意，该建议考虑了之前创建的 DynamoDB 会话，甚至在注释中提到了这一点。

![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-7.png)


仅根据注释和上下文，Amazon Q 提供了整个主要函数。

![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-8.1.png)


剩下的只是主要防护，Amazon Q 知道这一点。

仅根据注释和上下文，Amazon Q 提供了整个主要函数。

![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-9.png)


最后，开发者在进行编码的同一 IDE 的终端上运行单元测试。

![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whatis-demo-10.png)
