GoLand 2020.3 ヘルプ

コード補完

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

基本補完

基本コード補完は、可視性スコープ内のタイプ、インターフェース、メソッド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、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エディター | 一般 | 後置補完に移動します。

    • TabSpace、または Enter を選択して、接尾辞テンプレートを展開します。

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

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

    func m(b bool) { b.if }

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

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

      TabSpace、または 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

      日付と時刻をフォーマットする

      • タイムパッケージ(英語)は、Time.Format および time.Parse で使用できる事前定義されたレイアウトを使用します。レイアウトで使用される参照時間は、特定の時間 Mon Jan 2 15:04:05 MST 2006 です。つまり、独自のフォーマットを定義するには、基準時間がどのようにフォーマットされているかを書き留める必要があります。

        GoLand では、Ctrl+Space を押すと、ISO-8601 の時間要素とデータ要素のプレースホルダーが表示されます。コード補完は、文字列リテラルの外側の標準時間レイアウトも提案します。

        Support for the time package

      トラブルシューティング

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

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

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

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

      関連ページ:

      ライブテンプレート

      ライブテンプレートを使用して、ループ、条件、さまざまな宣言、出力ステートメントなどの一般的な構成をコードに挿入します。コードスニペットを展開するには、対応するテンプレートの省略形を入力してを押します。を押し続けると、テンプレート内の 1 つの変数から次の変数にジャンプします。を押して、前の変数に移動します。ライブテンプレートを挿入するテンプレートを展開する場所にキャレットを置きます。テンプレートの省略形を入力し、呼び出しキーを押します(通常はデフォルトで)。または、メニューでをクリック

      ファイルタイプの関連付けを設定する

      GoLand はデフォルトのファイルタイプのセットを認識します。そのようなファイルは、対応する言語の構文に従って解析およびハイライトされます。GoLand が認識できないファイルタイプで作業している場合(たとえば、それが独自開発のファイルタイプである場合)、カスタムファイルタイプを作成することもできます。キーワード、コメント、数字などのハイライトスキームを定義することによって、IDE がファイルを解析する方法を設定することができます。各ファイル形式を拡張子に関連付けることで、IDE がカスタム形...

      コードの再フォーマットと再配置

      GoLand では、コードスタイル設定で指定した要件に従ってコードを再フォーマットできます。ただし、プロジェクトで EditorConfig を使用する場合、ファイルで指定されたオプションは、コードを再フォーマットするときにコードスタイル設定で指定されたオプションをオーバーライドします。設定にアクセスするには、設定 / 環境設定ダイアログでに移動します。詳細については、コードスタイルを参照してください。コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、モジュールを再フォーマットできます...