

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Q Developer によるインライン提案の生成
<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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/amazonq/latest/qdeveloper-ug/images/whatis-demo-1.gif)


ここでは、デベロッパーが次の行に書き込むコードについて説明するコメントを入力します。

Amazon Q は、呼び出されるメソッドを正しく予測します。デベロッパーは、タブキーを使用して提案を受け入れることができます。

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


ここでは、デベロッパーは定数を定義する準備をします。

Amazon Q は、最初の定数が `REGION` になり、その値がデフォルトである `us-east-1` になると正しく予測します。

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


ここでは、デベロッパーは、ユーザーと Amazon S3 と DynamoDB の両方の間でセッションを開くコードを作成する準備をします。

Amazon Q は、 AWS APIsと SDKs、正しい形式を提案します。

![\[alt_text\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/amazonq/latest/qdeveloper-ug/images/whatis-demo-5.png)


デベロッパーは、DynamoDB テーブルを作成する関数の名前を入力し始めたばかりです。しかし、Amazon Q はこれがどこに向かっているかがわかっています。

提案は、先に作成した DynamoDB セッションを考慮しており、コメントでもそれに言及しています。

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


デベロッパーがユニットテストクラスの名前を記述するだけで、Amazon Q によりユニットテストクラスの補完が提案されました。

同じファイルで前に作成した 2 つの関数への組み込みリファレンスに注目してください。

デベロッパーは、DynamoDB テーブルを作成する関数の名前を入力し始めたばかりです。しかし、Amazon Q はこれがどこに向かっているかがわかっています。

提案は、先に作成した DynamoDB セッションを考慮しており、コメントでもそれに言及しています。

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


コメントとコンテキストのみに基づいて、Amazon Q はメイン関数全体を生成します。

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


残っているのはメインガードだけで、Amazon Q はそのことを理解しています。

コメントとコンテキストのみに基づいて、Amazon Q はメイン関数全体を生成します。

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


最後に、デベロッパーはコーディングが行われたのと同じ IDE のターミナルからユニットテストを実行します。

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


# AWS コーディング環境でインライン提案を生成する
<a name="setting-up-AWS-coding-env"></a>

Amazon Q Developer は、サードパーティーの IDE に加えて、独自のコーディング環境を提供する AWS のサービス内でインライン提案を生成できます。

以下のセクションでは、統合された AWS のサービス内で Amazon Q のインラインコードの提案を設定する方法について説明します。

**注記**  
エンタープライズの一部として Amazon Q を使用している場合は、Amazon Q Developer Pro を使用することになります。この場合、組織の管理者は、コーディングを開始する前に追加のステップを完了する必要があります。詳細については、「[Amazon Q Developer の使用開始](getting-started-q-dev.md)」を参照してください。

**Topics**
+ [Amazon SageMaker AI Studio での Amazon Q Developer の使用](sagemaker-setup.md)
+ [JupyterLab での Amazon Q Developer の使用](jupyterlab-setup.md)
+ [Amazon EMR Studio での Amazon Q Developer の使用](emr-setup.md)
+ [AWS Glue Studio での Amazon Q Developer の使用](glue-setup.md)
+ [での Amazon Q Developer の使用 AWS Lambda](lambda-setup.md)
+ [Amazon Q Developer を他のサービスと併用する](other-setup.md)

# Amazon SageMaker AI Studio での Amazon Q Developer の使用
<a name="sagemaker-setup"></a>

Amazon SageMaker AI Studio 内で Amazon Q とチャットできます。また、コードを書くときに、コードの提案を自動的に行うこともできます。

Amazon SageMaker AI Studio で Amazon Q Developer を使用するには、Amazon Q 関連のアクセス許可を SageMaker AI 実行ロールに追加する必要があります。アクセス許可の設定方法は、Amazon Q Developer 無料利用枠と Pro ティアのどちらを使用しているかによって異なります。

 Amazon Q を Amazon SageMaker AI Studio 用にセットアップしてアクティブ化するには、「*Amazon SageMaker AI ユーザーガイド*」の「[Set up Amazon Q Developer for your users](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-jl-admin-guide-set-up.html)」を参照してください。

# JupyterLab での Amazon Q Developer の使用
<a name="jupyterlab-setup"></a>

このページでは、JupyterLab 用の Amazon Q Developer をセットアップしてアクティブ化する方法について説明します。アクティブ化すると、Amazon Q はコードの作成時に自動的にコードの提案を行うことができます。

**注記**  
Python は、Amazon Q が JupyterLab でサポートする唯一のプログラミング言語です。

## JupyterLab のインストール
<a name="jupyterlab-setup-itself"></a>

コンピュータに [JupyterLab](https://pypi.org/project/jupyterlab) をインストールします。JupyterLab が既にインストールされている場合は、次のコマンドを実行してバージョンを確認します。

```
pip show jupyterlab
```

レスポンスの バージョンを書き留め、以下のセクションのいずれかの対応する指示に従ってください。

## Jupyter Lab バージョン 4.0 以降での pip を使用したインストール
<a name="jupyterlab-setup-pip-v4"></a>

次のコマンドを使用して、JupyterLab 4 の Amazon Q 拡張機能をインストールして有効化できます。

```
# JupyterLab 4
pip install amazon-q-developer-jupyterlab-ext
```

## Jupyter Lab バージョン 3.6 以降 4.0 未満での pip を使用したインストール
<a name="jupyterlab-setup-pip-v3"></a>

次のコマンドを使用して、JupyterLab 3 の Amazon Q 拡張機能をインストールして有効化できます。

```
# JupyterLab 3
pip install amazon-q-developer-jupyterlab-ext~=3.0
jupyter server extension enable amazon-q-developer-jupyterlab-ext
```

## による認証 AWS ビルダー ID
<a name="jupyterlab-setup-bid"></a>

次の手順では、Amazon Q を有効化する際の認証に使用する Builder ID を設定します。

1. JupyterLab を使用しているブラウザタブを更新します。

1. ウィンドウの下部にある Amazon Q パネルから、**開始方法**を選択します。

1. ポップアップウィンドウで、**[コードをコピーして進む]** を選択します。

1. **開始方法**ページで、E メールアドレスまたは Google アカウントを使用して Builder ID にサインインまたはサインアップします。詳細については、「[個人アカウント (Builder ID) を使用した開始方法](getting-started-builderid.md)」を参照してください。

   Builder ID を既に持っている場合は、**[リクエストを承認]** ページに関するステップに進みます。

1. E メールの確認コードを受け取ったら、空白のフィールドに入力し、**[検証]** を選択します。

1. 次の画面で、パスワードを選択して確認し、**[ AWS ビルダー IDを作成]** を選択します。

1. 次のページで、Amazon Q がデータにアクセスすることを許可する **[許可]** を選択します。

これで、Builder ID を使用して JupyterLab の Amazon Q にログインしているはずです。

コーディングを開始するには、「[ショートカットキーの使用](actions-and-shortcuts.md)」を参照してください。

![\[JupyterLab での Amazon Q の使用例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/qdev-demo-example.png)


# Amazon EMR Studio での Amazon Q Developer の使用
<a name="emr-setup"></a>

このページでは、Amazon EMR Studio 用の Amazon Q Developer をセットアップしてアクティブ化する方法について説明します。アクティブ化すると、Amazon Q は ETL コードの作成時に自動的にコードの提案を行うことができます。

**注記**  
Amazon Q は Python をサポートしています。Python は、Amazon EMR Studio の Spark ジョブの ETL スクリプトのコーディングに使用できます。

Amazon Q と連携するように Amazon EMR Studio を設定する手順は次のとおりです。

1. [Amazon EMR Studio ノートブック](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-create.html)を設定します。

1. Amazon EMR Studio ノートブックの IAM ユーザーロールに次のポリシーをアタッチします。
**注記**  
`codewhisperer` プレフィックスは、Amazon Q Developer とマージされたサービスのレガシー名です。詳細については、「[Amazon Q Developer の名称変更 - 変更の概要](service-rename.md)」を参照してください。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AmazonQDeveloperPermissions",
               "Effect": "Allow",
               "Action": [
                   "codewhisperer:GenerateRecommendations"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. [Amazon EMR コンソール](https://console.aws.amazon.com/emr)を開きます。

1. Amazon EMR Studio で、**[Workspaces (ノートブック)]** を選択します。

1. WorkSpace を選択し、**[削除]** を選択します。

# AWS Glue Studio での Amazon Q Developer の使用
<a name="glue-setup"></a>

このページでは、[AWS Glue Studio ノートブック](https://docs.aws.amazon.com/glue/latest/ug/notebooks-chapter.html)で Amazon Q Developer をセットアップしてアクティブ化する方法について説明します。アクティブ化すると、Amazon Q は ETL コードの作成時に自動的にコードの提案を行うことができます。

**注記**  
Amazon Q は、Python と Scala の両方をサポートしています。これは、 AWS Glue Studio の Spark ジョブの ETL スクリプトのコーディングに使用される 2 つの言語です。

次の手順では、Amazon Q と連携 AWS Glue するように を設定します。

1. [AWS Glue Studio Notebook を](https://docs.aws.amazon.com/glue/latest/ug/notebook-getting-started.html)セットアップします。

1. Glue Studio ノートブックの IAM ロールに次のポリシーをアタッチします。
**注記**  
`codewhisperer` プレフィックスは、Amazon Q Developer とマージされたサービスのレガシー名です。詳細については、「[Amazon Q Developer の名称変更 - 変更の概要](service-rename.md)」を参照してください。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AmazonQDeveloperPermissions",
               "Effect": "Allow",
               "Action": [
                   "codewhisperer:GenerateRecommendations"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. [Glue コンソール](https://console.aws.amazon.com/glue)を開きます。

1. **[ETL ジョブ]** で、**[ノートブック]** を選択します。

1. **[Jupyter Notebook]** が選択されていることを確認します。**[作成]** を選択します。

1. **[Job name]** (ジョブ名) を入力します。

1. IAM ロールの場合は、Amazon Q とやり取りするように設定したロールを選択します。

1. **[ノートブックの開始]** を選択します。

# での Amazon Q Developer の使用 AWS Lambda
<a name="lambda-setup"></a>

このドキュメントでは、Lambda コンソールで Amazon Q Developer をアクティブ化する方法を説明します。アクティブ化されると、Amazon Q により、Lambda コードエディタで関数を開発する際に、推奨コードの提案がオンデマンドで行われます。

**注記**  
Lambda コンソールでは、Amazon Q は Python と Node.js ランタイムを使用する関数のみをサポートします。

## AWS Identity and Access Management Lambda の アクセス許可
<a name="lambda-q-dev-IAM-policies"></a>

 Lambda コンソールで Amazon Q が提案を行えるようにするには、IAM ユーザーまたは IAM ロールに対して適切な IAM アクセス許可を有効にする必要があります。次の IAM ポリシーの例で示すように、`codewhisperer:GenerateRecommendations` アクセス許可を追加する必要があります。

**注記**  
`codewhisperer` プレフィックスは、Amazon Q Developer とマージされたサービスのレガシー名です。詳細については、「[Amazon Q Developer の名称変更 - 変更の概要](service-rename.md)」を参照してください。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AmazonQDeveloperPermissions",
      "Effect": "Allow",
      "Action": ["codewhisperer:GenerateRecommendations"],
      "Resource": "*"
    }
  ]
}
```

------

IAM ポリシーを使用して IAM プリンシパルに制限的なアクセス許可をグラントするのがベストプラクティスです。の IAM の使用の詳細については AWS Lambda、「 *AWS Lambda デベロッパーガイド*」の[「 での Identity and Access Management AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/security-iam.html)」を参照してください。

## Lambda での Amazon Q Developer のアクティブ化
<a name="lambda-activation"></a>

Lambda コンソールのコードエディタで Amazon Q を有効にするには、次の手順を実行します。

1. Lambda コンソールの[関数ページ](https://console.aws.amazon.com/lambda/home#/functions)を開いて、編集する関数を選択します。

1. コードエディタに入力すると、Amazon Q からの自動コード提案がデフォルトで有効になります。提案を一時停止するには、**[コードソース]** パネルの左下隅にある **Amazon Q** を選択します。コマンドパレットが [コードソース] パネルの上部に表示されます。そこから、**[自動提案を一時停止]** を選択します。

ショートカットキーについては、「[ショートカットキーの使用](actions-and-shortcuts.md)」を参照してください。

# Amazon Q Developer を他のサービスと併用する
<a name="other-setup"></a>

## AWS Identity and Access Management 他の サービスの アクセス許可
<a name="q-dev-IAM-policies-other"></a>

 他のサービスのコンテキストで Amazon Q から提案を行うには、IAM ユーザーまたは IAM ロールに対して正しい IAM アクセス許可を有効にする必要があります。次の IAM ポリシーの例で示すように、`codewhisperer:GenerateRecommendations` アクセス許可を追加する必要があります。

**注記**  
`codewhisperer` プレフィックスは、Amazon Q Developer とマージされたサービスのレガシー名です。詳細については、「[Amazon Q Developer の名称変更 - 変更の概要](service-rename.md)」を参照してください。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AmazonQDeveloperPermissions",
      "Effect": "Allow",
      "Action": ["codewhisperer:GenerateRecommendations"],
      "Resource": "*"
    }
  ]
}
```

------

IAM ポリシーを使用して IAM プリンシパルに制限的なアクセス許可をグラントするのがベストプラクティスです。詳細については、「*IAM ユーザーガイド*」の「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

# ショートカットキーの使用
<a name="actions-and-shortcuts"></a>

Amazon Q からインラインの提案を取得するときは、Amazon Q の起動や提案の受け入れなど、一般的なアクションにキーボードショートカットを使用できます。

コードを作成している統合開発環境 (IDE) を選択すると、IDE のキーボードショートカットを確認できます。

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


| [Action] (アクション) | キーボードショートカット | 
| --- | --- | 
|  Amazon Q を手動で開始する  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  提案を受け入れる  |  タブ  | 
|  次の提案  |  右矢印  | 
|  前の提案  |  左矢印  | 
|  提案を拒否する  |  ESC、バックスペース、または入力を続けて文字が一致しなくなり次第、提案は表示されなくなります。  | 
|  次の単語を受け入れる  |  コマンド \$1 右矢印  | 

VS Code のキーバインドを変更するには、VS Code ウェブサイトの「[Key Bindings for Visual Studio Code ](https://code.visualstudio.com/docs/getstarted/keybindings)」を参照してください。

**注記**  
VS Code のインライン提案ツールバーは、デフォルトで無効になっています。詳細については、VS Code ウェブサイトの「[Redesigned inline suggestions toolbar](https://code.visualstudio.com/updates/v1_75#_redesigned-inline-suggestions-toolbar)」を参照してください。

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


| [Action] (アクション) | キーボードショートカット | 
| --- | --- | 
|  Amazon Q を手動で開始する  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  提案を受け入れる  |  タブ  | 
|  次の提案  |  右矢印  | 
|  前の提案  |  左矢印  | 
|  提案を拒否する  |  ESC、バックスペース、または入力を続けて文字が一致しなくなり次第、提案は表示されなくなります。  | 

IntelliJ のキーバインドを変更するには、JetBrains ウェブサイトの「[IntelliJ IDEA keyboard shortcuts](https://www.jetbrains.com/help/idea/mastering-keyboard-shortcuts.html)」を参照してください。

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


| [Action] (アクション) | キーボードショートカット | 
| --- | --- | 
|  Amazon Q を手動で開始する  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  提案を受け入れる  |  タブ  | 
|  次の提案  |  MacOS: Option \$1 ] Windows: Alt \$1 ]  | 
|  前の提案  |  MacOS: Option \$1 [ Windows: Alt \$1 [  | 
|  提案を拒否する  |  ESC、バックスペース、または入力を続けて文字が一致しなくなり次第、提案は表示されなくなります。  | 

Eclipse でキー割り当てを変更するには、Eclipse のドキュメントで「[Changing the Key Bindings](https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftkeybindings.htm)」を参照してください。

------
#### [ Toolkit for Visual Studio ]


| [Action] (アクション) | キーボードショートカット | 
| --- | --- | 
|  Amazon Q を手動で開始する キーバインドの `AWSToolkit.CodeWhisperer.GetSuggestion`  |  Windows: Alt \$1 C  | 
|  提案を受け入れる  |  タブ  | 
|  次の提案 キーバインドの `Edit.NextSuggestion`  |  Windows: Alt \$1 .  | 
|  前の提案 キーバインドの `Edit.PreviousSuggestion`  |  Windows: Alt \$1 ,  | 
|  提案を拒否する  |  ESC、バックスペース、または入力を続けて文字が一致しなくなり次第、提案は表示されなくなります。  | 

Microsoft の [Visual Studio のデフォルトキーボードショートカット](https://visualstudio.microsoft.com/keyboard-shortcuts.pdf)も参照してください。

Visual Studio でキーバインドを変更するには、[ツール] -> [オプション] -> [キーボード] を使用します。

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


| [Action] (アクション) | キーボードショートカット | 
| --- | --- | 
|  Amazon Q を手動で開始する  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  提案を受け入れる  |  タブ  | 
|  次の提案  |  下矢印  | 
|  前の提案  |  上矢印  | 
|  提案を拒否する  |  ESC  | 

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


| [Action] (アクション) | キーボードショートカット | 
| --- | --- | 
|  Amazon Q を手動で開始する  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  提案を受け入れる  |  タブ  | 
|  次の提案  |  下矢印  | 
|  前の提案  |  上矢印  | 
|  提案を拒否する  |  ESC  | 

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


| [Action] (アクション) | キーボードショートカット | 
| --- | --- | 
|  Amazon Q を手動で開始する  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  提案を受け入れる  |  タブ  | 
|  次の提案  |  下矢印  | 
|  前の提案  |  上矢印  | 
|  提案を拒否する  |  ESC  | 

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


| [Action] (アクション) | キーボードショートカット | 
| --- | --- | 
|  コード提案を手動で取得  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  提案の受け入れ  |  タブ  | 
|  提案の拒否  |  ESC、バックスペース、任意の方向へのスクロール、入力の続行により、提案は自動的に消えます。  | 

キーバインドを変更する手順は次のとおりです。

1. 特定の関数を表示しながら、歯車アイコンをクリックして、**[環境設定]** タブを開きます。

1. **[設定]** タブで、**[キー割り当て]** を選択します。

1. キーバインド検索ボックスに「Amazon Q」と入力します。

![\[Keybindings settings in AWS Cloud9 IDE with Amazon CodeWhisperer option highlighted.\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/CWSPR-Lambda-keybinding-settings.png)


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


| [Action] (アクション) | キーボードショートカット | 
| --- | --- | 
|  コード提案を手動で取得  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  提案の受け入れ  |  タブ  | 
|  提案の拒否  |  ESC、バックスペース、任意の方向へのスクロール、入力の続行により、提案は自動的に消えます。  | 

1. 特定の環境を表示しながら、歯車アイコンをクリックして、**[環境設定]** タブを開きます。

1. **[設定]** タブで、**[キー割り当て]** を選択します。

1. キーバインド検索ボックスに「Amazon Q」と入力します。

1. Keystroke 列で、関心のある関数に対応するスペースをダブルクリックします。

1. 関数を割り当てるキーを入力します。

![\[AWS Cloud9 interface showing Keybindings settings with options for keyboard mode and custom keybindings.\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/CWSPR-C9-keybinding-settings.png)


------

# コードリファレンスの使用
<a name="code-reference"></a>

Amazon Q は、オープンソースプロジェクトからも、ある程度学習します。提案が公開されているコードに似ている場合があります。コードリファレンスには、提案の生成に使用されるソース Amazon Q に関する情報が含まれます。

**Topics**
+ [コードリファレンスの表示と更新](#show-code-reference)
+ [コードリファレンスのオンとオフの切り替え](#toggle-code-reference)
+ [リファレンスを含むコードからオプトアウトする](#opt-out-code-reference)

## コードリファレンスの表示と更新
<a name="show-code-reference"></a>

リファレンスログを使用すると、公開されているコードに似たコード提案へのリファレンスを表示できます。Amazon Q によって出されたコード提案は、更新することも編集することもできます。

IDE を選択すると、コードリファレンスを表示および更新する手順を確認できます。

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

VS Code で Amazon Q リファレンスログを表示する手順は次のとおりです。

1. VS Code と Amazon Q 拡張機能の両方の最新バージョンを使用していることを確認してください。

1. VS Code で、IDE ウィンドウの下部にあるコンポーネントトレイから **[Amazon Q]** を選択します。

   Amazon Q タスクバーが IDE ウィンドウの上部に表示されます。

1. **[コードリファレンスログを開く]** を選択します。

   コードリファレンスログのタブが開きます。コード提案へのリファレンスが一覧表示されます。

次の画像は、Amazon Q タスクバーとコードリファレンスログのタブが開いている様子を示しています。

![\[Visual Studio Code の Amazon Q コードリファレンスログ。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/VSC-coderef.png)


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

JetBrains IDE で Amazon Q リファレンスログを表示する手順は次のとおりです。

1. JetBrains IDE と Amazon Q プラグインの両方の最新バージョンを使用していることを確認してください。

1. JetBrains で、IDE ウィンドウの下部にあるステータスバーから **[Amazon Q]** を選択します。

   Amazon Q タスクバーがステータスバーの上に開きます。

1. **[コードリファレンスログを開く]** を選択します。

   コードリファレンスログのタブが開きます。コード提案へのリファレンスが一覧表示されます。

次の画像は、Amazon Q タスクバーとコードリファレンスログのタブが開いている様子を示しています。

![\[JetBrains の Amazon Q コードリファレンスログ。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/JB-coderef.png)


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

Eclipse IDE で Amazon Q リファレンスログを表示する手順は次のとおりです。

1. Eclipse IDE と Amazon Q プラグインの両方の最新バージョンを使用していることを確認します。

1. Eclipse IDE で、IDE の右上隅にある **Amazon Q** アイコンを選択します。

1. Amazon Q のチャットタブを開いた状態で、タブの右上隅にある省略記号アイコンを選択します。Amazon Q タスクバーが開きます。

   次の図は、Eclipse IDE の Amazon Q タスクバーを示しています。  
![\[Eclipse IDE の Amazon Q タスクバー。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/eclipse-taskbar.png)

1. **[コードリファレンスログを開く]** を選択します。

   コードリファレンスログのタブが開きます。コード提案へのリファレンスが一覧表示されます。

------
#### [ Toolkit for Visual Studio ]

Amazon Q が Toolkit for Visual Studio のリファレンスを含むコードを提案すると、リファレンスタイプが提案の説明に表示されます。

![\[Code snippet showing a function to create a DynamoDB table with 'Products' as the table name.\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/visual-studio-view-code-suggestions.png)


受け入れられた提案で、リファレンスを含むものはすべてリファレンスログに記録されます。

リファレンスログにアクセスするには、 AWS アイコンを選択し、Open **Code Reference Log **を選択します。

受け入れられた提案で、リファレンスを含むものが一覧表示されます。この一覧には以下が含まれます。
+ 提案が受け入れられた場所。これをダブルクリックすると、コード内のその場所に移動します。
+ 関連ライセンス
+ 参照元ソースコード
+ リファレンスに帰属するコードの断片

![\[CodeWhisperer Reference Log output showing accepted recommendation with MIT license.\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/vstudio-reference-log2.png)


------
#### [ AWS Cloud 9 ]

 AWS Cloud 9 で Amazon Q を使用する場合、コード参照はデフォルトでオンになっています。

オフにする、または後でオンに戻す手順は次のとおりです。

1.  AWS Cloud 9 コンソールの左上隅で、 AWS Cloud 9 ロゴを選択します。

1. ドロップダウンメニューから **[環境設定]** を選択します。

   コンソールの右側で、**[環境設定]** タブが開きます。

1. **[環境設定]** タブの **[プロジェクト設定]** にある **[拡張機能]** で、**[AWS Toolkit]** を選択します。

1. **[Amazon Q: コードリファレンスのある提案を含める]** を選択するか、選択解除します。

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

Lambda の Amazon Q はコードリファレンスをサポートしていません。Amazon Q を Lambda で使用すると、リファレンスを含むコード提案は省略されます。

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

SageMaker AI Studio で Amazon Q リファレンスログを表示する手順は次のとおりです。

1. SageMaker AI Studio ウィンドウの下部で、Amazon Q パネルを開きます。

1. **[コードリファレンスログを開く]** を選択します。

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

JupyterLab で Amazon Q リファレンスログを表示する手順は次のとおりです。

1. JupyterLab ウィンドウの下部で、Amazon Q パネルを開きます。

1. **[コードリファレンスログを開く]** を選択します。

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

 AWS Glue Studio Notebook で Amazon Q リファレンスログを表示するには、次の手順を使用します。

1.  AWS Glue Studio Notebook ウィンドウの下部で、Amazon Q パネルを開きます。

1. **[コードリファレンスログを開く]** を選択します。

------

## コードリファレンスのオンとオフの切り替え
<a name="toggle-code-reference"></a>

ほとんどの IDE で、コードリファレンスはデフォルトでオンになっています。IDE を選択すると、コードリファレンスをオンまたはオフにする手順を確認できます。

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

VS Code で Amazon Q を使用すると、コードリファレンスはデフォルトでオンになります。

オフにする、または後でオンに戻す手順は次のとおりです。

1. VS Code と Amazon Q 拡張機能の両方の最新バージョンを使用していることを確認してください。

1. VS Code で、IDE ウィンドウの下部にあるコンポーネントトレイから **[Amazon Q]** を選択します。

   Amazon Q タスクバーが IDE ウィンドウの上部に表示されます。

1. **[設定を開く]** をクリックします。設定タブが開き、Amazon Q に関連するオプションが表示されます。

1. **[リファレンス付きでコードを表示する]** の横にあるチェックボックスをオンまたはオフにします。

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

JetBrains IDE で Amazon Q を使用する場合、コードリファレンスはデフォルトでオンになっています。

オフにする、または後でオンに戻す手順は次のとおりです。

1. JetBrains IDE と Amazon Q プラグインの両方の最新バージョンを使用していることを確認してください。

1. JetBrains で、IDE ウィンドウの下部にあるステータスバーから **[Amazon Q]** を選択します。

   Amazon Q タスクバーがステータスバーの上に開きます。

1. **[設定を開く]** をクリックします。設定ウィンドウが開き、Amazon Q に関連するオプションが表示されます。

1. **[リファレンス付きでコードを表示する]** の横にあるチェックボックスをオンまたはオフにします。

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

Eclipse で Amazon Q を使用すると、コードリファレンスはデフォルトでオンになります。

オフにする、または後でオンに戻す手順は次のとおりです。

1. Eclipse IDE と Amazon Q プラグインの両方の最新バージョンを使用していることを確認します。

1. Eclipse IDE で、**[設定]** を開きます。

1. 左のナビゲーションペインで、**[Amazon Q]** を選択します。

1. **[リファレンス付きでコードを表示する]** の横にあるチェックボックスをオンまたはオフにします。

1. **[適用]** を選択して変更を保存します。

------
#### [ Toolkit for Visual Studio ]

Toolkit for Visual Studio で Amazon Q を使用する場合、コードリファレンスはデフォルトでオンになっています。

オフにする、または後でオンに戻す手順は次のとおりです。

1. Toolkit for Visual Studio の最新バージョンを使用していることを確認します。

1. Visual Studio で、**[オプション]** を開きます。

1. 左のナビゲーションバーで **[AWS Toolkit]** を選択し、**[Amazon Q]** を選択します。

1. **[リファレンス付きで提案を含める]** の横にあるドロップダウンから、[True] または [False] を選択します。

1. **OK** を選択して変更を保存します。

------
#### [ AWS Cloud 9 ]

 AWS Cloud 9 で Amazon Q を使用する場合、コード参照はデフォルトでオンになっています。

オフにする、または後でオンに戻す手順は次のとおりです。

1.  AWS Cloud 9 コンソールの左上隅で、 AWS Cloud 9 ロゴを選択します。

1. ドロップダウンメニューから **[環境設定]** を選択します。

   コンソールの右側で、**[環境設定]** タブが開きます。

1. **[環境設定]** タブの **[プロジェクト設定]** にある **[拡張機能]** で、**[AWS Toolkit]** を選択します。

1. **[Amazon Q: コードリファレンスのある提案を含める]** を選択するか、選択解除します。

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

Lambda の Amazon Q はコードリファレンスをサポートしていません。Amazon Q を Lambda で使用すると、リファレンスを含むコード提案は省略されます。

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

SageMaker AI Studio で Amazon Q を使用する場合、コードリファレンスはデフォルトでオンになっています。

オフにする、または後でオンに戻す手順は次のとおりです。

1. SageMaker AI Studio ウィンドウの上部で、**[設定]** を選択します。

1. **[設定]** ドロップダウンから、**[詳細設定エディタ]** を選択します。

1. Amazon Q ドロップダウンで、**[コードリファレンスを含む提案を有効にする]** の横にあるチェックボックスをオンまたはオフにします。

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

JupyterLab で Amazon Q を使用する場合、コードリファレンスはデフォルトでオンになっています。

オフにする、または後でオンに戻す手順は次のとおりです。

1. JupyterLab ウィンドウの上部から、**[設定]** を選択します。

1. **[設定]** ドロップダウンから、**[詳細設定エディタ]** を選択します。

1. Amazon Q ドロップダウンで、**[コードリファレンスを含む提案を有効にする]** の横にあるチェックボックスをオンまたはオフにします。

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

1.  AWS Glue Studio Notebook ウィンドウの下部から **Amazon Q** を選択します。

1. ポップアップメニューから、**[リファレンスを含むコード]** の横にあるスイッチを切り替えます。

**注記**  
コード参照の一時停止は、現在の AWS Glue Studio ノートブックの期間中のみ有効です。

------

## リファレンスを含むコードからオプトアウトする
<a name="opt-out-code-reference"></a>

一部の IDE では、管理者レベルでリファレンスを含む提案の受け取りからオプトアウトできます。

IDE を選択すると、管理者としてオプトアウトする手順を確認できます。

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

エンタープライズ管理者の場合は、コードリファレンスを含む提案から組織全体でオプトアウトできます。これを行うと、組織内の個々のデベロッパーは IDE を通じてオプトインできなくなります。これらのデベロッパーは、前のセクションで説明したチェックボックスをオンまたはオフにできますが、エンタープライズレベルでオプトアウトしている場合は効果がありません。

エンタープライズレベルでリファレンスを含む提案をオプトアウトする手順は次のとおりです。

1. Amazon Q Developer コンソールで、**[設定]** を選択します。

1. **[Amazon Q Developer アカウントの詳細]** ペインで、**[編集]** を選択します。

1. [詳細の編集] ページの **[詳細設定]** ペインで、**[コードリファレンスを含む提案]** のチェックボックスをオフにします。

1. **[Save changes]** (変更の保存) をクリックします。

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

エンタープライズ管理者の場合は、コードリファレンスを含む提案から組織全体でオプトアウトできます。これを行うと、組織内の個々のデベロッパーは IDE を通じてオプトインできなくなります。これらのデベロッパーは、前のセクションで説明したチェックボックスをオンまたはオフにできますが、エンタープライズレベルでオプトアウトしている場合は効果がありません。

エンタープライズレベルでリファレンスを含む提案をオプトアウトする手順は次のとおりです。

1. Amazon Q Developer コンソールで、**[設定]** を選択します。

1. **[Amazon Q Developer アカウントの詳細]** ペインで、**[編集]** を選択します。

1. [詳細の編集] ページの **[詳細設定]** ペインで、**[コードリファレンスを含む提案]** のチェックボックスをオフにします。

1. **[Save changes]** (変更の保存) をクリックします。

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

エンタープライズ管理者の場合は、コードリファレンスを含む提案から組織全体でオプトアウトできます。これを行うと、組織内の個々のデベロッパーは IDE を通じてオプトインできなくなります。これらのデベロッパーは、前のセクションで説明したチェックボックスをオンまたはオフにできますが、エンタープライズレベルでオプトアウトしている場合は効果がありません。

エンタープライズレベルでリファレンスを含む提案をオプトアウトする手順は次のとおりです。

1. Amazon Q Developer コンソールで、**[設定]** を選択します。

1. **[Amazon Q Developer アカウントの詳細]** ペインで、**[編集]** を選択します。

1. [詳細の編集] ページの **[詳細設定]** ペインで、**[コードリファレンスを含む提案]** のチェックボックスをオフにします。

1. **[Save changes]** (変更の保存) をクリックします。

------
#### [ Toolkit for Visual Studio ]

エンタープライズレベルでリファレンスを含む提案をオプトアウトする手順は次のとおりです。

1. コードリファレンスの設定には、次の 2 つの方法のいずれかでアクセスできます。

   1. ウィンドウの端にある Amazon Q アイコンをクリックし、**[オプション...]** を選択します。

   1. **[ツール]** -> **[AWS Toolkit]** -> **[Amazon Q]** に移動します。

1. リファレンスを含む提案を含めるかどうかに応じて、トグルを **[True]** または **[False]** に変更します。

------
#### [ AWS Cloud 9 ]

Amazon Q in AWS Cloud 9 は、エンタープライズレベルでのリファレンスを使用したコード提案のオプトアウトをサポートしていません。

個々のデベロッパーレベルでオプトアウトするには、「コードリファレンスのオンとオフの切り替え」を参照してください。

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

Lambda の Amazon Q はコードリファレンスをサポートしていません。Amazon Q を Lambda で使用すると、リファレンスを含むコード提案は省略されます。

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

Amazon Q では、SageMaker AI Studio で、リファレンスを含むコード提案からのエンタープライズレベルでのオプトアウトをサポートしていません。

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

Amazon Q では、JupyterLab で、リファレンスを含むコード提案からのエンタープライズレベルでのオプトアウトをサポートしていません。

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

Amazon Q は、 AWS Glue Studio Notebook のリファレンスを使用したコード提案のオプトアウトをサポートしていません。

------

# コードの例
<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/ja_jp/amazonq/latest/qdeveloper-ug/images/single-line-completion-c-plus.gif)


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

この例では、Amazon Q はデベロッパーが開始したコード行を補完します。

![\[単一行補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/javascript_vscode_SingleLine.gif)


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

この例では、ユーザーが完全なコメントを入力し、Amazon Q がそれに従ってコードを提供します。

![\[単一行補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/typescript_vscode_single-line.gif)


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

この例では、Amazon Q はコメントに基づいて 1 行のコードを提案します。

![\[単一行補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/c-sharp-single-line.gif)


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

下の画像では、Amazon Q が 1 行のコードを補完する方法を提案しています。

![\[単一行補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/jb-single-line-shell.gif)


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

単一行のコードを入力し始めると、Amazon Q は現在と以前の入力に基づいて提案を行います。

以下の Java での例では、ユーザーは既存のクラスに `public` の文字列を入力します。

入力に基づき、Amazon Q はメインメソッドの署名の提案を生成します。

![\[単一行補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/cw-c9-single-line-completion.gif)


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

この例では、Amazon Q はデベロッパーのコメントに基づいて 1 行のコードを提案します。

![\[単一行補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/amazonq/latest/qdeveloper-ug/images/full-function-completion-c-plus.gif)


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

![\[C++ を使用した完全な関数補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/full-function-completion-c-plus.gif)


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

次の例では、ユーザーが一連のコメントに基づいて完全な関数を生成し、編集します。

![\[完全な関数生成機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/javascript_lambda_FullFunctionGeneration.gif)


次の画像では、ユーザーが Amazon S3 からファイルを読み取るための関数署名を書いています。その後、Amazon Q は `read_from_s3` メソッドの完全実装を提案します。

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


**注記**  
前述の例のように、時々 Amazon Q は提案の一部として `import` ステートメントを含めることがあります。ベストプラクティスとして、手動でこれらの 「`import`」 ステートメントをファイルの先頭に移動します。

別の例として、次の画像では、ユーザーが関数署名を書いています。その後、Amazon Q は `quicksort` メソッドの完全実装を提案します。

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


Amazon Q は、提案する際に過去のコードスニペットを考慮します。次の画像では、前の例のユーザーが、提案された上記の 「`quicksort`」 の実装を受け入れました。次に、ユーザーはジェネリック 「`sort`」 方法の別の関数署名を書きます。次に、Amazon Q は既に書かれている内容に基づいて実装を提案します。

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


次の画像では、ユーザーがコメントを書いています。このコメントに基づいて、Amazon Q は関数署名を提案します。

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


次の画像では、前の例のユーザーが、提案された関数署名を受け入れました。Amazon Q は、その後 `binary_search` 関数の完全な実装を提案できます。

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


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

以下のリストでは、Amazon Q がどのように提案を行い、関数を作成するプロセス全体を進めるかについての例を挙げます。

1. 次の例では、ユーザーがコメントを入力します。Amazon Q は関数署名を提案します。

   ユーザーがその提案を受け入れると、Amazon Q は関数本文を提案します。  
![\[コメントから生成された関数の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/cw-c9-function-from-comment.gif)

1. 次の図では、Amazon Q からの提案を受け入れる前に、ユーザーが関数の本文にコメントを入力します。次の行で、Amazon Q がコメントに基づいて提案を生成します。  
![\[既存のコードのブロック内のコメントから生成された関数の例。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/amazonq/latest/qdeveloper-ug/images/c-sharp-full-function.gif)


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

次の例では、Amazon Q はユーザーの docstring に基づいて関数を生成します。

![\[完全な関数補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/amazonq/latest/qdeveloper-ug/images/python_pycharm_fullfunction_unittests.GIF)


以下のリストでは、Amazon Q がどのように提案を行い、関数を作成するプロセス全体を進めるかについての例を挙げます。

1. 次の画像では、ユーザーがコメントを入力します。コメントの下にある関数署名は、Amazon Q からの提案です。  
![\[alt_text\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/cw-jb-comment-062022.png)

1. 次の画像では、ユーザーが関数署名の Amazon Q 提案を受け入れています。提案を受け入れるとカーソルが自動的に進み、Amazon Q が関数本文について新しい提案を行います。  
![\[alt_text\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/cw-jb-commentfunctionadvance-062022.png)

1. 下の画像では、Amazon Q からの提案を受け入れる前に、ユーザーが関数の本文にコメントを入力します。次の行で、Amazon Q がコメントの内容に基づいて新しい提案を生成しています。  
![\[コメントの内容に基づいて新しい提案を生成する\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/cw-jb-commentfunction-062022.png)

この例では、ユーザーが署名の一部を入力した後、Amazon Q が完全な関数を提案します。

![\[完全な関数機能の例。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/amazonq/latest/qdeveloper-ug/images/block-completion-c.gif)


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

![\[C++ を使用したブロック補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/block-completion-c-plus.gif)


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

下の例では、ユーザーが `if` ステートメントの署名を入力します。ステートメントの本文は Amazon Q からの提案です。

![\[ブロック補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/cw-c9-block-completion.gif)


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

下の画像では、Amazon Q が関数を完了する方法を提案しています。

![\[ブロック補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/c-sharp-block.gif)


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

下の画像では、Amazon Q が関数を完了する方法を提案しています。

![\[ブロック補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/typescript_vscode_block-completion.gif)


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

この例では、Amazon Q がコンテキストに基づいてコードのブロックを提案します。

![\[コードブロック機能の例。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/amazonq/latest/qdeveloper-ug/images/docstring-completion-c-plus.gif)


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

この例では、Amazon Q は既存の定数に基づいて JSDoc パラメータを入力します。

![\[JSDoc 補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/javascript_vscode_JSDocCompletion.gif)


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

この例では、Amazon Q は既存の定数に基づいて JSDoc パラメータを入力します。

![\[C# での docstring 補完の例。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/amazonq/latest/qdeveloper-ug/images/jb-docstring-java.png)


以下の例は、[Oracle のウェブサイトの例](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html)から引用しています。

以下の Java での例では、ユーザーがドキュメント文字列を入力します。Amazon Q が docstring を処理する関数を提案します。

![\[Javadoc に基づくコード補完の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/cw-c9-javadoc.gif)


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

この例では、Amazon Q は周囲のコンテキストに基づいて docstring を提案します。

![\[docstring 機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_commentblock.gif)


------

# Amazon Q Developer を使用して行ごとの提案を行う
<a name="line-by-line-1"></a>

ユースケースにより、Amazon Q は 1 つの提案で関数ブロック全体を生成できない場合があります。そのような場合でも、Amazon Q は行ごとの提案を行うことができます。

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

この例では、Amazon Q は行ごとの提案を行います。

![\[行ごとの補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/jb-line-by-line-go.gif)


行ごとの提案の別の例を示します。今回はユニットテスト付きです。

![\[行ごとの補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/amazonq/latest/qdeveloper-ug/images/jb-line-by-line-cpp.gif)


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

次の画像では、顧客が Amazon CloudWatch Logs グループにメッセージを発行することを示す最初のコメントを書いています。このコンテキストを考えると、次の画像で示すように、Amazon Q は最初の推奨でクライアント初期化コードを提案することしかできません。

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


ただし、ユーザーが行ごとの提案を要求し続けると、Amazon Q も既に書かれている内容に基づいてコード行を提案し続けます。

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


**注記**  
上記の例では、「`VPCFlowLogs`」 は正しい定数値ではない可能性があります。Amazon Q が提案を行う際には、必要に応じて必ず定数の名前を変更してください。

次の画像で示すように、Amazon Q は最終的にコードブロック全体を完成させることができます。

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


この例では、Amazon Q は一度に 1 行ずつ提案を行います。

![\[行ごとの補完機能の例。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_linebyline.gif)


------