如何在vscode当中配置leetcode插件?

点击上方蓝字,和我一块儿学技术前端




你们好,今早在B站看到up主的vscode里藏了leetcode插件,这才知道原来还有这款神器。可是没想到在用的时候遇到了一些麻烦,花了一点时间才解决。因此写这篇文章除了给你们安利这个好用的插件以外,也是为了帮助更多的同窗避免踩坑。linux


简介vscode


vscode在工业界鼎鼎大名,被誉为微软少有的拿得出手的精品(逃)。本来是不想过多赘述的,可是鉴于许多粉丝仍是正在上学的萌新,因此花点笔墨简单介绍一下。git

vscode是微软开发的编辑器,严格提及来它并非一个IDE,只是一个编辑器。可是因为它支持嵌入各大语言的编译器,而且对于terminal的支持也很是出色,因此已经近乎于一个支持众多语言,拥有许多特性的IDE了。根据2019年stackflow最新的调研,vscode已经成为最受开发者欢迎的开发环境了。在当下的互联网公司当中,能够说是不管先后端或者是其余的开发岗位都有大量的工程师使用它。它免费轻量级、跨平台、而且有着大量好用的插件做为支持。程序员

因此不论你用的是Windows,linux仍是Mac,均可以很是方便地使用它。github

强调一下,vscode支持各大语言,基本上咱们能想到的,咱们据说过的没有据说过的,它都支持。我刚才特地去看了一下,连上古语言Pascal都支持,因此装就完事了。对学生党多说一句,不要听什么老师或者是某本教材的忽悠,去装什么visual studio或者是dev C++了,已通过时了。web


vscode的插件


vscode之因此强大很大的缘由是由于拥抱开源,咱们每一个人均可觉得它开发插件。也正是由于这点,vscode当中有着很是很是多的插件,不管咱们想获得的仍是想不到的,能够说是应有尽有。面试

咱们点击左侧边栏的extensions打开插件市场,咱们能够当中进行搜索。算法

好比你想要写Python,那么咱们就输入Python,排名第一的就是Python的解释器:npm

而且右侧还会有详细的说明和介绍文档,介绍这款插件的使用方法或者是配置方法,以及咱们能够本身根据须要设置的配置。后端

换成C++也是同样:

这些说明其实对应github仓库当中的一个repo,因此当咱们点击其中的一些连接会跳转到github当中。另外,若是咱们本身开发了相应的插件,一样也能够注册到vscode当中来,给其余人使用。

这也是开源精神所在,即便微软家大业大,仅仅靠它一家公司的努力,是不可能同时支持和维护这么多功能和插件的。

另外,须要注意的是大部分插件是安装好了能够直接使用的,可是也有些插件是须要配置的,这须要咱们在安装和使用以前详细阅读文档。


leetcode插件


熟悉了vscode的插件以后,咱们开始进入本文的正题。和预料的同样,咱们在插件市场当中搜索leetcode,而后安装下载量最高的那个便可。

咱们安装以后,按住shift + ctrl(command) + p,打开插件搜索栏。输入leetcode,选择第一个sign in,而后输入帐号和密码便可。

可是你会发现登录失败了

怎么回事,为何失败了,难道是记错密码了吗?

因而你打开leetcode的网站又尝试了一下,发现密码没有记错,网页能够登录。

咱们打开官网,会发现官方已经知道登录失败的问题了,这是因为leetcode官网升级了登录机制致使的。

可是leetcode只升级了国际版,对于国内的版本尚未升级,因此若是你使用的是国内的leetcode帐号,那么咱们只须要更换leetcode版本便可。更换的方式也很简单,点击上方地球形状的按钮进行选择便可:

可是,我我的更推荐使用国际版,由于英文的题目描述会更加清楚,而且题目的更新也会更加及时。何况之后说不许中文版的leetcode也会升级登录机制,到时候仍是会面临没法登录的问题。

很遗憾的是,对于没法登录这个问题,官方很坦率地认可了对于这个问题没有特别好的解决方法,只能使用cookie来绕开


cookie登录


cookie在网站当中常用,咱们能够简单地将它认为是一个标识身份的令牌或者说证书

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

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

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

我猜想登陆问题出现的缘由应该是leetcode官方人为限制了第三方插件经过帐号密码代理登陆,因此解决方法很简单,就是咱们使用cookie来进行模拟登陆


前期准备


因为leetcode插件底层是使用的leetcode-cli命令行工具,因此咱们须要如今本地保证咱们的命令行工具的版本正确。

首先,咱们须要安装Node.js 8以上的版本,关于Node.js的安装方法网上随便就能搜到,安装也很简单,这里就不赘述了。

接着,咱们经过npm工具安装最新版本的leetcode-cli:

# to remove the old version
npm uninstall -g leetcode-cli
# to install the up-to-date version(2.6.17+)
npm install -g leetcode-tools/leetcode-cli


操做流程


首先,咱们须要经过浏览器获取咱们帐号的cookie。下面以Google Chrome浏览器举例。

咱们先打开leetcode用咱们本身的帐号和密码登陆,而后右击选择inspect:

接着选择Network下的XHR:

而后咱们点击网站导航栏中的problems:

这时候右边会显示出前端网页跳转的请求信息,咱们找到其中一个名叫all的请求,选择Headers,往下拉就能找到cookie:

咱们把这一串字符串复制下来。

从新打开vscode,打开leetcode插件,选择sign in,这一次在选择登陆方式的时候咱们选择使用cookie登陆

而后输入帐号,粘贴进咱们刚才复制下来的cookie便可。

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



leetcode插件使用


leetcode的使用很简单,和网页版差距不大,咱们点开all能够看到全部的问题,咱们点击问题的标题会自动为咱们加载题目的详细信息,已经经过的问题会打上绿色的勾。

咱们要作题的话就右击选择Show Problem

以后会弹出语言让咱们选择,咱们就选择咱们最经常使用的语言就好。好比我最近用Python作题,就选择Python3:

以后选择Just Open The problem file

vscode会自动为咱们打开一个分屏。咱们就可以一边看问题一边写代码了,不得不说实在是很是方便。



leetcode配置


最后简单讲一下leetcode插件的一些配置。

leetcode这个插件当中的配置还蛮多的,可是我我的以为最主要的是其中的两个。一个是配置咱们每一个问题代码存放的文件路径,方便之后咱们找到这些写好的代码。

这个配置名字叫作leetcode.workspaceFolder,默认的路径是$HOME/.leetcode。这里的$HOME是你系统的环境变量,不一样的系统这个变量指定的位置不同。

咱们能够打开终端输入

echo $HOME

查看一下咱们当前的$HOME目录指向哪里,固然咱们也能够本身修改这个配置。咱们打开vscode的配置文件,搜索leetcode.workspaceFolder,就能够找到vscode当中的配置,咱们修改咱们想要的path便可。

另外一个配置是编辑器的快捷方式,咱们仔细观察会发现咱们打开的leetcode py文件下面会有两个按钮。我这张图里是三个,由于我设置过。

这些按钮是能够点击的,它们都有具体的功能。好比Submit是提交当前的code到leetcode网站,帮咱们提交代码。Test是执行样例,看看样例是否可以经过。除了这两个以外还有两个,一个叫作Solution,能够查看当前最高赞的代码。另外一个是Description,是显示问题描述。

咱们能够在leetcode.editor.shortcuts配置当中进行修改:



总结


有了这个插件以后,咱们就能够摆脱使用网页端来进行刷题了。不得不说实在是很是方便,另外对于咱们程序员来讲,我以为leetcode当中的许多问题,咱们是必定会遇到的。问题仅仅是你遇到它的时候是在刷题仍是面试

今天是周末,祝愿你们刷题愉快,点个赞再走吧。

本文分享自微信公众号 - TechFlow(techflow2019)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索