Javaの書式設定とリンティング
Language Support for Java™ by Red Hatは書式設定も提供します。EclipseのFormatterファイルをエクスポートし、VS Codeでプロジェクトに使用できます。
さらに、ライブリンティングとコード分析の機能を提供するCheckstyle for JavaとSonarLint拡張機能もあります。
Formatter
Javaファイルの書式設定には、Format Documentコマンドを使用できます。以前にFormatterプロファイルを指定しなかった場合、Javaファイルはデフォルト設定を使用して書式設定されます。
Formatter設定の適用
Eclipseスキームの既存のFormatterプロファイルからFormatter設定を簡単に適用できます。たとえば、JavaプロジェクトにGoogle Styleを適用したい場合は、settings.jsonで次のプロパティを設定できます。
"java.format.settings.url": "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml",
このプロパティは、URLまたはローカルファイルパスに設定できます。Formatter XMLファイルに複数のプロファイルが含まれている場合は、プロファイル名を指定できます。
"java.format.settings.profile": "GoogleStyle",
Formatterプロファイルを設定すると、Format Documentコマンドは指定されたプロファイルを使用してJavaファイルの書式設定を行います。
Formatter設定の編集
Extension Pack for Javaは、既存のFormatterプロファイルを編集するためのエディターを提供します。Java: Open Java Formatter Settings with Previewコマンドでエディターを開くことができます。エディターでは、Formatter設定を変更して効果をプレビューできます。現在のエディターを保存すると、変更はFormatterプロファイルに保存されます。
注:Formatter設定エディターはローカルFormatterプロファイルのみをサポートします。ワークスペースにリモートFormatterプロファイルが含まれている場合、
.vscodeフォルダーにダウンロードするように案内されます。
エディターで設定を編集する際、右側のPreviewパネルで変更の効果をプレビューできます。
変更を元に戻したり、やり直したりすることもできます。
SonarLint
SonarLintは、コード記述中にバグやセキュリティの問題を発見・修正するのに役立つ使いやすい拡張機能です。この拡張機能はバックグラウンドで実行され、スペルチェッカーのように、品質やセキュリティ上の懸念があるソースコードの問題をハイライト表示します。この拡張機能は、問題が何であるかだけでなく、それがなぜ有害なのか、そして例を挙げてどのように修正するのかについて、文脈に応じたガイダンスも提供します。この拡張機能は500以上のJavaルールをサポートし、特定の品質の問題を自動的に修正するためのいくつかのクイックフィックスを含んでいます。
リアルタイムコード分析
問題はエディターに直接ハイライト表示され、詳細な説明を提供するホバーが表示されます。
開いているファイルで見つかった問題は、VS Codeの「問題」パネルからも確認できます。適用可能な場合、問題の発生源を理解できるように(たとえば、バグにつながったコードパスなど)、二次的なコードの場所が言及されます。
ルールドキュメントと修正ガイダンス
検出された問題については、SonarLintは違反されたルールに関する完全なドキュメントと、関連する最適なコーディングプラクティスを提供します。これにより、問題が発生した理由と修正方法を理解できます。
より多くの品質・セキュリティルールの有効化
デフォルトでは、SonarLintはバグや脆弱性を検出するための幅広いルールを提供します。より多くのチェックは、SonarLint Rulesビューから有効にできます。
SonarLint for VS Code拡張機能の詳細については、SonarLintウェブサイトをご覧ください。
Checkstyle
Checkstyle for Java拡張機能を使用すると、既存のcheckstyle設定(Google'sまたはSun's Check)または独自のカスタマイズされたファイルをプロジェクトに使用できます。Javaファイルを編集すると、拡張機能はファイル形式をチェックし、可能であればリアルタイムでクイックフィックスを提供します。
Checkstyle: Set the Checkstyle Configuration Fileコマンドを使用してCheckstyle設定ファイルを指定し、ドロップダウンからCheckstyleファイルを選択します。
Checkstyle for Java拡張機能はライブリンティングをサポートしています。
そして、バッチチェックも可能です。
ステータスバーのCheckstyleステータスアイコンをクリックすると、問題パネルが開きます。
Checkstyle設定ファイルの指定
設定ファイルを指定するには、.xmlファイルを右クリックし、Set the Checkstyle Configuration Fileを選択します。

Checkstyle: Set Checkstyle Configuration Fileコマンドを実行して、ファイルエクスプローラーで設定ファイルを選択することもできます。この拡張機能は、Checkstyleの設定を容易にするために、ワークスペース内のcheckstyle.xmlファイルを検索します。また、組み込みの2つの設定も表示されます。
- Googleのチェック
- Sunのチェック
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ファイルを編集すると、拡張機能はファイル形式をチェックし、可能であればクイックフィックスを提供します。エディターの電球アイコンをクリックすると、利用可能なクイックフィックスが表示されます。

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