如何在 VS Code 中調試 LeetCode 代碼?

摘要: 面試刷題指南。java

Fundebug經受權轉載,版權歸原做者全部。git

近期收到很多小夥伴的求助,但願知道如何在 VS Code 中調試 LeetCode 代碼。一般來講,爲了調試本地代碼,咱們須要安裝相關的語言支持插件。本文中,咱們就以調試 LeetCode Java 代碼爲例,給你們介紹本地調試 LeetCode 代碼的經常使用套路。github

想要了解如何在 VS Code 中刷題的小夥伴,能夠移步: LeetCode for VS Code: 春招 Offer 收割利器

準備工做

首先確保系統內安裝了JDK,相關教程有不少,此處就不贅述了。面試

以後咱們須要確保在 VS Code 中安裝了下列插件:編輯器

1. LeetCode函數

用來生成題目,提交答案。ui

2. Language Support for Java(TM) by Red Hatspa

提供智能提示等語言相關的功能。插件

3. Debugger for Java,Java debug

調試器。

安裝完成以後,VS Code 的插件管理欄中,就能夠看到這三個插件了:

若是在打開 Java 文件後,VS Code 提示找不到 JDK,請檢查一下 相關配置是否正確

編寫調試代碼:

咱們就拿第 20 題:有效的括號做爲例子。

在做答過程當中,可能會看到編輯器裏出現一些紅線。不要擔憂,這代表 Language Support for Java 插件正在起做用。一般這意味着你的代碼存在語法錯誤,下面的例子展現的錯誤緣由是用到了依賴包但沒有 import 到當前文件當中。咱們能夠利用 Quick Fix 功能進行修復:

將依賴包導入時爲了確保文件可以被正確編譯。LeetCode 在檢查答案的時候,並不會要求文件中存在相應的 import 語句,所以存不存在 import 語句不會影響最後的檢查結果。

寫完答案以後,咱們還須要在同一個文件中,增長一個 Main 函數做爲調試程序的執行入口,整個文件的代碼結構以下:

class Main {
    public static void main(String[] args) {
        // Create a new Solution instance
        Solution solution = new Solution();
        // Create a test case
        String testCase = "()[]{}";
        // Get the answer
        boolean answer = solution.isValid(testCase);
        // Print the answer
        System.out.println(answer);
    }
}

class Solution {

    ...

    public boolean isValid(String s) {

        ...

        return answer;
    }
}

此時咱們會看到在 Main 函數的上方出現了兩個 CodeLens 按鈕:

點擊 Run 按鈕會運行 Main 函數,咱們能夠在下方彈出的 Debug Console 中看到程序的輸出結果(由於咱們在最後一行代碼用了 println 輸出答案)。

若是想要調試的話,能夠在相應的行號位置設置好斷點,點擊 Debug 按鈕,就能夠進入調試模式查看代碼運行狀況了。

這裏有一點須要注意的是,因爲 LeetCode 生成的答題模板的類名均爲 Solution,所以會形成同一個目錄下存在多個同名類的狀況出現,可能致使代碼沒法正確執行,所以若是但願調試 LeetCode Java 代碼,但當前目錄又存在有多個 LeetCode Java 文件時,須要保證類名的惟一性,咱們能夠把被調試的 Solution 類改一個名字(但要記住提交時把名字改回來),或者乾脆拷貝到另外一個乾淨的目錄下調試便可。

以上就是如何在 VS Code 中調試 LeetCode Java 代碼的步驟,對於其餘語言來講,基本也是大同小異的步驟,若是你有更好的建議或者有本身喜歡的調試技巧,歡迎在評論區留言!

相關文章
相關標籤/搜索