如何在 VS Code 中调试 LeetCode 代码?

栏目: 编程工具 · 发布时间: 6年前

内容简介:摘要:面试刷题指南。Fundebug经授权转载,版权归原作者所有。近期收到不少小伙伴的求助,希望知道如何在 VS Code 中调试 LeetCode 代码。通常来说,为了调试本地代码,我们需要安装相关的语言支持插件。本文中,我们就以调试 LeetCode Java 代码为例,给大家介绍本地调试 LeetCode 代码的常用套路。

摘要:面试刷题指南。

Fundebug经授权转载,版权归原作者所有。

近期收到不少小伙伴的求助,希望知道如何在 VS Code 中调试 LeetCode 代码。通常来说,为了调试本地代码,我们需要安装相关的语言支持插件。本文中,我们就以调试 LeetCode Java 代码为例,给大家介绍本地调试 LeetCode 代码的常用套路。

想要了解如何在 VS Code 中刷题的小伙伴,可以移步: LeetCode for VS Code: 春招 Offer 收割利器

准备工作

首先确保系统内安装了JDK,相关教程有很多,此处就不赘述了。

之后我们需要确保在 VS Code 中安装了下列插件:

1. LeetCode

用来生成题目,提交答案。

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

提供智能提示等语言相关的功能。

3. Debugger for Java,Java

调试器。

安装完成之后,VS Code 的插件管理栏中,就可以看到这三个插件了:

如何在 VS Code 中调试 LeetCode 代码?

如果在打开 Java 文件后,VS Code 提示找不到 JDK,请检查一下 相关配置是否正确

编写调试代码:

我们就拿第 20 题: 有效的括号 作为例子。

在作答过程中,可能会看到编辑器里出现一些红线。不要担心,这表明 Language Support for Java 插件正在起作用。通常这意味着你的代码存在语法错误,下面的例子展示的错误原因是用到了依赖包但没有 import 到当前文件当中。我们可以利用 Quick Fix 功能进行修复:

如何在 VS Code 中调试 LeetCode 代码?

将依赖包导入时为了确保文件能够被正确编译。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 按钮:

如何在 VS Code 中调试 LeetCode 代码?

点击 Run 按钮会运行 Main 函数,我们可以在下方弹出的 Debug Console 中看到程序的输出结果(因为我们在最后一行代码用了 println 输出答案)。

如果想要调试的话,可以在相应的行号位置设置好断点,点击 Debug 按钮,就可以进入调试模式查看代码运行情况了。

这里有一点需要注意的是,由于 LeetCode 生成的答题模板的类名均为 Solution,因此会造成同一个目录下存在多个同名类的情况出现,可能导致代码无法正确执行,因此如果希望调试 LeetCode Java 代码,但当前目录又存在有多个 LeetCode Java 文件时,需要保证类名的唯一性,我们可以把被调试的 Solution 类改一个名字(但要记住提交时把名字改回来),或者干脆拷贝到另一个干净的目录下调试即可。

以上就是如何在 VS Code 中调试 LeetCode Java 代码的步骤,对于其他语言来说,基本也是大同小异的步骤,如果你有更好的建议或者有自己喜欢的调试技巧,欢迎在评论区留言!

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有Google、360、金山软件、百姓网等众多品牌企业。欢迎大家免费试用!

如何在 VS Code 中调试 LeetCode 代码?

版权声明

转载时请注明作者 Fundebug 以及本文地址:

https://blog.fundebug.com/2019/04/20/debug-leetcode-in-vscode/

您的用户遇到BUG了吗?

体验Demo 免费使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

颠覆者:周鸿祎自传

颠覆者:周鸿祎自传

周鸿祎、范海涛 / 北京联合出版公司 / 2017-11 / 49.80元

周鸿祎,一个在中国互联网历史上举足轻重的名字。他被认为是奠定当今中国互联网格局的人之一。 作为第一代互联网人,中国互联网行业最好的产品经理、创业者,他每时每刻都以自己的实践,为互联网的发展贡献自己的力量。 在很长一段时间内,他没有在公共场合发声,甚至有粉丝对当前死水一潭的互联网现状不满意,发出了“人民想念周鸿祎”的呼声。 但周鸿祎在小时候,却是一个踢天弄井,动不动就大闹天宫的超级......一起来看看 《颠覆者:周鸿祎自传》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试