go.mod フォーマッター
Goモジュールファイルをフォーマット・検証します。requireブロックをソートし、バージョンを整列、重複を検出、モジュールディレクティブを即座に検査します。
このツールについて
go.modフォーマッターは、Goモジュールファイルをフォーマットおよび検証する無料のブラウザベースツールです。
go.modの内容を貼り付けると、ツールはrequireブロックをアルファベット順にソートし、
バージョン番号を整列された列に配置し、直接依存関係と間接依存関係を分離し、
Goコミュニティの慣例に従ったクリーンで一貫した出力を生成します。
フォーマッターはすべての標準go.modディレクティブを解析します:module、goバージョン、
toolchain、require、replace、exclude、retract。
手動編集や不正なマージ後に発生する重複requireエントリや、
インポートパスの互換性のないメジャーバージョンサフィックスなどの一般的な問題を検出します。
GoプロジェクトでJSON設定を扱う場合は、 JSON to Go StructコンバーターでJSONからGoの型を生成できます。 Goサービスと併用するYAML設定ファイルのフォーマットには、 YAMLフォーマッターをお試しください。
すべての処理はブラウザ内で完全に実行されます。go.modの内容、モジュールパス、 依存関係情報がサーバーに送信されることはありません。プライベートモジュールパスや 内部依存関係情報でも安全に使用できます。
使い方
- 入力テキストエリアに
go.modの内容を貼り付けるか、Load Sampleをクリックして例を表示します。 - 必要に応じてRemove duplicatesのチェックを切り替えて、重複requireエントリの自動重複排除を制御します。
- ツールは入力時に自動的にフォーマットし、右パネルに整列およびソートされた出力を生成します。
- 出力の下にあるModule Infoセクションで、モジュール名、Goバージョン、依存関係数、検出された問題の概要を確認します。
- Direct DependenciesとIndirect Dependenciesテーブルですべてのrequireエントリのクリーンなビューを確認します。
- CopyをクリックするかCtrl+Shift+Cを押して、フォーマットされた出力をクリップボードにコピーします。
- Downloadをクリックして、フォーマットされた出力を
go.modファイルとして保存します。
go.modの人気の例
よくある質問
フォーマッターはgo.modに何をしますか?
requireエントリをブロック内でアルファベット順にソートし、バージョン番号を列に整列し、直接依存関係と間接依存関係を別々のrequireブロックに分離し、タブによる一貫したインデント(Go慣例に従い)を確保します。replace、exclude、retractディレクティブは保持され、一貫してフォーマットされます。
go mod tidyを実行しますか?
いいえ。このツールはgo.modのテキスト構造のみをリフォーマットおよび検証します。依存関係の解決、モジュールのフェッチ、依存関係グラフの変更は行いません。完全な依存関係解決には、Goプロジェクトで`go mod tidy`を実行してください。
重複検出はどのように機能しますか?
フォーマッターはすべてのrequireエントリをスキャンし、複数回出現するモジュールパスをフラグ付けします。「Remove duplicates」オプションが有効な場合、各モジュールパスの最後の出現のみを保持します。
互換性のないメジャーバージョンとは何ですか?
Goモジュールは、v2以上のメジャーバージョンのインポートパスにバージョンサフィックス(例:github.com/foo/bar/v3)を含めることを要求します。インポートパスが/v3と指定しているがバージョンがv2.1.0の場合、フォーマッターはこれを互換性のないメジャーバージョンエラーとしてフラグ付けします。
ローカルパスのreplaceディレクティブに対応していますか?
はい。replaceディレクティブはローカルファイルパス(例:`replace github.com/foo/bar => ../local-bar`)または他のモジュールバージョンを指すことができます。フォーマッターは両方の形式を保持し、一貫して整列します。
データは安全ですか?
はい。すべてのフォーマットと検証はJavaScriptを使用してブラウザ内で完全に実行されます。モジュールパス、依存関係バージョン、go.modの内容などのデータがサーバーに送信されることはありません。ツール使用中にブラウザの開発者ツールのネットワークタブで確認できます。
コメントは保持されますか?
フォーマッターはGoが間接依存関係をマークするために使用する`// indirect`コメントを保持します。ファイル先頭の一般的なコメントや他のディレクティブのインラインコメントは、ツールが解析されたデータから出力を再生成するため、現在フォーマット時に保持されません。