Java のフォーマットとリンティング

Language Support for Java™ by Red Hat は、フォーマット設定も提供しています。Eclipse のフォーマッターファイルをエクスポートして、VS Code のプロジェクトで使用することができます。

さらに、Checkstyle for Java および SonarLint 拡張機能もあり、これらはリアルタイムのリンティングやコード解析機能を提供します。

フォーマッター

Format Document(ドキュメントのフォーマット) コマンドを使用して、Java ファイルをフォーマットできます。事前にフォーマッタープロファイルを指定していない場合、Java ファイルはデフォルト設定を使用してフォーマットされます。

フォーマッター設定の適用

Eclipse スキームの既存のフォーマッタープロファイルから、簡単にフォーマッター設定を適用できます。例えば、Java プロジェクトに Google Style を適用したい場合は、settings.json に以下のプロパティを設定します。

"java.format.settings.url": "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml",

プロパティには、URL またはローカルファイルパスを設定できます。フォーマッターの XML ファイルに複数のプロファイルが含まれている場合は、プロファイル名を指定できます。

"java.format.settings.profile": "GoogleStyle",

フォーマッタープロファイルを設定すると、Format Document コマンドは指定されたプロファイルを使用して Java ファイルをフォーマットします。

フォーマッター設定の編集

Extension Pack for Java には、既存のフォーマッタープロファイルを編集するためのエディターが用意されています。Java: Open Java Formatter Settings with Preview コマンドでエディターを開くことができます。エディター内でフォーマッター設定を変更し、その効果をプレビューできます。エディターを保存すると、変更内容がフォーマッタープロファイルに反映されます。

注: フォーマッター設定エディターは、ローカルのフォーマッタープロファイルのみをサポートしています。ワークスペースにリモートのフォーマッタープロファイルがある場合は、.vscode フォルダーにダウンロードするように案内されます。

エディターで設定を編集する際、右側の Preview(プレビュー) パネルで変更の影響を確認できます。

変更の取り消し(アンドゥ)ややり直し(リドゥ)も可能です。

SonarLint

SonarLint は、コーディング中にバグやセキュリティの問題を見つけて修正するのを支援する、使いやすい拡張機能です。この拡張機能はバックグラウンドで動作し、スペルチェッカーのように品質やセキュリティに関する問題があるソースコードを強調表示します。単に問題の内容を伝えるだけでなく、なぜそれが有害なのか、どう修正すべきかのガイダンスを例とともに提供します。500 以上の Java ルール をサポートしており、特定の品質問題を自動的に修正する Quick Fixes(クイック修正) も含まれています。

その場での(On-the-fly)コード解析

問題はエディター上で直接強調表示され、ホバーすることで詳細な説明が表示されます。

開いているファイルで見つかった問題は、VS Code の Problems(問題)パネルでも確認できます。該当する場合、問題の発生源(バグにつながったコードパスなど)を理解できるよう、二次的なコード位置も提示されます。

ルールのドキュメントと修正ガイダンス

検出された問題に対して、SonarLint は違反したルールに関する完全なドキュメントと、それに関連するベストプラクティスを提供します。これにより、なぜ問題が発生したのか、どう修正すればよいのかを理解できます。

品質・セキュリティルールの有効化

SonarLint はデフォルトで、バグや脆弱性を検出するための幅広いルールを提供しています。SonarLint Rules ビューから、さらに多くのチェックを有効にできます。

SonarLint for VS Code 拡張機能の詳細については、SonarLint ウェブサイトをご覧ください。

Checkstyle

Checkstyle for Java 拡張機能を使用すると、既存の checkstyle 設定(Google または Sun のチェック)を使用することも、プロジェクト用に独自のカスタムファイルを使用することもできます。Java ファイルを編集する際、拡張機能はファイル形式をチェックし、可能な場合はその場でクイック修正を提供します。

Checkstyle: Set the Checkstyle Configuration File コマンドを使用して Checkstyle 設定ファイルを指定し、ドロップダウンから Checkstyle ファイルを選択します。

Checkstyle for Java 拡張機能はリアルタイムのリンティングをサポートしています。

また、バッチチェックも可能です。

ステータスバーの Checkstyle ステータスアイコンをクリックすると、Problems パネルが開きます。

Checkstyle 設定ファイルの設定

設定ファイルを設定するには、.xml ファイルを右クリックして Set the Checkstyle Configuration File を選択します。

Set Checkstyle configuration file

Checkstyle: Set Checkstyle Configuration File コマンドを実行して、ファイルエクスプローラーから設定ファイルを選択することもできます。拡張機能はワークスペース内の checkstyle.xml ファイルを検索し、Checkstyle の設定を容易にします。また、以下の2つの組み込み設定が表示されます。

  • Google's Check
  • Sun's Check

Checkstyle: Set the Checkstyle Configuration コマンドは、潜在的な Checkstyle 設定ファイルを検出し、リスト表示します。入力ボックスに URL を直接入力して設定ファイルを提供することもできます。

Checkstyle: Set the Checkstyle Version コマンドを使用して、Checkstyle のバージョンを設定することもできます。

このコマンドでは、以下が可能です。

  • メインリポジトリからの最新の Checkstyle バージョンをリスト表示する。
  • ダウンロード済みの全バージョンをリスト表示する。
  • サポートされている全バージョンをリスト表示する。
  • 現在使用中のバージョンにチェックマークを付ける。

さらに、パスを設定することで Checkstyle のサードパーティ製モジュールを取り込むこともできます。例えば、以下の設定を行った後、<module name="SingleBreakOrContinueCheck"/><module name="com.github.sevntu.checkstyle.checks.naming.SingleBreakOrContinueCheck"/>checkstyle.xml に追加することで、それらのチェックを使用できます。

"java.checkstyle.modules": [ "${workspaceFolder}/src/main/resources/sevntu-checks-1.35.0.jar" ]

スタイルのチェックと違反の修正

Java ファイルを編集する際、拡張機能はファイル形式をチェックし、可能な場合はクイック修正を提供します。エディター内の電球ボタンをクリックすると、利用可能なクイック修正が表示されます。

Fix style violation

Checkstyle for Java の詳細については、GitHub リポジトリをご覧ください。

© . This site is unofficial and not affiliated with Microsoft.