GoLand 2020.2ヘルプ

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。

基本補完

基本コード補完は、可視性スコープ内のタイプ、インターフェース、メソッド、およびキーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、GoLandはコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します(提案にはライブ・テンプレートも含まれます)。

基本コード補完がフィールド、パラメーター、または変数宣言の一部に適用されている場合、GoLandは項目タイプに応じて可能な名前のリストを提案します。

基本補完を呼び出す

デフォルトでは、GoLandは入力時にコード補完ポップアップを自動的に表示します。あるいは、Ctrl+Space を押すか、メインメニューからコード | コード補完 | 基本を選択することもできます。

Basic completion

    機能のためのコード補完

    機能の補完を呼び出す

    • 特定のタイプの値に適した関数を表示して完了するには、Ctrl を押しながら Space を2回押します。

      例:文字列型の t 変数があります。 t.と入力し、Ctrl を押しながら Space を2回押すと、string 型を最初の引数として受け入れる関数の一覧が表示されます。

      Completion for functions

    スマート補完

    スマート補完を呼び出す

    • スマートコード補完は候補リストをフィルタリングし、現在のコンテキストに適用可能なタイプのみを表示します。スマート補完を起動するには、コードの入力を開始して Ctrl+Shift+Spaceを押します。あるいは、メインメニューからコード | コード補完 | スマート入力を選択します。次のアニメーションは、基本補完とスマート補完の違いを示しています。

    Difference between smart and basic completion

    ステートメント補完

    文の補完を使用して、構文的に正しいコード構成体を作成できます。必要な構文要素(括弧、中括弧、セミコロン)を挿入して、次のステートメントの入力を開始できる位置に移動します。ステートメント補完を起動するには、コード構成体の入力を開始して Ctrl+Shift+Enterを押します。

    Complete the statement

    ヒッピー補完

    ヒッピー補完は、目に見える範囲でテキストを分析し、現在のコンテキストから提案を生成する補完エンジンです。それは現在開いているファイルのどれからでもどんな単語でも完成させるのに役立ちます。

    キャレットの文字列を既存の単語に展開する

    1. 最初の文字列を入力し、次のいずれかを実行します。

      • Alt+/ を押すか、コード | コード補完 | 循環的に単語を展開を選択して、キャレットの前に一致する単語を検索します。

      • Alt+Shift+/ を押すか、コード | コード補完 | 循環的に単語を展開 (後方)を選択して、キャレットの後ろにある他の開いているファイルで一致する単語を検索します。

      提案された最初の値が表示され、プロトタイプがソースコードで強調表示されます。

    2. 提案を受け入れるか、Alt キーを押しながら希望の単語が見つかるまで / を押し続けます。

      Hippie completion

    後置コード補完

    修正後テンプレートでは、ドットの後の後置、式のタイプ、およびそのコンテキストに基づいて、すでに入力されている式を別の式に変換できます。GoLandには、他のプログラミング言語にも使用できる一連の定義済みの修正後の補完テンプレートが含まれています。これらのテンプレートをコピー、有効化、無効化することができます。

    • 利用可能な後置テンプレートの完全なリストを表示するには、設定/環境設定ダイアログ Ctrl+Alt+Sエディター | 一般 | 後置補完に移動します。

    • 接尾辞テンプレートを展開するには、Tab , Spaceまたは Enter を選択します。

    後置でステートメントを変換する

    式を入力し、ドットの後に接尾辞を入力します(例: .if:)。

    func m(b bool) { b.if }

    最初の式は if ステートメントでラップされます。

    Example of postfix completion

      特定の接尾辞補完テンプレートを無効にするには、設定/環境設定ダイアログ Ctrl+Alt+Sエディター | 一般 | 後置補完を選択します。

      接尾辞テンプレートを拡張するには、Tab , Spaceまたは Enter を選択できます。

      たとえば、長いキーを短いキーに置き換えるか、適用可能な式の種類のリストを展開するなど、あらかじめ定義されたポストフィックステンプレートを編集できます。

      カスタム後置テンプレートを作成する

      1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | 一般 | 後置補完に移動します。

      2. ツールバーの the Add button をクリックします。

      3. キー、つまりテンプレートを呼び出すシンボルの組み合わせを指定し、新しいテンプレートを適用する式の種類を選択して、ターゲット式を $EXPR$ <target_expression>$EXPR$ != nilなど)の形式で入力します。

        テンプレート内では、$EXPR$$END$という2つの定義済み変数を使用できます。

        • $EXPR$ はドットの前の式をキャプチャーします。

        • $END$ は、テンプレートが展開された後のカーソルの位置を定義します。

        一番上の式に適用するチェックボックスは、スコープを無視してテンプレートを式全体に適用します。そのため、毎回テンプレートのスコープを選択する必要はありません。

        Create a custom postfix template

      タグと属性の完成

      GoLandは、HTML / XHTML、XML / XSL、およびJSONのタグと属性の名前と値を自動的に補完します。

      タグと属性名の補完は、ファイルが関連付けられているDTDまたはスキーマに基づいています。スキーマ関連がない場合、GoLandはファイル内容(タグと属性名とその値)を使用して入力を完了します。

      Support for Go templates

      コード補完設定を構成する

      補完オプションを設定する

      1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | 一般 | コード補完を選択します。

        • 候補リストを自動的に表示するには、入力時に候補を表示するチェックボックスをオンにします。チェックボックスがオフの場合は、Ctrl+Space を押して基本補完を行うか、Ctrl+Shift+Space を押してスマート補完を行うことにより、コード補完を明示的に呼び出す必要があります。

          また、単一の候補を自動的に挿入にある補完タイプを選択するだけで、自動的に候補を挿入することもできます。

        • 候補を関連性で並べ替えるのではなく、アルファベット順に並べ替えるには、候補をアルファベット順にソートするチェックボックスをオンにします。

          また、候補リストの右下隅にある the Sort Alphabetically button または the Sort by Relevance button をクリックすると、これらのモードを切り替えることができます。

        • スクロールすると、候補リスト内の各アイテムのドキュメントポップアップが自動的に表示されるようにする場合は、ドキュメントのポップアップを表示するオプションを選択します。右側のフィールドで、ポップアップが表示されるまでの遅延(ミリ秒単位)を指定します。

      補完のヒントとテクニック

      候補リストを絞り込む

      • 単語の任意の部分(途中のどこかからの文字も含む)を入力するか、ドット区切りの後にコード補完を呼び出すことにより、候補リストを絞り込むことができます。GoLandは、任意の位置に入力した文字を含む候補を表示します。

        これはワイルドカードの使用を不要にします:

        CamelCaseまたはsnake_case名の場合は、最初の文字のみを入力してください。GoLandは自動的に頭文字を認識して照合します。

      提案を受け入れる

      次のいずれかの方法で、リストから提案を受け入れることができます。

      • Enter を押すか、リスト項目をダブルクリックして、キャレットの左側に挿入します。

      • Tab を押して、キャレットから右にある文字を置き換えます。

      • Ctrl+Shift+Enter を使用して、現在のコード構成を構文上正しいものにします(括弧のバランス、欠落している中括弧とセミコロンの追加など)。

      特定のキーを使用して、選択した補完候補を挿入することもできます。設定/環境設定ダイアログ Ctrl+Alt+Sエディター | 一般 | コード補完を選択し、スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入するオプションを選択します。これらのキーは、言語、コンテキストなどに依存します。

      リファレンスを表示する

      • 候補リストのエントリを選択するときに Ctrl+Shift+I を押すと、を使用できます。

      • 候補リストの項目を選択するときに Ctrl+Q を押すと、クイック情報ビューを使用できます。

      コード階層を表示する

      候補リストからエントリを選択すると、コード階層を表示できます。

      • Ctrl+H - 型階層の表示

      • Ctrl+Shift+H - メソッドの階層を表示します。

      構造体フィールドを埋める

      新しい構造体を作成すると、その構造体のフィールド名を自動的に生成できます。

      1. 構造体名の入力を開始し、補完リストから選択します。

      2. 構造体の中括弧の間にキャレットを置きます。

      3. Alt+Enterを押します。

      4. 以下のオプションから選択してください。

        • すべてのフィールドを埋める : 現在の構造体に属するすべてのフィールドの値を生成します。

        • すべてのフィールドを再帰的に埋める : 現在の構造体型に属するすべてのフィールドと、他の構造体型へのすべてのポインターの値を再帰的に生成します。

        • 記入欄 : 追加するフィールドを選択できるフィールドの選択ダイアログを表示します。再帰を選択して、関連するすべての構造体からフィールドを解析します。複数行を強制するチェックボックスをオフにして、すべてのフィールドを1行で表示します。フィールドの選択ダイアログで、Ctrl を押して、追加するフィールドをクリックします。

      5. OKをクリックします。

      Fill struct fields

      トラブルシューティング

      コード補完が機能しない場合は、次のいずれかの理由が考えられます。

      • 省電力モードがオンです(ファイル | 省電力モード)。これをオンにすると、エラー強調表示、オンザフライインスペクション、コード補完などのバックグラウンド操作を排除してラップトップの電力消費を最小限に抑えられます。

      • 補完候補リストに表示する種類と機能を含むファイルは、プレーンテキストファイルとしてマークされます。

      • 補完候補リストに表示したい関数を含む外部ライブラリは、依存関係またはグローバルライブラリとして追加されません。

      最終更新日: