跳至主要內容

 

labuladong原创配套学习工具约 1859 字大约 6 分钟

提示

labuladong 的刷题全家桶 由学习网站、《算法秘籍》《刷题笔记》两本 PDF、Chrome/vscode/Jetbrain 三个不同平台的刷题插件组成,致力于为大家提供最丝滑的刷题体验。公众号后台回复关键词「全家桶」即可获取下载和使用手册。

由于我的 Chrome 刷题插件 收到很多小伙伴的好评,不过有的小伙伴反馈不喜欢在网页刷题,所以我就开发了 JetBrains 刷题插件,提供和 Chrome 插件类似的功能,大家可以在 JetBrains 全家桶的所有 IDE(比如 Intellij,Pycharm 等等)中刷题。

视频介绍

最近录了一个视频介绍 Jetbrains 插件的主要功能,喜欢看视频的读者可以去 B 站观看:

使用指南

基本功能

本插件基于开源插件 LeetCode Editor 开发,所以继承了该插件的所有功能,比如 LeetCode/力扣 账号的登录、题目搜索、代码的测试和提交、自定义代码模板等,说明文档如下:

https://github.com/shuzijun/leetcode-editor/blob/master/README_ZH.mdopen in new window

提示

着重强调一下自定义代码模板的功能,可以自动给代码文件添加 main 函数,自动添加 LeetCode 中的内置数据结构的声明等,方便利用 IDE 的自动补全和 debug 调试功能。详见 这里open in new window

除了 LeetCode Editor 的基本功能,我还添加了很多实用的功能,下面简单介绍一下。

题解/思路辅助刷题

登录成功后,有我的题解或思路的题目会标记 ✨:

点开带 ✨ 标记的题目详情页会显示「labuladong 题解」和「labuladong 思路」:

代码图片注释

「labuladong 思路」中的代码支持直接复制,且代码中的小灯泡图标会弹出图片辅助理解代码逻辑:

算法可视化面板

「labuladong 思路」展开后,解法代码下方会显示一个可交互的算法可视化面板,帮助理解算法的执行过程:

可视化面板的具体功能请参考 算法可视化面板简介

用一个简短的 GIF 看下这个插件有多好用:

常见问题

如何本地调试代码

你写算法题的文件就是一个代码文件,在对应的 IDE 里面肯定是可以本地调试的。

比方说我在 Intellij 用 Java 刷题,除了题目给的 Solution 类外,我需要自己写一个类,比方说名为 Test,然后在其中添加 main 函数,然后构造测试用例,调用执行 Solution 类里面的算法函数,这样就可以本地调试了。

提示

你可以把 Test 类、main 函数、TreeNode, ListNode 这种公用的代码实现统一放到 Code Template 里面,这样每次新打开题目的时候,这些代码就会自动添加到代码文件中,不用你每次手动添加了。

中文乱码?

对于比较新的 IDE 版本和操作系统来说,一般不会出现这个问题。如果出现了,可以参考 这个帖子open in new window 修改 IDE 的编码为 utf-8。

题目页面会突然变成空白?

你的 IDE 是否已经安装使用了很久?只有 IDE 重度使用者才会遇到这个 bug,原因很难排查,大概是 IDE 升级过程中的某些缓存/内部配置的问题导致的。一个最简单的解决办法是:去官网重新下载最新版 IDE,覆盖安装本地的 IDE(不用担心,并不会覆盖已有的配置),这样一来所有问题都消失了。

题目列表没有 ✨ 标记?

如果登录账号超过一分钟,题目列表还没有出现 ✨ 标记,可以点击工具栏最右侧的公众号图标手动刷新 labuladong 的题解数据:

等待十几秒左右就会看到通知栏显示「手动刷新 labuldong 数据成功」,✨ 标记就会出现。

如果依然没有出现,可能是网络问题。因为默认优先去 GitHub 上拉取数据,国内访问可能不稳定,可以在设置中修改 dataSource 到国内的 Gitee 源:

有 ✨ 标记但是没有思路和题解按钮?

如果显示数据拉取成功,但是题目详情页没有「labuladong 题解」和「labuladong 思路」按钮,是因为 IDE 的文件系统缓存没有刷新。

你可以尝试手动清除 IDE 的缓存并重启 IDE:

没有代码自动补全?

代码补全是 IDE 的基础功能,和插件无关。如果没有代码补全,可能是你的 IDE 没有配置好,或者是你的代码文件无法被 IDE 识别。

比如对于 Go 语言来说,需要在代码文件的第一行加上 package main 才能被 Goland IDE 识别,你可以使用 Code Templateopen in new window 功能来自动添加这一行。

类似的,再比如 Java 文件,需要在一个项目中才能被 IDE 识别。你可以把 TempFilePath 设置为你的项目路径,并设置 Code Templateopen in new window 自动添加 package 名称,这样代码文件就会被保存到项目中,IDE 就能识别并给出代码补全了。

没有代码提交按钮?

目前插件没有很好地适配新 UI,如果你使用的 Jetbrain 新 UI,可能找不到代码提交按钮。你可以使用右键进行代码提交:

安装方式

注意

注意:由于本插件基于 LeetCode Editor 开源插件改写:

https://github.com/shuzijun/leetcode-editoropen in new window

所以如果你之前安装了 Leetcode Editor 插件,需要先将其卸载,否则会因为命令名称相同而导致冲突。本插件的功能为原插件的超集,请放心,之前的刷题代码文件都不会丢失。

我的插件全名为「LeetCode with labuladong」,在 JetBrains 系列 IDE 的插件商店中搜索关键词「labuladong」即可下载:

如果无法搜索到插件,可能是网络的问题。可以在 JetBrains 插件网页端按照指示下载安装:

https://plugins.jetbrains.com/plugin/19317-leetcode-with-labuladongopen in new window

更新方式

JetBrains 家的 IDE 会自动检测更新,有更新时会有提示。建议及时更新最新版,以获得最流畅的体验。

更新日志

详见 Jetbrain 插件更新日志

bug 反馈

如果你在使用中遇到问题,可以在这里按要求反馈 bug,我会定期回复和处理:

https://github.com/labuladong/fucking-algorithm/discussions/939open in new window