このリポジトリはgolang.org/x/tools
モジュールを提供します。これは、主に Go プログラムの静的分析のためのさまざまなツールとパッケージで構成されます。その一部を以下に示します。パッケージの詳細については、上の「Go リファレンス」リンクを使用してください。
また、 golang.org/x/tools/gopls
x/tools/gopls モジュールも含まれており、そのルート パッケージは Go の言語サーバー プロトコル (LSP) サーバーです。 LSP サーバーはプロジェクトのソース コードを分析し、VSCode や Vim などの幅広いエディターからのリクエストに応答して、IDE のような機能をサポートできるようにします。
選択したコマンド:
cmd/goimports
、 go fmt
のように Go プログラムをフォーマットし、編集後のファイルに必要なパッケージのインポート ステートメントを追加で挿入します。cmd/callgraph
Go プログラムのコール グラフを出力します。cmd/digraph
テキスト表記で有向グラフを操作するためのユーティリティです。cmd/stringer
「enum」型の宣言 ( String
メソッドを含む) を生成します。cmd/toolstash
複数バージョンの Go ツールチェーンの操作を簡素化するユーティリティです。これらのコマンドは、次のようなコマンドで取得できます。
go install golang.org/x/tools/cmd/goimports@latest
選択したパッケージ:
go/ssa
、分析ツールで使用するための、典型的なコンパイラーと同様に、Go プログラム用の静的シングルアサインメントフォーム (SSA) 中間表現 (IR) を提供します。
go/packages
ソース コードから完全な Go プログラムをロード、解析、型チェックするためのシンプルなインターフェイスを提供します。
go/analysis
Go プログラムのモジュール式静的分析のためのフレームワークを提供します。
go/callgraph
さまざまなトレードオフを持つさまざまなアルゴリズムを使用した Go プログラムのコール グラフを提供します。
go/ast/inspector
分析ツールで使用するために Go 解析ツリーを走査するための最適化された手段を提供します。
go/cfg
Go 関数用の単純な制御フロー グラフ (CFG) を提供します。
go/gcexportdata
およびgo/gccgoexportdata
標準およびgccgo
コンパイラで使用される型情報を含むバイナリ ファイルの読み取りと書き込みを行います。
go/types/objectpath
go/types
API の名前付きエンティティ (「オブジェクト」) に安定した命名スキームを提供します。
他の多くのパッケージは、より難解な機能を提供します。
このリポジトリはコード変更に Gerrit を使用します。変更を送信する方法については、https://go.dev/doc/contribute を参照してください。
git リポジトリは https://go.googlesource.com/tools です。
ツール リポジトリの主要な問題トラッカーは、https://go.dev/issues にあります。問題を見つけやすいように、件名に「x/tools/(your subdir):」という接頭辞を付けてください。
このリポジトリは、prettier を使用して JS および CSS ファイルをフォーマットします。
使用したprettier
のバージョンは1.18.2です。
変更を送信する前に、すべての JS および CSS コードをこれを通じて実行することをお勧めします。ただし、これは CI によって強制される厳密な要件ではありません。