コード補完
基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を補完するのに役立ちます。
PyCharm はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します。 候補には ライブテンプレートも含まれます。 補完機能は英語以外のキーボードレイアウトでも利用できます。
基本補完を呼び出す
デフォルトでは、PyCharm は入力中に自動的にコード補完ポップアップを表示します。
あるいは、 Ctrl+Space を押すか、メインメニューから を選択することもできます。
基本コード補完を 2 回呼び出すと、依存関係に関係なく、プロジェクト全体のクラス、関数、モジュール、変数の名前が表示されます。
コード補完は カスタムファイルタイプで使用できます。 ただし、PyCharm はそのようなファイルの構造を認識せず、現在のコンテキストに適切かどうかに関係なくオプションを提案します。
リストからの提案を受け入れる
Enter を押すか、該当するリストアイテムをダブルクリックして、キャレットの左側に挿入します。
Tab を押して、キャレットから右にある文字を置き換えます。
Ctrl+Shift+Enter を使用して、現在のコード構成を構文上正しいものにします(括弧のバランス、欠落している中括弧とセミコロンの追加など)。
特定のキーとカスタム文字を使用して、選択した補完候補を承認します。 これらの機能を有効にするには、 エディター | 一般 | コード補完 の設定ページ(Ctrl+Alt+S )に移動し、以下の操作を行ってください。
特定のキーを使用するには、 スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入する チェックボックスをオンにします。 これらのキーは、言語、コンテキストなどによって異なります。
カスタム文字も使用するには、 補完を受け入れるための追加文字 フィールドに文字を入力します。
F-string 補完
通常の文字列リテラルで波括弧を開くと、PyCharm は f-string と同じ補完候補を提供します。 提案されたオプションの 1 つを選択すると、欠落している f 接頭辞と終了波括弧を追加することにより、IDE はリテラルを f-string に自動的に変換します。
モジュール名の補完時に自動インポート
Python コードでモジュールメンバーまたはパッケージを参照してコード補完を呼び出すと、PyCharm は自動的にインポートステートメントを追加します。 コード補完での自動インポートは、 numpy の場合は np、 pandas の場合は pd など、いくつかの一般的なパッケージ名エイリアスにも適用されます。
機械学習による補完ランキング
PyCharm では、他のユーザーが類似の状況で行った選択に基づき補完提案に優先順位を付けることができます。
ML 補完メカニズムは新しい要素を追加するのではなく、コードから取得した要素を順序付けます。 データはどこにも公開されず、ローカルで収集されます。
ML 補完ランキングを有効にする
Ctrl+Alt+S を押して設定を開き、 エディター | 一般 | コード補完 を選択します。
Sort Suggestions with ML で 機械学習に基づいて補完候補を並び替えます。 オプションを有効化し、ML 補完を利用したい言語を選択してください。

関連性マーカーを有効にする
Ctrl+Alt+S を押して設定を開き、 エディター | 一般 | コード補完 を選択します。
次のオプションを有効化してください:
Mark position changes in the completion popup:
および
アイコンを使用して、提案の関連性が増加しているか減少しているかを示し、その結果、提案が候補リストを上下に移動したことを示します。
Mark the most relevant item in the completion popup:
アイコンを使用して、リストで最も適切な提案を示します。
候補リストは次のようになり、アイコンは並べ替えおよび最も関連性の高いアイテムを示します。

コード補完設定の構成
コード補完オプションを構成するには、 エディター | 一般 | コード補完 設定ページ Ctrl+Alt+S に移動します。
次の設定から選択できます:
項目 | 説明 | |
|---|---|---|
大/小文字を区別する | 補完候補で大文字と小文字を考慮するかどうかを選択します。 最初の文字の大文字と小文字を一致させるか、すべての文字を一致させるかを選択します。 | |
Automatically insert single suggestions for | 基本的な型一致補完とスマート型一致補完の候補が 1 つしかない場合は、コードを自動的に補完します。 | |
Sort suggestions alphabetically | 候補リスト内の項目を関連性で並べ替える代わりに、アルファベット順に並べ替えたい場合、選択してください。 この動作は、候補リストの | |
Show suggestions as you type | 補完を明示的に呼び出すことなく、候補リストを自動的に呼び出す場合に選択します。 このオプションはデフォルトで有効になっています。 | |
スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入する | 選択した候補を挿入する場合は、言語、コンテキストなどに依存する特定のキーを入力して選択します。 | |
Show the documentation popup in | 候補リスト内の各項目に対して、ルックアップリストで現在ハイライトされているクラス、メソッド、フィールドのドキュメントを含む ポップアップを自動的に表示します。 このオプションが無効になっている場合は、 Ctrl+Q を押すと要素のドキュメントが表示されます。 右側のフィールドで、ポップアップが表示されるまでの遅延(ミリ秒)を指定してください。 | |
Insert parentheses automatically when applicable | このオプションを有効にすると、関数 / メソッド補完時に、PyCharm によって開き括弧と閉じ括弧のペアが自動的に挿入されます。 括弧の自動挿入を抑制するには、チェックボックスをオフにしてください。 Enter の代わりに開き括弧 Enter の代わりに開き括弧 詳細は、 特定のキーを使用して提案を挿入するを参照してください。 | |
HTML ファイルの操作 | ||
HTML テキストの入力時にタグ名コード補完の自動ポップアップを有効にする | HTML コンテキストでは、山括弧を入力しなくても、デフォルトで PyCharm が補完候補を表示します。 自動ポップアップをオフにするには、チェックボックスをオフにします。 | |
Machine Learning-Assisted Completion | ||
機械学習に基づいて補完候補を並び替えます。 | 機械学習モデルを使用して、最も適切な項目を候補リストの上位に表示したい場合は、このオプションを選択します。 機械学習に基づく提案を有効にする言語を選択してください。 | |
Mark position changes in the completion popup |
| |
Mark the most relevant item in the completion popup |
| |
Python | ||
基本補完でインポート可能な名前を提案する | デフォルトで、PyCharm はトップレベルの名前のインポートを提案します。 これらの提案をオフにするには、チェックボックスをオフにします。 基本コード補完を 2 回呼び出すことで、手動でこれらの提案をトリガーすることもできます。 | |
JavaScript | ||
型ベース補完のみ | デフォルトでは、PyCharm は、型に関係なくシンボルの補完を提案します。 このアプローチでは、複雑な場合、リストに複数の補完バリアントが表示されます。 補完をより正確にするには、このオプションを選択します。 補完リストは、PyCharm の推論に強く依存します。 その結果、推論が不十分な場合にリストが空のままになることがあります。 | |
Null 許容型に対するオプショナルチェイニングの使用を提案 | デフォルトでは、PyCharm は オプショナルチェイニング演算子 (?) でシンボルの補完を提案します。 この動作を抑制するには、このチェックボックスをオフにします。 | |
補完時にメソッド本体をオーバーライド用に展開する | デフォルトでは、親クラスまたはインターフェースのメソッドをオーバーライドして補完候補リストからこのメソッドを選択すると、PyCharm はパラメーターを自動的に追加し、可能であれば このチェックボックスをオフにすると、補完時にオーバーライドのメソッド本体が自動生成されなくなります。 | |
名前の補完 |
| |
パラメーター情報 | ||
パラメーター情報ポップアップを表示する (ミリ秒) | このチェックボックスをオンにすると、エディターで左括弧を入力するか候補リストからメソッドを選択したときに、PyCharm がすべての利用可能なメソッドシグネチャーを含むポップアップを自動表示します。 右側のテキストフィールドで、ポップアップウィンドウが表示されるまでの遅延(ミリ秒)を指定してください。 このチェックボックスが選択されていない場合は、 Ctrl+P を使用してパラメーター情報を表示します。 | |
完全なメソッドシグネチャーを表示する | このチェックボックスをオンにすると、パラメーター情報にメソッド名や返された型などの完全なシグネチャーが表示されます。 | |
SQL | ||
オブジェクトを提案する | オブジェクトが提案される場所を選択します:
![]() ![]() ![]() | |
オブジェクトを修飾する | オブジェクトをデータベース、スキーマ、テーブル・ビュー、ならびにテーブル・ビューのエイリアスで修飾するタイミングを選択します。
![]() ![]() | |
オブジェクトを修飾する | 特定のケースでオブジェクトを修飾するタイミングを選択します。
![]() ![]() | |
JOIN の補完にエイリアスを使用する |
![]() | |
自動生成された ON 句のオペランドの順序を逆にする |
![]() | |
Suggest non-strict foreign keys based on the name matching |
このオプションのデバッグルールの詳細については、 仮想外部キーのデバッグルール を参照してください。 ![]() ![]() | |
テーブル名を補完するときにエイリアスを自動的に追加する | テーブル名のエイリアスを作成します。 ![]() | |
テーブル名の後にエイリアス名を提案 | コード補完(Ctrl+Space )を使用するときにテーブル名のエイリアスを提案します。 ![]() | |
カスタムエイリアス (テーブル) | このテーブルに使用するテーブル名とエイリアスを追加できます。 テーブルとエイリアスのペアを追加するには、 エイリアスの追加 ボタン( | |
補完のヒントとテクニック
コード番号を入力して HTTP 定数を自動補完する
httpなどのインポートされたパッケージ名を指定した後、404と入力して値をhttp.StatusNotFoundに自動補完できます。
候補リストを絞り込む
単語の一部(途中の文字でも可)を入力するか、ドット区切りの後にコード補完を呼び出すことによって、候補リストを絞り込みます。
PyCharm は、入力した文字の位置に関係なく、入力済みの文字列を含む候補を表示します。 これにより、ワイルドカードの使用は不要になります。

CamelCase または snake_case 名の場合は、最初の文字のみを入力してください。 PyCharm は自動的に頭文字を認識して照合します。
リファレンスを表示する
コード階層を表示する
候補リストからエントリを選択すると、コード階層を表示できます。
Ctrl+H: 型階層の表示
Ctrl+Shift+H: メソッドの階層を表示します。
トラブルシューティング
コード補完が機能しない場合は、次のいずれかの理由が考えられます。
省電力モード がオンです()。 これをオンにすると、エラーハイライト、オンザフライインスペクション、コード補完などのバックグラウンド操作を排除してラップトップの電力消費を最小限に抑えられます。
ファイルはコンテンツルート内に存在しないため、コード補完に必要なクラス定義とリソースを取得できません。
詳細については、 プロジェクト構造の設定 を参照してください。
補完候補リストに表示するクラスと関数を含むファイルは、プレーンテキストファイルとしてマークされます。
補完候補リストに表示する関数を含む外部ライブラリは、 依存関係またはグローバルライブラリとして追加されません。
補完オプションの収集に時間がかかりすぎる場合、コード補完ポップアップは自動的に表示されないことがあります。 例: コンピューターが別のタスクでビジー状態の場合。 この場合でも、 Ctrl+Space を介して補完ポップアップを手動でアクティブ化できます。














