

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

# 程式碼範例
<a name="inline-suggestions-code-examples"></a>

Amazon Q 可在不同情境中建議程式碼。若要了解它如何協助您使用您選擇的程式設計語言編寫程式碼，請檢視下列程式碼範例。

**Topics**
+ [使用 Amazon Q Developer 完成單行程式碼](single-line-completion.md)
+ [使用 Amazon Q Developer 產生完整的函式](full-function-generation.md)
+ [使用 Amazon Q Developer 完成區塊](code-block.md)
+ [使用 Amazon Q Developer 進行 Docstring、JSDoc 和 Javadoc 完成](docstring-javadoc.md)
+ [使用 Amazon Q Developer 提供逐行建議](line-by-line-1.md)

# 使用 Amazon Q Developer 完成單行程式碼
<a name="single-line-completion"></a>

當您開始輸入單行程式碼時，Amazon Q 會根據您目前和之前的輸入內容提供建議。

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

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


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

在此範例中，Amazon Q 會完成開發人員開始的一行程式碼。

![\[單行自動完成功能範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/javascript_vscode_SingleLine.gif)


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

在此範例中，使用者輸入完整的註解，然後 Amazon Q 會配合註解提供程式碼。

![\[單行自動完成功能範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/typescript_vscode_single-line.gif)


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

在此範例中，Amazon Q 會根據註解提供單行建議。

![\[單行完成功能的範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/c-sharp-single-line.gif)


------
#### [ Shell ]

在下圖中，Amazon Q 提供如何完成單行程式碼的建議。

![\[單行自動完成功能範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/jb-single-line-shell.gif)


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

當您開始輸入單行程式碼時，Amazon Q 會根據您目前和之前的輸入內容提供建議。

在下方的 Java 範例中，使用者在現有的類別中輸入了 `public` 字串。

Amazon Q 會根據輸入為主要方法的簽章產生建議。

![\[單行自動完成功能範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/cw-c9-single-line-completion.gif)


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

在此範例中，Amazon Q 會根據開發人員的註解建議單行程式碼。

![\[單行自動完成功能範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_singleline.gif)


------

# 使用 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)


------

# 使用 Amazon Q Developer 完成區塊
<a name="code-block"></a>

區塊自動完成可用於完成 `if/for/while/try` 程式碼區塊。

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

![\[使用 C 的區塊完成功能範例\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/block-completion-c.gif)


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

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


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

在下列範例中，使用者輸入 `if` 陳述式的簽章。陳述式主體是 Amazon Q 提供的建議。

![\[區塊自動完成功能範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/cw-c9-block-completion.gif)


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

在下圖中，Amazon Q 建議完成函式的方法。

![\[區塊自動完成功能範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/c-sharp-block.gif)


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

在下圖中，Amazon Q 建議完成函式的方法。

![\[區塊自動完成功能範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/typescript_vscode_block-completion.gif)


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

在此範例中，Amazon Q 會根據內容建議程式碼區塊。

![\[程式碼區塊功能的範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_codeblock.gif)


------

# 使用 Amazon Q Developer 進行 Docstring、JSDoc 和 Javadoc 完成
<a name="docstring-javadoc"></a>

Amazon Q 可協助您在程式碼內產生或完成文件。

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

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


------
#### [ Javascript ]

在此範例中，Amazon Q 會根據現有的常數填入 JSDoc 參數。

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


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

在此範例中，Amazon Q 會根據現有的常數填入 JSDoc 參數。

![\[在 C3 使用 DocString 完成的範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/c-sharp-docstring.gif)


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

以下範例取自 [Oracle 網站上的範例](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html)。

在下圖中，使用者已開始輸入 docstring。Amazon Q 已建議加入 docstring 中的單字。

![\[建議函式以完成 docstring\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/jb-docstring-java.png)


以下範例取自 [Oracle 網站上的範例](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html)。

在下方的 Java 範例中，使用者輸入了 Docstring。Amazon Q 建議用於處理 docstring 的函式。

![\[根據 Javadoc 自動完成程式碼範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/cw-c9-javadoc.gif)


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

在此範例中，Amazon Q 會根據前後的內容建議 Docstring。

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


------

# 使用 Amazon Q Developer 提供逐行建議
<a name="line-by-line-1"></a>

根據您的使用案例，Amazon Q 可能無法在一個建議中產生完整的函數區塊。不過，Amazon Q 仍然可以提供逐行建議。

------
#### [ Go and GoLand ]

在此範例中，Amazon Q 會提供逐行建議。

![\[逐行完成功能的範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/jb-line-by-line-go.gif)


以下是另一個逐行建議的範例，這次是單元測試。

![\[逐行完成功能的範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/jb-line-by-line-unit-test-go.gif)


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

在此範例中，Amazon Q 會提供逐行建議。

![\[逐行完成功能的範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/jb-line-by-line-cpp.gif)


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

在下圖中，客戶已撰寫初始註解，指出要將訊息發佈到 Amazon CloudWatch Logs 群組。根據此內容，Amazon Q 只能在第一個建議中建議用戶端初始化程式碼，如下圖所示。

![\[\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/whisper-line-by-line-cwlogs-1.png)


不過，如果使用者繼續請求逐行建議，Amazon Q 也會繼續根據已編寫的內容來建議各行程式碼。

![\[\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/whisper-line-by-line-cwlogs-2.png)


**注意**  
在以上範例中，`VPCFlowLogs` 可能不是正確的常數值。當 Amazon Q 提出建議時，別忘了視需要重新命名任何常數。

Amazon Q 最終可完成整個程式碼區塊，如下圖所示。

![\[\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/whisper-line-by-line-cwlogs-3.png)


在此範例中，Amazon Q 會一次一行提供建議。

![\[逐行完成功能的範例。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_linebyline.gif)


------