Java 格式化與程式碼檢查
Red Hat 提供的 Java™ 語言支援 也提供格式化設定。您可以匯出 Eclipse 格式器檔案,然後在 VS Code 中用於您的專案。
此外,還有 Checkstyle for Java 和 SonarLint 擴充功能,它們提供即時程式碼檢查和程式碼分析功能。
格式器
您可以使用 格式化文件 命令來格式化 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",
設定格式器設定檔後,格式化文件 命令將使用特定的設定檔來格式化您的 Java 檔案。
編輯格式器設定
Extension Pack for Java 提供了一個編輯器,以幫助使用者編輯現有的格式器設定檔。您可以使用 Java:使用預覽開啟 Java 格式器設定 命令來開啟編輯器。在編輯器中,您可以變更格式器設定並預覽效果。儲存目前的編輯器後,變更將儲存到格式器設定檔。
注意:格式器設定編輯器僅支援本機格式器設定檔。如果您的工作區包含遠端格式器設定檔,它將引導您將其下載到
.vscode
資料夾中。
在編輯器中編輯設定時,您可以在右側的 預覽 面板中預覽變更的效果。
您也可以還原和重做變更。
SonarLint
SonarLint 是一個易於使用的擴充功能,可協助您在編碼時尋找和修正錯誤和安全性問題。該擴充功能在背景執行,就像拼字檢查程式一樣,會醒目提示造成品質或安全疑慮的原始碼問題。該擴充功能不僅告訴您問題是什麼,還提供關於為何有害以及如何修正問題的上下文指導,並附帶範例。該擴充功能支援超過 500 多個 Java 規則,並包含多個 快速修正,以自動修正某些品質問題。
即時程式碼分析
問題直接在編輯器中醒目提示,並帶有懸停提示以提供詳細說明。
在已開啟檔案中找到的問題也可以透過 VS Code 的 [問題] 面板進行檢閱。在適用的情況下,會提及次要程式碼位置,以便您可以了解問題的來源(例如,導致錯誤的程式碼路徑)。
規則文件和補救指南
對於偵測到的任何問題,SonarLint 都會提供關於違規規則及其相關最佳編碼實務的完整文件。這讓您可以了解為何會提出問題,以及如何修正問題。
啟用更多品質和安全性規則
預設情況下,SonarLint 提供廣泛的規則來偵測錯誤和漏洞。可以透過 SonarLint 規則 檢視啟用更多檢查。
有關 SonarLint for VS Code 擴充功能 的更多詳細資訊,請造訪 SonarLint 網站。
Checkstyle
透過 Checkstyle for Java 擴充功能,您可以使用現有的 checkstyle
組態(Google 的或 Sun 的檢查)或您自己的自訂檔案用於您的專案。在編輯 Java 檔案時,擴充功能將檢查檔案格式,並在可能的情況下即時提供快速修正。
使用 Checkstyle:設定 Checkstyle 組態檔 命令,然後從下拉式選單中選取 Checkstyle 檔案,以設定 Checkstyle 組態檔。
Checkstyle for Java 擴充功能支援即時程式碼檢查。
以及批次檢查。
當您按一下狀態列中的 Checkstyle 狀態圖示時,將會開啟 [問題] 面板。
設定 Checkstyle 組態檔
若要設定組態檔,請以滑鼠右鍵按一下 .xml
檔案,然後選取 設定 Checkstyle 組態檔。
您也可以觸發 Checkstyle:設定 Checkstyle 組態檔 命令,以在檔案總管中選擇組態檔。擴充功能會在您的工作區中尋找 checkstyle.xml
檔案,以簡化 Checkstyle 組態。您還將看到兩個內建組態
- Google 的檢查
- Sun 的檢查
Checkstyle:設定 Checkstyle 組態 命令會偵測潛在的 Checkstyle 組態檔並列出它們。您也可以透過直接在輸入框中寫入 URL 來提供組態檔。
您也可以使用 Checkstyle:設定 Checkstyle 版本 命令來設定 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 儲存庫。