

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon Q Developer 產生完整的函式
<a name="full-function-generation"></a>

Amazon Q 可以根據您撰寫的註解產生完整函式。當您完成註解後，Amazon Q 會建議函式簽章。如果您接受建議，Amazon Q 就會自動將游標推進到函式的下一個部分，並提出建議。即使您在建議之間輸入額外的註解或程式碼行，Amazon Q 將會根據您的輸入重構。

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

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


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

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


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

在下列範例中，使用者會根據一組註解產生並編輯完整函式。

![\[完整函式產生功能的範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/javascript_lambda_FullFunctionGeneration.gif)


在下圖中，使用者撰寫了從 Amazon S3 讀取檔案的函數簽名。Amazon Q 隨即建議 `read_from_s3` 方法的完整實作。

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


**注意**  
有時就像上述範例所示，Amazon Q 會在其建議中包含 `import` 陳述。最佳做法是將這些 `import` 陳述式手動移至檔案開頭。

下圖顯示另一個範例，使用者已撰寫函數簽名。Amazon Q 隨即建議 `quicksort` 方法的完整實作。

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


Amazon Q 提出建議時，會考慮過去的程式碼片段。在下圖中，上述範例中的使用者已接受上方的 `quicksort` 建議實作。隨後，使用者針對一般 `sort` 方法撰寫了另一個函數簽名。Amazon Q 隨即根據已編寫的內容建議實作。

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


在下圖中，使用者撰寫了註解。Amazon Q 隨即根據此註解建議函式簽章。

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


在下圖中，上述範例中的使用者已接受建議的函數簽名。Amazon Q 就能隨即建議完整的 `binary_search` 函式實作。

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


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

下列清單包含 Amazon Q 如何提供建議，並引導您完成整個函式建立過程的範例。

1. 在下列範例中，使用者輸入了註解。Amazon Q 建議函式簽章。

   使用者接受該建議後，Amazon Q 就會建議函式主體。  
![\[從註解產生函數範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/cw-c9-function-from-comment.gif)

1. 在下圖中，使用者在接受 Amazon Q 的建議之前，於函式主體中輸入註解。在下一行，Amazon Q 會根據註解產生建議。  
![\[從現有程式碼區塊內的註解產生函數範例。\]](http://docs.aws.amazon.com/zh_tw/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_tw/amazonq/latest/qdeveloper-ug/images/c-sharp-full-function.gif)


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

在下列範例中，Amazon Q 會根據使用者的 docstring 產生函式。

![\[完整函式完成功能的範例。\]](http://docs.aws.amazon.com/zh_tw/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_tw/amazonq/latest/qdeveloper-ug/images/python_pycharm_fullfunction_unittests.GIF)


下列清單包含 Amazon Q 如何提供建議，並引導您完成整個函式建立過程的範例。

1. 在下圖中，使用者已輸入註解。位於註解下方的函式簽章是 Amazon Q 提供的建議。  
![\[alt_text\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/cw-jb-comment-062022.png)

1. 在下圖中，使用者已接受 Amazon Q 的函式簽章建議。接受建議後，游標就會自動前進，而 Amazon Q 已針對函式主體提出新的建議。  
![\[alt_text\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/cw-jb-commentfunctionadvance-062022.png)

1. 在下圖中，使用者在接受 Amazon Q 的建議之前，於函式主體中輸入了註解。在下一行，Amazon Q 已根據註解的內容產生新的建議。  
![\[根據註解的內容產生新的建議\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/cw-jb-commentfunction-062022.png)

在此範例中，Amazon Q 會在使用者輸入部分簽章後，建議完整函式。

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


------