![dad4a652d623ca1d1a6113146ea52862.png](https://i-blog.csdnimg.cn/blog_migrate/c6eb855e1b7cb4a4611a1ae586f8178d.jpeg)
近期收到不少小伙伴的求助,希望知道如何在 VS Code 中调试 LeetCode 代码。通常来说,为了调试本地代码,我们需要安装相关的语言支持插件。本文中,我们就以调试 LeetCode Java 代码为例,给大家介绍本地调试 LeetCode 代码的常用套路。
想要了解如何在 VS Code 中刷题的小伙伴,可以移步:LeetCode for VS Code: 春招 Offer 收割利器。
准备工作
首先确保系统内安装了JDK,相关教程有很多,此处就不赘述了。
之后我们需要确保在 VS Code 中安装了下列插件:
- LeetCode,用来生成题目,提交答案。
![36c3406095b23eaad14cbfe75ad7ea2a.png](https://i-blog.csdnimg.cn/blog_migrate/5f0235cd4c5def87f606fbf5e0d30cbe.jpeg)
2. Language Support for Java(TM) by Red Hat,提供智能提示等语言相关的功能。
Language Support for Java(TM) by Red Hatmarketplace.visualstudio.com![babef931ef1ec7b3d76cedd1d74963e4.png](https://i-blog.csdnimg.cn/blog_migrate/3f956e79939659eb16e111b84ffade8d.png)
3. Debugger for Java,Java 调试器。
Debugger for Javamarketplace.visualstudio.com![e45fdb46e30f1e50718a18593ec20ff7.png](https://i-blog.csdnimg.cn/blog_migrate/f3e21fb48ce0aaee342cc11332c48917.png)
安装完成之后,VS Code 的插件管理栏中,就可以看到这三个插件了:
![81da98f5b1e7ac3240eeb0451836a3ba.png](https://i-blog.csdnimg.cn/blog_migrate/b56e6d666aa99534abb80670edaa7bc3.jpeg)
如果在打开 Java 文件后,VS Code 提示找不到 JDK,请检查一下相关配置是否正确。
编写调试代码:
我们就拿第 20 题:有效的括号作为例子。
在作答过程中,可能会看到编辑器里出现一些红线。不要担心,这表明 Language Support for Java 插件正在起作用。通常这意味着你的代码存在语法错误,下面的例子展示的错误原因是用到了依赖包但没有 import 到当前文件当中。我们可以利用 Quick Fix 功能进行修复:
![42fb74a58546f0101ba4da00fc5290af.png](https://i-blog.csdnimg.cn/blog_migrate/2f319f81c40dfaa75f84a3d6ffb186e9.jpeg)
将依赖包导入时为了确保文件能够被正确编译。LeetCode 在检查答案的时候,并不会要求文件中存在相应的 import 语句,因此存不存在 import 语句不会影响最后的检查结果。
写完答案之后,我们还需要在同一个文件中,增加一个 Main 函数作为调试程序的执行入口,整个文件的代码结构如下:
class
此时我们会看到在 Main 函数的上方出现了两个 CodeLens 按钮:
![4fc74eea8947e146aa6bcb379e3f677a.png](https://i-blog.csdnimg.cn/blog_migrate/004a9fbba33f38ed46ea09a028ab0de4.jpeg)
点击 Run 按钮会运行 Main 函数,我们可以在下方弹出的 Debug Console 中看到程序的输出结果(因为我们在最后一行代码用了 println 输出答案)。
如果想要调试的话,可以在相应的行号位置设置好断点,点击 Debug 按钮,就可以进入调试模式查看代码运行情况了:
![7e81a28686d660713fa4d3ff84c69d95.png](https://i-blog.csdnimg.cn/blog_migrate/e1ce1681f60d4ba4b609e34fed6d801d.jpeg)
这里有一点需要注意的是,由于 LeetCode 生成的答题模板的类名均为 Solution,因此会造成同一个目录下存在多个同名类的情况出现,可能导致代码无法正确执行,因此如果希望调试 LeetCode Java 代码,但当前目录又存在有多个 LeetCode Java 文件时,需要保证类名的唯一性,我们可以把被调试的 Solution 类改一个名字(但要记住提交时把名字改回来),或者干脆拷贝到另一个干净的目录下调试即可。
以上就是如何在 VS Code 中调试 LeetCode Java 代码的步骤,对于其他语言来说,基本也是大同小异的步骤,如果你有更好的建议或者有自己喜欢的调试技巧,欢迎在评论区留言!