コード補完
基本コード補完は、可視性スコープ内で型、インターフェース、メソッド、キーワードの名前を補完するのに役立ちます。
GoLand はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します。 候補には ライブテンプレートも含まれます。 補完機能は英語以外のキーボードレイアウトでも利用できます。
基本補完を呼び出す
デフォルトで、入力中に GoLand は自動的にコード補完ポップアップを表示します。
あるいは、 Ctrl+Space を押すか、メインメニューから を選択することもできます。

コード補完は カスタムファイルタイプで使用できます。 ただし、GoLand はそのようなファイルの構造を認識せず、現在のコンテキストに適切かどうかに関係なくオプションを提案します。
リストからの提案を受け入れる
Enter を押すか、該当するリストアイテムをダブルクリックして、キャレットの左側に挿入します。
Tab を押して、キャレットから右にある文字を置き換えます。
Ctrl+Shift+Enter を使用して、現在のコード構成を構文上正しいものにします(括弧のバランス、欠落している中括弧とセミコロンの追加など)。
選択した補完候補を承認するには、特定のキーとカスタム文字を使用します。 これらの機能を有効にするには、 エディター | 一般 | コード補完 設定ページ Ctrl+Alt+S に移動して、次の操作を行います。
特定のキーを使用するには、 スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入する チェックボックスをオンにします。 これらのキーは、言語、コンテキストなどによって異なります。
カスタム文字も使用するには、 補完を受け入れるための追加文字 フィールドに文字を入力します。
関数補完を呼び出す
特定の型の値に適した関数を表示して補完するには、 Ctrl を押したまま Space を 2 回押します。
例: 文字列型の
t変数があります。t.と入力し、 Ctrl を押しながら Space を 2 回押すと、文字列型を最初の引数として受け入れる関数の一覧が表示されます。
機械学習による補完ランキング
GoLand を使用すると、他のユーザーが同様の状況で行った選択に基づいて、補完候補の優先順位を付けられます。
ML 補完メカニズムは新しい要素を追加するのではなく、コードから取得した要素を順序付けます。 データはどこにも公開されず、ローカルで収集されます。
ML 補完ランキングを有効にする
Ctrl+Alt+S を押して設定を開き、 エディター | 一般 | コード補完 を選択します。
機械学習による候補の並べ替え の下で 機械学習に基づいて補完候補を並び替えます オプションを有効化し、ML 補完を利用したい言語を選択してください

関連性マーカーを有効にする
Ctrl+Alt+S を押して設定を開き、 エディター | 一般 | コード補完 を選択します。
次のオプションを有効化します:
補完ポップアップで順位の変更箇所に印を付ける:
および
アイコンを使用して、提案の関連性が増加しているか減少しているかを示し、その結果、提案が候補リストを上下に移動したことを示します。
補完ポップアップで最も関連性の高い項目に印を付ける:
アイコンを使用して、リストで最も適切な提案を示します。

次の編集提案 (NES)
AI Assistant プラグインをインストールします
この機能は、インストールして有効にする必要がある AI Assistant(英語) プラグインに依存しています。
Ctrl+Alt+S を押して設定を開き、 を選択します。
マーケットプレース タブを開き、 AI Assistant プラグインを見つけて、 インストール をクリックします (プロンプトが表示されたら、IDE を再起動します)。
AI Assistant の詳細については、 AI Assistant のドキュメントを参照してください。
コードを記述または編集する際に、AI Assistant はどの部分を次に変更や追加したいかを予測し、適切な編集候補を提案します これにより、提案をすばやく適用し、変更が必要な可能性のある次の箇所に移動できるため、ファイル全体の関連コードの更新が容易になります。
次の編集提案を有効化
機能を有効にするには:
に進みます。
機能 セクションで、 次の編集提案を有効化 設定を選択します。 さらに、編集内容の提案方法をさらに設定できます。
言語 – AI Assistant が提案を生成する プログラミング言語 を選択します
その他すべて 設定は、 一般的でない言語と対応するファイルタイプをカバーします。
すぐにプレビュー – この設定を有効にすると、確認プロンプトが少なくなり、編集の提案が表示されます。
チェーンの提案 – この設定を有効にすると、前の編集提案が承認されると、次の編集提案が自動的に要求されます。
リファクタリングの提案 – この設定を有効化すると、AI Assistant が名前変更リファクタリングなどの IDE リファクタリングアクションに基づいて編集を提案できるようになります
フォーマットのみの編集を提案 – インデント、間隔、空白行を変更する提案を受け取る場合は、この設定を有効にします。
変更を保存するには、 適用 をクリックします。
- 対応するファイルタイプと言語
言語 / タイプ
拡張機能
Java
javaKotlin
kt、ktsPython
py、ipynbRust
rs、rsxGo
goC/C++
c、h、cpp、cc、cp、hpp、h++C#
csRuby
rb、ruby、rbw、ruRBS
rbsERB
erb、rhtmlPHP
php、phtml、phpt、ctpTerraform/OpenTofu
tf、hclXML
xmlJSON
jsonYAML
yml、yamlプロパティ
プロパティMarkdown
md、markdown、mkd、mkdn、rmdプレーンテキスト
txtHTML
html、htm、xhtml、xhtCSS のような
css、scss、sass、lessJavaScript/TypeScript
js、jsx、ts、tsx、es6、sjs、jsm、pac、vueSQL
sql、ddl、db2、udf- その他の設定でカバーされる言語とファイルタイプ
言語 / タイプ
拡張機能
Python/ シトン
pyw、pyx、pxd、pxi、pydeRusty Object Notation
ronC++
cxx、c++、hh、hxx、ipp、tpp、inl、tccVisual Basic/VBScript/VBA
vb、vbs、vba、bas、frmF#
fs、fsi、fsxSwift
swiftPL/SQL
plsql、plb、pkb、pks、prcR
r、rdシェルスクリプト
sh、bash、zsh、ksh、bats、コマンド、tmuxWindows バッチ
bat、cmdPowerShell
ps1、psm1、psd1Objective-C++
mmメイク / コンテキスト
makefile、mk、mak、mkiv、mkii、mkviCMake
cmakeGYP
gypBazel
bzlTOML
tomlDocker(ドッカー)
dockerfileビルドスクリプト (Dart、C#、Ruby など。)
tool、cake、builderreStructuredText
rstLaTeX
tex、sty、bib、dtx、insテンプレート (Ruby、Elixir、.NET など。)
mustache、jinja、eex、rabl、cshtml、vbhtmlRuby DSL
thor、rake、jbuilder、gemspecLaTeX コンポーネント
cbx、bbx、lbxCassandra クエリ言語
cqlSAP HANA XS JavaScript
xsjslibRuby CocoaPods 仕様
podspec
次の編集候補を呼び出す
次の編集提案が有効になったら:
エディターで既存の行を修正するか、新しいコードを記述します。 AI Assistant が次の編集を提案します
Tab を押して提案に移動し、それを確認してから、もう一度 Tab を押して適用します。
他の提案を適用するには、前の手順を繰り返します。
提案をキャンセルするには、 Escape を押します。
コード補完設定を構成する
コード補完のオプションを設定するには、 エディター | 一般 | コード補完 設定ページ Ctrl+Alt+S にアクセスしてください。
次の設定を選択できます:
項目 | 説明 | |
|---|---|---|
大文字と小文字を区別 | 補完候補で大文字と小文字を考慮するかどうかを選択します。 最初の文字の大文字と小文字を一致させるか、すべての文字を一致させるかを選択します。 | |
単一の候補を自動的に挿入 | 基本的な型一致補完とスマート型一致補完の候補が 1 つしかない場合は、コードを自動的に補完します。 | |
候補をアルファベット順に並び替えます | 候補リスト内の項目を関連性によって並べ替えるのではなく、アルファベット順に並べ替える場合に選択します。 この動作は、候補リストの | |
入力時に候補を表示する | 補完を明示的に呼び出すことなく、候補リストを自動的に呼び出す場合に選択します。 このオプションはデフォルトで有効になっています。 | |
スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入する | 選択した候補を挿入する場合は、言語、コンテキストなどに依存する特定のキーを入力して選択します。 | |
ドキュメントのポップアップ表示までの時間 | 候補リスト内の各項目に対して、ルックアップリストで現在ハイライトされているクラス、メソッド、フィールドのドキュメントを含む ポップアップを自動的に表示します。 このオプションが無効になっている場合は、 Ctrl+Q を押すと要素のドキュメントが表示されます。 右側のフィールドで、ポップアップが表示されるまでの遅延 (ミリ秒単位) を指定します。 | |
機械学習支援による補完 | ||
機械学習に基づいて補完候補を並び替えます | 機械学習モデルを使用して、最も適切な項目を候補リストの上位に表示したい場合は、このオプションを選択します。 機械学習に基づく提案を有効にする言語を選択してください。 | |
補完ポップアップで順位の変更箇所に印を付ける |
| |
補完ポップアップで最も関連性の高い項目に印を付ける |
| |
補完オプションを設定する
Ctrl+Alt+S を押して設定を開き、 を選択します。
候補リストを自動的に表示するには、 入力時に候補を表示する チェックボックスを選択します。 チェックボックスがオフの場合は、基本補完の場合は Ctrl+Space を押し、型一致補完の場合は Ctrl+Shift+Space を押して、コード補完を明示的に呼び出す必要があります。
候補が 1 つしかない場合に自動的に挿入する設定も選択できます: 単一の候補を自動的に挿入 の下で補完タイプを選択してください
候補をアルファベット順に並べ替えるには、関連性で並べ替えるのではなく、 候補をアルファベット順に並び替えます チェックボックスをオンにします。
この動作は、候補リストの
をクリックして 名前で並べ替え オプションを切り替えることにより、いつでも変更できます。
候補リストをスクロールすると、その項目ごとに ドキュメントのポップアップが自動的に表示されるようにするには、 ドキュメントのポップアップを表示する オプションを選択します。 右側のフィールドで、ポップアップが表示されるまでの遅延 (ミリ秒単位) を指定します。
補完のヒントとテクニック
コード番号を入力して HTTP 定数を自動補完する
httpなどのインポートされたパッケージ名を指定した後、404と入力して値をhttp.StatusNotFoundに自動補完できます。
候補リストを絞り込む
単語の一部(途中の文字でも可)を入力するか、ドット区切りの後にコード補完を呼び出すことによって、候補リストを絞り込みます。
GoLand は、文字の位置に関係なく、入力した文字を含む候補を表示します。 これにより、ワイルドカードの使用は不要になります。

CamelCase または snake_case 名の場合は、最初の文字のみを入力してください。 GoLand は自動的に頭文字を認識して照合します。
リファレンスを表示する
コード階層を表示する
候補リストからエントリを選択すると、コード階層を表示できます。
Ctrl+H: 型階層の表示
Ctrl+Shift+H: メソッドの階層を表示します。
構造体フィールドを埋める
新しい構造体を作成すると、その構造体のフィールド名を自動的に生成できます。 このアクションは、汎用構造体に対して機能します。
すべてのフィールドを埋める インテンションアクションを呼び出すと、IDE は自動生成された XXX_ で始まるプロトコルバッファフィールドを無視します。 これらのフィールドは、補完を 2 回目に呼び出した後にのみ表示されます。
構造体名の入力を開始し、補完リストから選択します。
構造体の中括弧の間にキャレットを置きます。
Ctrl+Space を押す。 または、「Alt+Enter 」を押します。
以下のオプションから選択してください。
すべてのフィールドを埋める: 現在の構造体に属するすべてのフィールドの値を生成します。
すべてのフィールドを再帰的に埋める: 現在の構造体型に属するすべてのフィールドと、他の構造体型へのすべてのポインターの値を再帰的に生成します。
記入欄: 追加するフィールドを選択できる フィールドの選択 ダイアログを表示します。 再帰的に を選択して、関連するすべての構造体からフィールドを解析します。 複数行を強制する チェックボックスをオフにして、すべてのフィールドを 1 行で表示します。 フィールドの選択 ダイアログで、 Ctrl を押して、追加するフィールドをクリックします。
OK をクリックしてください。

日付と時刻をフォーマットする
タイムパッケージ(英語)は、
Time.Formatおよびtime.Parseで使用できる事前定義されたレイアウトを使用します。 レイアウトで使用される参照時間は、特定の時間Mon Jan 2 15:04:05 MST 2006です。 つまり、独自のフォーマットを定義するには、基準時間がどのようにフォーマットされているかを書き留める必要があります。GoLand で Ctrl+Space を押すと、ISO-8601 の日時要素のプレースホルダーが表示されます。 コード補完は、文字列リテラルの外側の標準時間レイアウトも提案します。
トラブルシューティング
コード補完が機能しない場合は、次のいずれかの理由が考えられます。
省電力モード がオンです()。 これをオンにすると、エラーハイライト、オンザフライインスペクション、コード補完などのバックグラウンド操作を排除してラップトップの電力消費を最小限に抑えられます。
補完候補リストに表示する型と関数を含むファイルは、プレーンテキストファイルとしてマークされます。
補完候補リストに表示する関数を含む外部ライブラリは、 依存関係またはグローバルライブラリとして追加されません。
補完オプションの収集に時間がかかりすぎる場合、コード補完ポップアップは自動的に表示されないことがあります。 例: コンピューターが別のタスクでビジー状態の場合。 この場合でも、 Ctrl+Space を介して補完ポップアップを手動でアクティブ化できます。
