

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

# 使用 Amazon Q 开发者版生成完整函数
<a name="full-function-generation"></a>

Amazon Q 可以根据您编写的注释生成完整函数。在您完成注释后，Amazon Q 会提出函数签名建议。如果接受此建议，Amazon Q 会自动将光标移到函数的下一部分并提出建议。即使您在建议之间输入了其他注释或代码行，Amazon Q 也会根据这些输入进行重构。

------
#### [ C ]

![\[使用 C 的完整函数完成的示例。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/full-function-completion-c-plus.gif)


------
#### [ C\$1\$1 ]

![\[使用 C++ 的完整函数完成的示例。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/full-function-completion-c-plus.gif)


------
#### [ JavaScript ]

在以下示例中，用户根据一组注释生成完整函数，然后进行编辑。

![\[完整函数生成功能的示例。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/javascript_lambda_FullFunctionGeneration.gif)


在下图中，用户写入了一个用于从 Amazon S3 读取文件的函数签名。Amazon Q 随后提出了 `read_from_s3` 方法的完整实现建议。

![\[\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whisper-function-read-from-s3.png)


**注意**  
有时，如上例所示，Amazon Q 会在建议中包含 `import` 语句。建议将这些 `import` 语句手动移动到文件顶部。

再举一个例子，在下图中，用户编写了一个函数签名。Amazon Q 随后提出了 `quicksort` 方法的完整实现建议。

![\[\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whisper-function-quicksort.png)


Amazon Q 在提出建议时会考虑过去的代码片段。在下图中，上例中的用户已经接受了上面有关 `quicksort` 的建议实现方法。然后，用户为泛型 `sort` 方法编写了另一个函数签名。Amazon Q 随后根据已经编写的内容提出了一个实现建议。

![\[\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whisper-function-from-context-sort.png)


在下图中，用户编写了一条注释。根据这条注释，Amazon Q 随后提出了一个函数签名建议。

![\[\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whisper-comment-binary-search.png)


在下图中，上例中的用户已经接受了建议的函数签名。然后 Amazon Q 提出了 `binary_search` 函数的完整实现建议。

![\[\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/whisper-function-binary-search.png)


------
#### [ Java ]

以下列表包含 Amazon Q 如何提出建议并引导您完成创建函数的整个过程的示例。

1. 在下面的示例中，用户输入了注释。Amazon Q 提出了函数签名建议。

   在用户接受该建议后，Amazon Q 会提出函数主体建议。  
![\[通过注释生成的函数示例。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/cw-c9-function-from-comment.gif)

1. 在下图中，用户在接受 Amazon Q 的建议之前于函数主体中输入注释。在下行中，Amazon Q 根据注释生成建议。  
![\[通过现有代码块内的注释生成的函数示例。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/cw-c9-function-from-comment-within-block.gif)

------
#### [ C\$1 ]

在以下示例中，Amazon Q 提出了完整函数建议。

![\[Function declaration for ListTables with AmazonDynamoDBClient parameter in code editor.\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/c-sharp-full-function.gif)


------
#### [ TypeScript ]

在以下示例中，Amazon Q 根据用户的文档字符串生成了函数。

![\[完整函数完成功能的示例。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/typescript_vscode_function.gif)


------
#### [ Python ]

Amazon Q 可以根据您编写的注释生成完整函数。在您完成注释后，Amazon Q 会提出函数签名建议。如果接受此建议，Amazon Q 会自动将光标移到函数的下一部分并提出建议。即使您在建议之间输入了其他注释或代码行，Amazon Q 也会根据这些输入进行重构。

在以下示例中，Amazon Q 既生成了完整函数，又生成了相应的单元测试。

![\[完整函数完成功能的示例。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/python_pycharm_fullfunction_unittests.GIF)


以下列表包含 Amazon Q 如何提出建议并引导您完成创建函数的整个过程的示例。

1. 在下图中，用户输入了注释。位于评论下方的函数签名是来自 Amazon Q 的建议。  
![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/cw-jb-comment-062022.png)

1. 在下图中，用户接受了 Amazon Q 关于函数签名的建议。接受该建议使光标自动向前移动，Amazon Q 针对函数主体提出了新的建议。  
![\[alt_text\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/cw-jb-commentfunctionadvance-062022.png)

1. 在下图中，用户在接受 Amazon Q 的建议之前于函数主体中输入注释。在下行中，Amazon Q 根据注释内容生成了新建议。  
![\[根据注释内容生成新建议\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/cw-jb-commentfunction-062022.png)

在此示例中，Amazon Q 在用户键入部分签名后提出了完整函数建议。

![\[完整函数功能的示例。\]](http://docs.aws.amazon.com/zh_cn/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_fullfunction.gif)


------