コードの再フォーマットと再配置
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
)。

関連ページ:

コードスタイル
特定のコーディングガイドラインが企業内に存在する場合は、ソースコードを作成する際に、このガイドラインに従わなければなりません。GoLand は、必要なコードスタイルを維持できます。IDE には、プロジェクトスキームとデフォルトスキームの 2 つの定義済みスキームが付属しています。プロジェクトスキームでは、構成する設定は現在のプロジェクトにのみ適用されます。これらの設定は、.idea の codeStyles フォルダーに保存され、VCS を介してプロジェクトと共有されます。プロジェクトのコードスタイル...

ソースコードの作成と編集
コードを使用する場合、GoLand は作業にストレスがないことを保証します。追加、選択、コピー、移動、編集、折りたたみ、出現箇所の検索、コードの保存に役立つさまざまなショートカットと機能を提供します。エディター内のナビゲーションについては、エディターの基本を参照してください。アクションの検索使用したいアクションのショートカットを覚えていない場合は、を押して名前でアクションを見つけてください。同じダイアログを使用して、タイプ、ファイル、シンボルを検索できます。詳細については、どこでも検索を参照し...

ローカル履歴
ローカル履歴は、バージョン管理とは関係なく、プロジェクトに加えられたすべての変更を常に追跡できます。コミット間で行われた違いのみを追跡するバージョン管理システムとは異なり、ローカル履歴にはさらに多くの機能があります。コードの編集、テストの実行、アプリケーションのデプロイなどを行うと、プロジェクトの状態が自動的に記録され、IDE と外部の両方から行われたすべての意味のある変更のリビジョンが維持されます。ローカル履歴を使用すると、個人のバージョン管理システムとして機能し、プロジェクトでバージョン管理...

変更の保存と復元
GoLand は、ファイルに加えた変更を自動的に保存します。保存は、コンパイル、実行、デバッグ、バージョン管理操作の実行、ファイルまたはプロジェクトのクローズ、IDE の終了などのさまざまなイベントによってトリガーされます。ファイルの保存は、サードパーティのプラグインによってトリガーすることもできます。自動保存をトリガーするイベントのほとんどは事前定義されており、構成することはできませんが、変更が失われることはなく、ローカル履歴ですべてを見つけることができます。自動保存動作を設定する設定ダイアロ...

自動インポート
まだインポートしていない型、インターフェース、メソッド、関数を使用する場合、IDE は、手動で追加しなくても済むように、不足しているインポートステートメントを追加するように求めるツールヒントを表示します。提案を受け入れるには、を押します。インポート可能なソースが複数ある場合、を押すと候補のリストが開きます。インポートステートメントを自動的に追加する:選択肢がない場合は、インポート文を自動的に追加するように IDE を設定できます。を押して設定を開き、を選択します。明確なインポートをオンザフ...

Go ツール
gofmt:gofmt を使用すると、開いたファイルまたは Go プロジェクト全体で Go ソースコードをフォーマットできます。単一ファイルの場合は、組み込みのインポート管理とコードフォーマッタを使用できます。インポートはオンザフライで管理されます。インポート管理をカスタマイズするには、を押して設定を開き、に移動します。コードを再フォーマットするには、を押します。gofmt と比較すると、GoLand のフォーマッターは構文的に正しくないコードで動作し、任意のブロックで呼び出すことができます...