配套 JetBrains 刷题插件
JetBrains 刷题插件可以在 JetBrains 全家桶的所有 IDE(比如 Intellij,Pycharm 等等)中刷 LeetCode/力扣,同时可以查看我的解题思路:
使用指南
本插件基于开源插件 LeetCode Editor 开发(感谢开源作者 @shuzijun):
https://github.com/shuzijun/leetcode-editor/
下面介绍一下本插件的基本的使用和我添加的辅助刷题功能。
登录 力扣/LeetCode 账号
安装插件之后,侧边栏将出现插件图标,点击插件设置按钮,按下图进行设置:
1️⃣ 点击设置按钮,进入设置页面。
2️⃣ 选择登录的站点,可以是英文版 LeetCode 或中文版力扣。
3️⃣ 设置你希望使用的编程语言。
4️⃣ 设置题目代码文件的存储路径。
5️⃣ 设置完成后点击 OK 按钮。
6️⃣ 点击登录按钮。
点击登录按钮之后,会弹出一个对话框让你输入 cookie。如果你在设置的登录英文版 LeetCode,则输入 leetcode.com 的网站 cookie,如果设置的是登录中文版力扣,则输入 leetcode.cn 的网站 cookie:
中文力扣 leetcode.cn 的 cookie 的获取方法如下,浏览器打开中文力扣官网 https://leetcode.cn,确保已经登录你的力扣账号,打开开发者工具(Chrome 浏览器可以按 F12 打开),复制 cookie 的值:
1️⃣ ~ 2️⃣ 打开中文力扣的官网 https://leetcode.cn 并确保已经登录你的账号。
3️⃣ 打开开发者工具(Chrome 按 F12),点击 Network 选项卡。
4️⃣ ~ 6️⃣ 刷新页面,点击第一个请求,查看该请求的 Headers,其中有一个 Cookie 字段。
7️⃣ 全选整个 cookie 字符串,右键复制。
获取英文 LeetCode 的 cookie 方法是类似的,只需打开英文版 LeetCode 的官网 https://leetcode.com,重复上面的操作即可,这里不再赘述。
把 cookie 粘贴到插件并点击登录,应该就可以成功在插件中登录你的 力扣/LeetCode 账号,开始刷题了。
本地调试代码
着重强调一下自定义代码模板的功能,这个功能可以最大化发挥出 IDE 的优势:
- 可以自动给代码文件添加
main
函数。 - 可以自动修改文件名/类名为题目的英文名,方便组织和查找。
- 可以自动声明 LeetCode 中的内置的
TreeNode, ListNode
等数据结构。 - 利用 IDE 的自动补全和 debug 调试功能。
详细配置方法和案例项目 见这里。
除了 LeetCode Editor 的基本功能,我还添加了很多实用的功能,下面简单介绍一下。
题解/思路辅助刷题
登录成功后,有我的题解或思路的题目会标记 ✨:
点开带 ✨ 标记的题目详情页会显示「labuladong 题解」和「labuladong 思路」:
代码图片注释
「labuladong 思路」中的代码支持直接复制,且代码中的小灯泡图标会弹出图片辅助理解代码逻辑:
算法可视化面板
「labuladong 思路」展开后,解法代码下方会显示一个可交互的算法可视化面板,帮助理解算法的执行过程:
可视化面板的具体功能请参考 算法可视化面板简介。
常见问题
如何本地调试代码
需要利用自定义代码模板的功能,请仔细参考上面使用指南的「本地调试代码」部分。
中文乱码?
对于比较新的 IDE 版本和操作系统来说,一般不会出现这个问题。如果出现了,可以参考 这个帖子 修改 IDE 的编码为 utf-8。
题目页面会突然变成空白?
你的 IDE 是否已经安装使用了很久?只有 IDE 重度使用者才会遇到这个 bug,原因很难排查,大概是 IDE 升级过程中的某些缓存/内部配置的问题导致的。一个最简单的解决办法是:去官网重新下载最新版 IDE,覆盖安装本地的 IDE(不用担心,并不会覆盖已有的配置),这样一来所有问题都消失了。
题目列表没有 ✨ 标记?
如果登录账号超过一分钟,题目列表还没有出现 ✨ 标记,可以点击工具栏最右侧的网站 logo 图标手动刷新 labuladong 的题解数据:
等待十几秒左右就会看到通知栏显示「手动刷新 labuldong 数据成功」,✨ 标记就会出现。
如果依然没有出现,大概率是网络问题。可以在设置中修改 dataSource
(如果设置了数据源为 China,可能需要关闭网络代理):
有 ✨ 标记但是没有思路和题解按钮?
如果显示数据拉取成功,但是题目详情页没有「labuladong 题解」和「labuladong 思路」按钮,是因为 IDE 的文件系统缓存没有刷新。
你可以尝试手动清除 IDE 的缓存并重启 IDE:
代码不会自动补全/纠错?
代码补全和纠错是 IDE 的基础功能,和插件无关。如果没有代码补全和纠错功能,一般是因为你的 IDE 没有配置好,或者是你的代码文件无法被 IDE 识别。
比如对于 Go 语言来说,需要在代码文件的第一行加上 package main
才能被 Goland IDE 识别,你可以使用前面介绍的「本地调试代码」功能来自动添加这一行。
类似的,再比如 Java 文件,需要在一个 Java 项目中才能被 IDE 识别。你可以修改插件配置,把 TempFilePath
设置为你的项目路径,并设置 Code Template 自动添加 package 名称,这样代码文件就会被保存到项目中,IDE 就能识别并给出代码补全了。
没有代码提交按钮?
旧版本插件可能出现这个问题,请确认是否使用的是最新版插件。正常来说,鼠标移动到代码编辑区域,右上角就会出现提交、测试等功能按钮。
同时,在代码文件中点击右键,也会出现提交、测试等功能按钮。
安装方式
我的插件全名为「LeetCode with labuladong」,在 JetBrains 系列 IDE 的插件商店中搜索关键词「labuladong」即可下载:
如果无法搜索到插件,可能是网络的问题。可以在 JetBrains 插件网页端按照指示下载安装:
https://plugins.jetbrains.com/plugin/19317-leetcode-with-labuladong
更新方式
JetBrains 家的 IDE 会自动检测更新,有更新时会有提示。建议及时更新最新版,以获得最流畅的体验。
更新日志
详见 Jetbrain 插件更新日志。
bug 反馈
可以在 GitHub 创建 Issue 反馈问题: