Gopls: コードレンズ

「コードレンズ」とは、ソースファイルの範囲に関連付けられたコマンドです。VS Codeのマニュアルでは、コードレンズを「ソースコードに散りばめられた、実行可能で文脈に応じた情報」と説明しています。LSPのtextDocument/codeLens操作は、ファイルの現在のコードレンズのセットを要求します。

Goplsは、多くのソースからコードレンズを生成します。このドキュメントではそれらについて説明します。

codelenses設定を使用して、有効化および無効化できます。その機能は変更される可能性があります。

クライアントサポート

  • VS Code: コードレンズは、ソースコードの行の上に小さなテキストリンクとして表示されます。
  • Emacs + eglot: 未サポートですが、プロトタイプがhttps://github.com/joaotavora/eglot/pull/71に存在します。
  • Vim + coc.nvim: ??
  • CLI: gopls codelens。例えば、gopls codelens -exec file.go:123 "run test"は、指定された行でテストを実行します。

generate: go generateを実行する

このコードレンズソースは、//go:generateコメントに、このディレクトリで、このディレクトリの下にあるすべてのディレクトリに対して再帰的にgo generateを実行するコマンドを注釈付けします。

詳細については、コードの生成を参照してください。

デフォルト: オン

ファイルタイプ: Go

regenerate_cgo: cgo宣言を再生成する

このコードレンズソースは、import "C"宣言に、対応するGo宣言を再生成するためにcgoコマンドを再実行するコマンドを注釈付けします。

インポートに付随するコメント内のCコードや、Cヘッダーファイル内のCコードを編集した後にこれを使用します。

デフォルト: オン

ファイルタイプ: Go

test: テストとベンチマークを実行する

このコードレンズソースは、*_test.goファイル内の各Test関数とBenchmark関数に、それを実行するコマンドを注釈付けします。

このソースは、VS Codeがテスト用のクライアント側カスタムUIを持っているため、また、進捗通知がストリームされたテスト出力にとって優れたUXではないため、デフォルトでオフになっています。

デフォルト: オフ

ファイルタイプ: Go

run_govulncheck: govulncheckを実行する (レガシー)

この設定は実験的なものであり、削除される可能性があります。

このコードレンズソースは、go.modファイル内のmoduleディレクティブに、Govulncheckを非同期で実行するコマンドを注釈付けします。

Govulncheckは、依存関係を含むアプリケーション内で到達可能な関数セットを計算し、既知のセキュリティ脆弱性のデータベースをクエリし、見つかった潜在的な問題を報告する静的解析ツールです。

デフォルト: オフ

ファイルタイプ: go.mod

tidy: go.modファイルを整理する

このコードレンズソースは、go.modファイル内のmoduleディレクティブに、go mod tidyを実行するコマンドを注釈付けします。これにより、go.modファイルがモジュール内のソースコードと一致するように保証されます。

デフォルト: オン

ファイルタイプ: go.mod

upgrade_dependency: 依存関係を更新する

このコードレンズソースは、go.modファイル内のmoduleディレクティブに、次のコマンドを注釈付けします。

  • 利用可能なアップグレードをチェックする。
  • 直接の依存関係をアップグレードする。
  • すべての依存関係を推移的にアップグレードする。

デフォルト: オン

ファイルタイプ: go.mod

vendor: ベンダーディレクトリを更新する

このコードレンズソースは、go.modファイル内のmoduleディレクティブに、go mod vendorを実行するコマンドを注釈付けします。これは、モジュールルートにvendorという名前のディレクトリを作成または更新し、必要なすべてのパッケージ依存関係の最新のコピーが含まれるようにします。

デフォルト: オン

ファイルタイプ: go.mod

vulncheck: govulncheckを実行する

この設定は実験的なものであり、削除される可能性があります。

このコードレンズソースは、go.modファイル内のmoduleディレクティブに、govulncheckを同期的に実行するコマンドを注釈付けします。

Govulncheckは、依存関係を含むアプリケーション内で到達可能な関数セットを計算し、既知のセキュリティ脆弱性のデータベースをクエリし、見つかった潜在的な問題を報告する静的解析ツールです。

デフォルト: オフ

ファイルタイプ: go.mod


このドキュメントのソースファイルは、golang.org/x/tools/gopls/doc の下にあります。