GoLand 2019.3ヘルプ

コード・インスペクション

GoLandには、コンパイル前にプロジェクト内の異常コードを検出して修正する一連のコードインスペクションがあります。IDEはさまざまな問題を見つけて強調表示し、デッドコードを見つけ、可能性のあるバグを見つけ、スペルの問題、コード構造全体を改善することができます。

インスペクションは、すべてのプロジェクトファイル内、または特定のスコープ内 (たとえば、本番コード内や変更済みファイル内など)のコードをスキャンできます。

すべてのインスペクションには、問題がコードに影響を与える可能性がある程度の重大度レベルがあります。重大度はエディター内で異なる方法で強調表示されるため、重大な問題と重要性の低いものとをすばやく区別できます。GoLandには事前定義された重大度のセットが付属しており、独自のものを作成できます。

インスペクションとその設定はプロファイルにまとめられています。各プロファイルには、有効になっているインスペクション、それらが分析するファイルの範囲、およびそれらの重大度レベルに関する情報が含まれています。

利用可能なすべてのインスペクションとその設定にアクセスする

  • 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | インスペクションに移動します。

    ステータスバー(エディターの右下隅)で the Hector icon Ctrl+Shift+Alt+H をクリックし、インスペクションの構成をクリックすることもできます。

    The list of inspections and their settings

the Filter icon を使用してインスペクションリストをフィルタリングします。例:重大度または言語によってインスペクションをフィルタリングできます。

コードインスペクションの例

使用可能なインスペクションのリストを表示するには、設定 Ctrl+Alt+S を開き、エディター | インスペクションにナビゲートします。

到達不能コード

到達不能コード インスペクションは、実行できないコード部分を検出します。

The unreachable code inspection

未処理のエラー

未処理のエラーコードインスペクションは、コードで処理されないエラー値を返すことができる関数またはメソッドについて警告します。設定では、各スコープの重大度レベルを変更し、必要に応じて、このインスペクションの関数名またはメソッド名を除外することができます。

The Unhandled Error code inspection

ニルネス・アナライザー

nil 値の誤った使用によって引き起こされた問題を報告します。データフローを分析して、変数に nil 値があるかどうか、または nil 値ではないかどうかを判断します。例:ニルレスアナライザを使用すると、以下の状況を捉えることができます。

  • メソッドが nil レシーバーを使用して呼び出すと、ポインターの間接参照がなくなる可能性があります。

  • パニックを引き起こす可能性がある nil スライスのインデックス。

  • v が常に nil であるか nilでない場合には意味がない v == nil のような比較。

  • 適切なエラー処理なしで使用される値を持つ操作。例: f, err := foo()のようなステートメントでは、err が処理されない場合、GoLandは f での潜在的に危険な操作を強調表示します。

Nilness analyzer

冗長な型変換

冗長な型変換 インスペクションは、省略できる冗長な型変換について警告します。次のコード例を検討してください。

s := string("") _ = s

コードは、文字列リテラルを文字列に変換します。出力は文字列なので、これは冗長なアクションです。

Redundant type conversions
最終更新日: 2020年2月20日

関連ページ:

スコープ

スコープは、特定の操作(検索、コードインスペクションなど)の適用を制限できる、プロジェクト内のファイルまたはディレクトリのサブセットです。さらに、一度に表示する各スコープのカラーリングを構成できます。どの種類のファイルを扱っているか。プロジェクトが大きくなるにつれて、スコープはさらに役立ちます。基本...

インスペクションの重大度を変更する

インスペクションの重大度は、検出されたコードの問題がプロジェクトにどれほど深刻な影響を及ぼすかを示します。すべての重要度レベルには、独自の強調表示スタイルがあります。GoLandには、事前定義された重大度レベルのセットがあります。エラー、警告、弱い警告、サーバーの問題、タイプミス、強調表示なし、修正...

プロファイルを構成する

インスペクションプロファイルは、有効なインスペクション、それらが分析するファイルの範囲、およびそれらの重大度設定に関する情報を保持します。GoLandには、2種類のプロファイルがあります。プロファイルIDE に保管はGoLand構成ディレクトリに保存され、どのプロジェクトでも使用できます。プロジェク...

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完を使用すると、可視性の範囲内で型、インターフェース、メソッド、およびキーワードの名前を完成させることができます。コード補完を起動すると、Go...

インスペクションを実行する

GoLandは、エディターで開かれているファイル内のコードを分析し、入力中に異常コードを強調表示します。インスタント分析の結果をすばやく確認するには、エディターの右上隅にあるアイコンを参照してください。エラーが検出された場合は、が表示されます。アイコンは警告を表します。アイコンは、タイプミスが検出さ...