vscode中配置LeetCode插件

vscode的插件


vscode之所以强大很大的原因是因为拥抱开源,每个人都可以为它开发插件,正是因为这点,vscode当中有着非常非常多的插件,无论我们想得到的还是想不到的,可以说是应有尽有。

leetcode插件


在插件市场当中搜索leetcode,然后安装下载量最高的那个即可。

image.png
安装之后,按住shift + ctrl(command) + p,打开插件搜索栏。输入leetcode,选择第一个sign in,然后输入账号和密码即可。

image.png
结果是“登陆失败了

问题及解决办法

并不是你记错了密码和登录信息,这个过我们不背。

image.png
解决办法:
leetcode只升级了国际版,对于国内的版本还没有升级,所以如果你使用的是国内的leetcode账号,那么我们只需要更换leetcode版本即可。更换的方式也很简单,点击上方地球形状的按钮进行选择即可:

image.png
对于无法登陆这个问题,官方很坦率地承认了对于这个问题没有特别好的解决方法,只能使用cookie来绕开。

cookie登陆


cookie在网站当中经常使用,我们可以简单地将它认为是一个标识身份的令牌或者说证书。

我们都知道,现在的网站往往有自动登录机制。因为我们每打开一次都要用户输入一次账号密码实在是太反人类了,并且有时候我们打开多个相同网站中的不同站点,也会想要保持登录的状态,而不是再输入账号密码。cookie正是基于整个目的诞生的。

cookie的原理也很简单,我们在登录网站成功之后,网站的服务器会根据我们的账号id或者是其他信息使用加密算法生成一串密文。并且将这串密文发送给浏览器,浏览器会将这串密文存储起来,这样下次浏览器在访问网站的时候,只需要携带上这串密文,网站拿到密文进行解密之后就能识别出这是哪一个用户,自动设置成已经登录的状态,并且返回对应的数据。

因此cookie数据非常重要,它关乎我们许多账号的安全。如果我们的cookie被黑客获取,我们的账号都会面临被盗的风险。由于对称加密算法几乎不可攻破,所以目前许多针对浏览器账户的攻击手段都和cookie有关。

我猜测登录问题出现的原因应该是leetcode官方人为限制了第三方插件通过账号密码代理登录,所以解决方法很简单,就是我们使用cookie来进行模拟登录

操作流程


首先,我们需要通过浏览器获取我们账号的cookie。下面以Google Chrome浏览器举例。

我们先打开leetcode用我们自己的账号和密码登录,然后右击选择inspect:
image.png
接着选择Network下的XHR

image.png
然后我们点击网站导航栏中的problems:

image.png
找到其中一个名叫all的请求,选择Headers,往下拉就能找到cookie:

image.png
把这一串字符串复制下来。
重新打开vscode,打开leetcode插件,选择sign in,选择登录方式的时候,选择使用cookie登录:

image.png
然后输入账号,粘贴进我们刚才复制下来的cookie即可。

顺利的话,看到下图红框当中的边栏出现,就说明我们已经成功登录了。

image.png

leetcode插件使用


leetcode的使用很简单,和网页版差距不大,我们点开all可以看到所有的问题,我们点击问题的标题会自动为我们加载题目的详细信息,已经通过的问题会打上绿色的勾

image.png
做题的话就右击选择Show Problem

image.png
之后会弹出语言让我们选择,我们就选择我们最常用的语言就好。比如我最近用JavaScript做题,就选择JavaScript:

image.png
之后选择Just Open The problem file

image.png
vscode会自动为我们打开一个分屏。我们就可以一边看问题一边写代码了。

image.png

leetcode配置


leetcode这个插件当中的配置还蛮多的,但是我个人觉得最主要的是其中的两个。一个是配置我们每个问题代码存放的文件路径,方便以后我们找到这些写好的代码。
这个配置名字叫做leetcode.workspaceFolder,默认的路径是$HOME/.leetcode。这里的HOME是你系统的环境变量,不同的系统这个变量指定的位置不一样。
我们可以打开终端输入

echo $HOME
复制代码

查看一下我们当前的$HOME目录指向哪里,我们也可以自己修改这个配置。打开vscode的配置文件,搜索leetcode.workspaceFolder,就可以找到vscode当中的配置,我们修改我们想要的path即可。

image.png
另一个配置是编辑器的快捷方式,我们仔细观察会发现我们打开的leetcode py文件下面会有两个按钮。

image.png

按钮功能介绍

Submit是提交当前的code到leetcode网站,帮我们提交代码。

Test是执行样例,看看样例是否能够通过。

Solution,可以查看当前最高赞的代码。

Description,是显示问题描述。

也可以在leetcode.editor.shortcuts配置当中进行修改:

image.png

总结


有了这个插件,我们就可以摆脱使用网页端来刷题了。不得不说非常的方便,此外对于程序员来说,我觉得leetcode当中的许多问题,我们是一定会遇到的。勤加练习对于我们的发展还是有很大的提升。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享