使用 CLion 进行 LeetCode 刷题 & 本地 Debug

在编辑器里面进行 LeetCode 刷题是一个很便捷的方式,相比网页端,随时写自测 Debug 然后再提交更加友好。本文整理了下使用 CLion 进行 LeetCode 刷题的插件安装、调试、提交的常用步骤。

0 系统环境

Ubuntu 16.04
CLion 2021.2.2
LeetCode Editor v7.0
C/C+​+​ Single File Execution v1.3 (可选)

1 安装插件

所谓“工欲善其事必先利其器”,在进行刷题之前我们首先安装两个 CLion 插件。一个是 LeetCode Editor ,另一个是 C/C+​+​ Single File Execution。
进入菜单 File -> Settings -> Plugins
输入 leetcode 搜索招到 LeetCode Editor 插件,然后点击 Install 按钮进行安装。

输入 single file 搜索招到 C/C+​+​ Single File Execution 插件,然后点击 Install 按钮进行安装。

2 配置插件

打开菜单 File -> Settings -> Tools -> LeetCode Plugin
按照下面的说明填写相关内容:

上述菜单说明:
URL: leetcode.com 或 leetcode-cn.com
CodeType: Java, Python, C++, Python3, C, C#, JavaScript, Ruby, Swift, Go, Scala, Kotlin, Rust, PHP
LoginName: 登录用户名
Password: 登录密码
TempFilePath: 临时文件存放目录,就是你想要保存所有 LeetCode 练习工程的地方。我们需要本地创建一个目录并且填写在这里,我这里设置为:/home/liuxiao/Develop/LeetCode
Cutstom Temlate :自定义模板,打开。
CodeFileName :Leetcode文件名称,建议设置为:
$!velocityTool.snakeCaseName($!{question.frontendQuestionId})-${question.titleSlug}
CodeTemplate :重点,关系到生成的文件能否一步运行,引入了项目中的库文件,包括基本的c,c++库,与别人实现的Leetcode链表与树。
建议如下:

3 配置 LeetCode 环境

3.1 下载依赖库文件

使用 git clone 或者直接 copy 以下工程的文件到 /home/liuxiao/Develop/LeetCode :
https://github.com/zzh799/LeetCode_LocalDebug_Cpp

例如:

拷贝后文件类似:

3.2 打开工程目录

File -> Open 选择刚才的目录 /home/liuxiao/Develop/LeetCode,然后 Create:

打开后的工程类似下面:

3.3 打开并登录 LeetCode 菜单

在左下角点击方块按钮,然后选择 leetcode 菜单项:

菜单说明如下:
Login 登录:两个网站的登录帐号不互通,切换网站需配置对应的用户
Logout 退出:退出当前账户,如遇到登录错误,尝试先进行退出
Refresh 刷新:在未登录的情况下也可查看刷新加载题目,但是无法提交
PickOne 随机选题目:点击后会随机选择一个题目
Find 查找:输入内容后回车搜索,再次回车搜索下一个,只会搜索题库节点下
Collapse 折叠:折叠全部节点.
Config 配置:快捷跳转到配置界面
Clear 清理:清理配置的缓存目录下的文件,两个网站对应的缓存目录不同,只会清理当前配置的网站下的。部分题目未提交的情况下慎重清理

首先要登录,点击 如果你填写的密码没有错误,右下角则会显示 Login successfuly 的提示。

3.4 创建题目文件

点击右侧 Problem 菜单,打开找到任意题目双击,即可在刚才设置的目录 /home/liuxiao/Develop/LeetCode 中创建临时文件:

3.5 创建工程文件

点击生成的 cpp 源码,在文件空白处,右键选择 Add executable for single c/cpp file,会自动在根目录下的 CMakeLists.txt 中创建可执行项目。

此时就会在你的 CMakeLists.txt 下面加入一行:

当然你也可以不使用菜单直接手工添加这一行配置。

如果此时在 Run 下面并没有出现 1-two-sum 的可执行选项,可以在工程右键点击 Reload CMake Project。
同时建议使用 File -> Settings -> Build, Execution, Deployment -> CMake 打开自动 Reload CMake 的选项。

4 使用 CLion 本地 Run & Debug

根据 Test Case,修改 main.cpp 文件进行 Debug,例如 Two Sum 问题修改:

其余就和调试普通的工程文件没有什么差别了。

5 LeetCode 运行 & 提交

在生成的文件右键点击菜单 leetcode editor menu 可以看到所有 LeetCode 功能:

比如点击 Run Code 结果如下:

比如点击 Submit 结果如下:

参考文献

[1] https://plugins.jetbrains.com/plugin/12132-leetcode-editor
[2] https://zhuanlan.zhihu.com/p/79829131
[3] https://github.com/shuzijun/leetcode-editor/blob/master/README_ZH.md
[4] https://github.com/zzh799/LeetCode_LocalDebug_Cpp

Add a Comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注