GoLand 2020.2 ヘルプ

コードインスペクション

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

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

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

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

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

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

    Ctrl+Alt+Shift+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
最終更新日 :

関連ページ:

スコープとファイルの色

スコープは、プロジェクト内のファイルとフォルダーのグループです。スコープを使用して、さまざまなIDEビューでプロジェクト項目を視覚的に区別し、特定の操作の範囲を制限できます。スコープは、プロジェクト内のファイルを論理的に整理するように設計されています。テストソースはテスト関連のスコープに移動でき、製...

インスペクションの重大度の構成

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

プロファイルのカスタマイズ

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

安全な削除

GoLandを使用すると、安全な削除リファクタリングを使用してソースコードからファイルやシンボルを安全に削除できます。GoLandはファイルやシンボルを削除する前に使用箇所を検索し、見つかった場合はGoLandを使用して必要な調整を行うことができます。呼び出しセーフリファクタリング削除する項目を選択...

インスペクションの実行

GoLandは、エディターで開かれているファイル内のコードを分析し、入力時に問題のあるコードを強調表示します。さらに、選択したファイルのスコープで必要なインスペクションまたは一連のインスペクションを手動で実行できます。この場合、ファイルで検出されたすべての問題の包括的なレポートが表示されます。現在の...