コードの整形と再配置
GoLand を使うと、現在の コードスタイルスキームまたは .editorconfig ファイルで指定した要件に従ってコードを整形できます。 .editorconfig で定義されていないものがあれば、プロジェクト設定から取得されます。
コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、モジュールを整形できます。 また、コードの一部や一部のファイルを再フォーマットから除外することもできます。
コード箇所を整形する
エディターで、整形したいコード箇所を選択します。
再フォーマットする前に、選択したコードに適用されているコードスタイル設定を確認できます。 Alt+Enter を押して、 コードスタイルの設定を調整する をクリックします。
メインメニューで、 に移動するか、 Ctrl+Alt+L を押します。
または、表示される ツールバーで、
コードの整形 をクリックします。
ファイルを再フォーマットする
ファイルをエディターで開いて Ctrl+Alt+Shift+L を押すか、 プロジェクト ツールウィンドウでファイルを右クリックして を選択します。
開いた ファイルの整形 ダイアログで、必要に応じて次の整形オプションを選択します:
インポートの最適化: 未使用のインポートを削除する、足りないものを追加する、インポート文を整理するには、このオプションを選択します。
コードのクリーンアップ: コードクリーンアップインスペクションを実行するには、このオプションを選択します。
改行を保持しない :コードスタイル設定に従って改行を整形します。 このオプションは、 設定を上書きします。
実行 をクリックしてください。
再フォーマット中にコードに加えられた正確な変更を確認するには、 ローカル履歴機能を使用します。
行インデントを整形する
指定した設定に基づいて行のインデントを整形できます。
エディター内で必要なコード箇所を選択し、 Ctrl+Alt+I を押します。
インデント設定を調整する必要がある場合は、 設定 ダイアログ (Ctrl+Alt+S) で に進みます。 インデントを変更する言語を選択します。
タブとインデント タブで、適切なインデントオプションを指定し、 OK をクリックします。
保存時にコードを自動的に整形する
IDE で、 保存時に変更されたファイルのコードを自動的に整形するように設定できます。
Ctrl+Alt+S を押して設定を開き、 を選択します。
コードの整形 オプションを有効化します。
さらに、IDE でコードを整形する方法を設定できます:
スコープを構成… をクリックして、 再フォーマットから除外するファイル名やディレクトリのパターンを指定します。
すべてのファイルタイプ リストから、コードを整形するファイルのタイプを選択します。
プロジェクトがバージョン管理下にある場合は、 ファイル全体 または 変更された行 を選択します。
変更された行 を選択した場合、再フォーマットはローカルで変更されたがまだリポジトリにチェックインされていないコード行のみ適用されます。
コミット時にコードを整形する
プロジェクトが バージョン管理下にある場合、リポジトリへ変更をコミットする際にコードを自動的に整形できます。 この場合、追加または変更されたコードのみが再フォーマットされます。
Alt+0 を押して コミット ツールウィンドウを開き、 コミットオプションを表示
をクリックします。
コミットチェック メニューで、 コードの整形 オプションを有効にします。
オプションを有効化した後、コミットするたびに追加または変更されたコードが整形されます。

整形からファイルを除外する
ファイルとディレクトリのグループを再フォーマットと インポートの最適化から除外できます。
設定 ダイアログ(Ctrl+Alt+S )で に移動します。
フォーマッター タブに切り替え、 フォーマットしない フィールドに、 グロブパターン(英語)を使用して除外するファイルとディレクトリを入力します。
セミコロン
;で区切られた複数のグロブパターンを指定できます。をクリックすると、フィールドが展開され、各パターンが別々の行に表示されます。
変更を適用して、ダイアログを閉じます。

エディターでのコード箇所の整形から除外する
設定 ダイアログ(Ctrl+Alt+S )で に移動します。
フォーマッター タブに切り替えて、 コードコメント内のマーカーでフォーマッターのオン / オフを切り替える オプションを有効にします。
エディターで、除外する領域の先頭に、行コメント Ctrl+/ を作成し、
@formatter:offと入力します。 領域の最後に、別の行コメントを作成し、@formatter :onと入力します。マーカー間のコードは再フォーマットされません。
gofmt ツールを使用した再フォーマット
gofmt ツールと比較すると、GoLand のフォーマッターは構文的に正しくないコードにも対応し、任意のブロックで呼び出すことができます。 また、組み込みのフォーマッタは、セミコロンを自動的に挿入し、パラメーターと引数を折り返すことができます。
gofmt を使用したい場合は、次のツールを使用できます。
Go ツール: をクリックし、 Go fmt ファイル (現在のファイルで gofmt を実行する場合)または Go fmt プロジェクト (現在のプロジェクトで gofmt を実行する場合)を選択します。
コミット前セクション: 変更をコミットする前に、gofmt ツールを実行します。

次のオプションを使用すると、再フォーマットアクションを使用するたびに gofmt ツールを実行できます。 例:GoLand は、 Ctrl+Alt+L を押すたびに gofmt ツールを実行します。
再フォーマットアクションの後に gofmt ツールを実行する
コードを再フォーマットするたびに(たとえば、 Ctrl+Alt+L を押すことによって)gofmt ツールを実行できます。 最初のパスは組み込みの GoLand フォーマッターで処理され、その後 gofmt によって処理されます。
この機能を有効化するには、 Ctrl+Alt+S を押して設定を開き、 に移動します。 。 その他 タブをクリックし、 コードの再フォーマット時アクション チェックボックスを選択します。

コメントに先行スペースを設定する
コードの整形 アクション Ctrl+Alt+L を適用した後、GoLand はコメントテキストの前に先頭スペースを追加する場合があります。
前 | 後 |
|---|---|
//easyjson:json
|
// easyjson:json
|
Go では、アノテーションもアノテーションとして使用されます。 一部のライブラリでは、アノテーションマーカーとアノテーション指示の間のスペースは正しく処理されません。 前の例では、 easyjson:json はアノテーションです。
特定の接頭辞で始まるアノテーションの先頭スペースを無効にすることができます。
設定 ウィンドウ( )を開きます。
をクリックしてください。
その他 タブをクリックします。
コメントに先行スペースを追加する チェックボックスを選択します。
コメントのスペースを除いて フィールドで、 追加 アイコン(
)をクリックします。
例外として追加する接頭辞の名前を入力します(たとえば、
easyjson)。
