亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vscode中配置LeetCode插件的教程(愉快刷題)

 更新時間:2020年03月29日 09:43:46   作者:TechFlow2019  
這篇文章主要介紹了vscode中配置LeetCode插件的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

大家好,今早在B站看到up主的vscode里藏了leetcode插件,這才知道原來還有這款神器。但是沒想到在用的時候遇到了一些麻煩,花了一點時間才解決。所以寫這篇文章除了給大家安利這個好用的插件之外,也是為了幫助更多的同學(xué)避免踩坑。

簡介vscode

vscode在工業(yè)界鼎鼎大名,被譽為微軟少有的拿得出手的精品(逃)。原本是不想過多贅述的,但是鑒于許多粉絲還是正在上學(xué)的萌新,所以花點筆墨簡單介紹一下。

vscode是微軟開發(fā)的編輯器,嚴(yán)格說起來它并不是一個IDE,只是一個編輯器。但是由于它支持嵌入各大語言的編譯器,并且對于terminal的支持也非常出色,所以已經(jīng)近乎于一個支持眾多語言,擁有許多特性的IDE了。根據(jù)2019年stackflow最新的調(diào)研,vscode已經(jīng)成為最受開發(fā)者歡迎的開發(fā)環(huán)境了。在當(dāng)下的互聯(lián)網(wǎng)公司當(dāng)中,可以說是無論前后端或者是其他的開發(fā)崗位都有大量的工程師使用它。它免費輕量級、跨平臺、并且有著大量好用的插件作為支持。

所以不論你用的是Windows,linux還是Mac,都可以非常方便地使用它。

強調(diào)一下,vscode支持各大語言,基本上我們能想到的,我們聽說過的沒有聽說過的,它都支持。我剛才特意去看了一下,連上古語言Pascal都支持,所以裝就完事了。對學(xué)生黨多說一句,不要聽什么老師或者是某本教材的忽悠,去裝什么visual studio或者是dev C++了,已經(jīng)過時了。

vscode的插件

vscode之所以強大很大的原因是因為擁抱開源,我們每個人都可以為它開發(fā)插件。也正是因為這點,vscode當(dāng)中有著非常非常多的插件,無論我們想得到的還是想不到的,可以說是應(yīng)有盡有。

我們點擊左側(cè)邊欄的extensions打開插件市場,我們可以當(dāng)中進行搜索。

比如你想要寫Python,那么我們就輸入Python,排名第一的就是Python的解釋器:

并且右側(cè)還會有詳細的說明和介紹文檔,介紹這款插件的使用方法或者是配置方法,以及我們可以自己根據(jù)需要設(shè)置的配置。

換成C++也是一樣:

這些說明其實對應(yīng)github倉庫當(dāng)中的一個repo,所以當(dāng)我們點擊其中的一些鏈接會跳轉(zhuǎn)到github當(dāng)中。另外,如果我們自己開發(fā)了相應(yīng)的插件,同樣也可以注冊到vscode當(dāng)中來,給其他人使用。

這也是開源精神所在,即使微軟家大業(yè)大,僅僅靠它一家公司的努力,是不可能同時支持和維護這么多功能和插件的。

另外,需要注意的是大部分插件是安裝好了可以直接使用的,但是也有些插件是需要配置的,這需要我們在安裝和使用之前詳細閱讀文檔。

leetcode插件

熟悉了vscode的插件之后,我們開始進入本文的正題。和預(yù)料的一樣,我們在插件市場當(dāng)中搜索leetcode,然后安裝下載量最高的那個即可。

我們安裝之后,按住shift + ctrl(command) + p,打開插件搜索欄。輸入leetcode,選擇第一個sign in,然后輸入賬號和密碼即可。

但是你會發(fā)現(xiàn)登陸失敗了

怎么回事,為什么失敗了,難道是記錯密碼了嗎?

于是你打開leetcode的網(wǎng)站又嘗試了一下,發(fā)現(xiàn)密碼沒有記錯,網(wǎng)頁可以登陸。

我們打開官網(wǎng),會發(fā)現(xiàn)官方已經(jīng)知道登陸失敗的問題了,這是由于leetcode官網(wǎng)升級了登陸機制導(dǎo)致的。

但是leetcode只升級了國際版,對于國內(nèi)的版本還沒有升級,所以如果你使用的是國內(nèi)的leetcode賬號,那么我們只需要更換leetcode版本即可。更換的方式也很簡單,點擊上方地球形狀的按鈕進行選擇即可:

但是,我個人更推薦使用國際版,因為英文的題目描述會更加清楚,并且題目的更新也會更加及時。況且以后說不準(zhǔn)中文版的leetcode也會升級登陸機制,到時候還是會面臨無法登陸的問題。

很遺憾的是,對于無法登陸這個問題,官方很坦率地承認了對于這個問題沒有特別好的解決方法,只能使用cookie來繞開。

cookie登陸

cookie在網(wǎng)站當(dāng)中經(jīng)常使用,我們可以簡單地將它認為是一個標(biāo)識身份的令牌或者說證書

我們都知道,現(xiàn)在的網(wǎng)站往往有自動登錄機制。因為我們每打開一次都要用戶輸入一次賬號密碼實在是太反人類了,并且有時候我們打開多個相同網(wǎng)站中的不同站點,也會想要保持登錄的狀態(tài),而不是再輸入賬號密碼。cookie正是基于整個目的誕生的。

cookie的原理也很簡單,我們在登錄網(wǎng)站成功之后,網(wǎng)站的服務(wù)器會根據(jù)我們的賬號id或者是其他信息使用加密算法生成一串密文。并且將這串密文發(fā)送給瀏覽器,瀏覽器會將這串密文存儲起來,這樣下次瀏覽器在訪問網(wǎng)站的時候,只需要攜帶上這串密文,網(wǎng)站拿到密文進行解密之后就能識別出這是哪一個用戶,自動設(shè)置成已經(jīng)登錄的狀態(tài),并且返回對應(yīng)的數(shù)據(jù)。

因此cookie數(shù)據(jù)非常重要,它關(guān)乎我們許多賬號的安全。如果我們的cookie被黑客獲取,我們的賬號都會面臨被盜的風(fēng)險。由于對稱加密算法幾乎不可攻破,所以目前許多針對瀏覽器賬戶的攻擊手段都和cookie有關(guān)。

我猜測登錄問題出現(xiàn)的原因應(yīng)該是leetcode官方人為限制了第三方插件通過賬號密碼代理登錄,所以解決方法很簡單,就是我們使用cookie來進行模擬登錄。

前期準(zhǔn)備

由于leetcode插件底層是使用的leetcode-cli命令行工具,所以我們需要現(xiàn)在本地保證我們的命令行工具的版本正確。

首先,我們需要安裝Node.js 8以上的版本,關(guān)于Node.js的安裝方法網(wǎng)上隨便就能搜到,安裝也很簡單,這里就不贅述了。

接著,我們通過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:

然后我們點擊網(wǎng)站導(dǎo)航欄中的problems:

這時候右邊會顯示出前端網(wǎng)頁跳轉(zhuǎn)的請求信息,我們找到其中一個名叫all的請求,選擇Headers,往下拉就能找到cookie:

我們把這一串字符串復(fù)制下來。

重新打開vscode,打開leetcode插件,選擇sign in,這一次在選擇登錄方式的時候我們選擇使用cookie登錄:

然后輸入賬號,粘貼進我們剛才復(fù)制下來的cookie即可。

順利的話,看到下圖紅框當(dāng)中的邊欄出現(xiàn),就說明我們已經(jīng)成功登錄。

leetcode插件使用

leetcode的使用很簡單,和網(wǎng)頁版差距不大,我們點開all可以看到所有的問題,我們點擊問題的標(biāo)題會自動為我們加載題目的詳細信息,已經(jīng)通過的問題會打上綠色的勾。

我們要做題的話就右擊選擇Show Problem

之后會彈出語言讓我們選擇,我們就選擇我們最常用的語言就好。比如我最近用Python做題,就選擇Python3:

之后選擇Just Open The problem file

vscode會自動為我們打開一個分屏。我們就可以一邊看問題一邊寫代碼了,不得不說實在是非常方便。

leetcode配置

最后簡單講一下leetcode插件的一些配置。

leetcode這個插件當(dāng)中的配置還蠻多的,但是我個人覺得最主要的是其中的兩個。一個是配置我們每個問題代碼存放的文件路徑,方便以后我們找到這些寫好的代碼。

這個配置名字叫做leetcode.workspaceFolder,默認的路徑是$HOME/.leetcode。這里的HOME是你系統(tǒng)的環(huán)境變量,不同的系統(tǒng)這個變量指定的位置不一樣。

我們可以打開終端輸入echo $HOME

查看一下我們當(dāng)前的$HOME目錄指向哪里,當(dāng)然我們也可以自己修改這個配置。我們打開vscode的配置文件,搜索leetcode.workspaceFolder,就可以找到vscode當(dāng)中的配置,我們修改我們想要的path即可。

另一個配置是編輯器的快捷方式,我們仔細觀察會發(fā)現(xiàn)我們打開的leetcode py文件下面會有兩個按鈕。我這張圖里是三個,因為我設(shè)置過。

這些按鈕是可以點擊的,它們都有具體的功能。比如Submit是提交當(dāng)前的code到leetcode網(wǎng)站,幫我們提交代碼。Test是執(zhí)行樣例,看看樣例是否能夠通過。除了這兩個之外還有兩個,一個叫做Solution,可以查看當(dāng)前最高贊的代碼。另一個是Description,是顯示問題描述。

我們可以在leetcode.editor.shortcuts配置當(dāng)中進行修改:

總結(jié)

有了這個插件之后,我們就可以擺脫使用網(wǎng)頁端來進行刷題了。不得不說實在是非常方便,另外對于我們程序員來說,我覺得leetcode當(dāng)中的許多問題,我們是一定會遇到的。問題僅僅是你遇到它的時候是在刷題還是面試。

到此這篇關(guān)于vscode中配置LeetCode插件,從此愉快地刷題的文章就介紹到這了,更多相關(guān)vscode中配置LeetCode插件,從此愉快地刷題 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++如何實現(xiàn)BCD碼和ASCII碼的相互轉(zhuǎn)換

    C++如何實現(xiàn)BCD碼和ASCII碼的相互轉(zhuǎn)換

    這篇文章主要介紹了C++實現(xiàn)BCD碼和ASCII碼互轉(zhuǎn),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • C++實現(xiàn)職工管理系統(tǒng)

    C++實現(xiàn)職工管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)職工管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • 詳解樹形DP

    詳解樹形DP

    樹形DP是什么?跟其他DP有什么區(qū)別?相信很多初學(xué)者在剛剛接觸一種新思想的時候都會有這種問題。沒錯,樹形DP準(zhǔn)確的說是一種DP的思想,將DP建立在樹狀結(jié)構(gòu)的基礎(chǔ)上。所以我們結(jié)合具體題目進行講解,希望大家可以在題目中領(lǐng)悟這種思想。
    2021-05-05
  • 解讀堆排序算法及用C++實現(xiàn)基于最大堆的堆排序示例

    解讀堆排序算法及用C++實現(xiàn)基于最大堆的堆排序示例

    把待排序的數(shù)組構(gòu)造出最大堆是進行堆排序操作的基本方法,這里將帶大家來解讀堆排序算法及用C++實現(xiàn)基于最大堆的堆排序示例,首先從堆排序的概念開始:
    2016-06-06
  • C++報錯:Id?returned?1exit?status的解決辦法

    C++報錯:Id?returned?1exit?status的解決辦法

    最近剛學(xué)c語言,不止一次遇到了同一種報錯,經(jīng)過總結(jié)分享給大家,下面這篇文章主要給大家介紹了關(guān)于C++報錯:Id?returned?1exit?status的解決辦法,需要的朋友可以參考下
    2023-04-04
  • C語言詳解如何實現(xiàn)順序棧

    C語言詳解如何實現(xiàn)順序棧

    順序棧,就是用一組地址連續(xù)的存儲單元來存放棧元素,然后用一個棧結(jié)構(gòu)去維護一個棧。在C中,可用動態(tài)開辟的數(shù)組去表示,維護的棧結(jié)構(gòu)需要有一個棧底和一個棧頂指針
    2022-04-04
  • C語言 擴展歐幾里得算法代碼

    C語言 擴展歐幾里得算法代碼

    這篇文章介紹了擴展歐幾里得算法的實現(xiàn)代碼,有需要的朋友可以參考一下
    2013-09-09
  • C++優(yōu)先隊列的使用小結(jié)

    C++優(yōu)先隊列的使用小結(jié)

    普通的隊列是一種先進先出的數(shù)據(jù)結(jié)構(gòu),元素在隊列尾追加,而從隊列頭刪除,在優(yōu)先隊列中,元素被賦予優(yōu)先級,本文主要介紹了C++優(yōu)先隊列的使用,感興趣的可以了解一下
    2023-11-11
  • C/C++中指針的深入理解

    C/C++中指針的深入理解

    指針在 C\C++ 語言中是很重要的內(nèi)容,并且和指針有關(guān)的內(nèi)容一向令初學(xué)者頭大,這篇文章主要給大家介紹了關(guān)于C/C++中指針的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • C++四種強制轉(zhuǎn)換原理與價值

    C++四種強制轉(zhuǎn)換原理與價值

    這篇文章主要介紹了C++的四種強制轉(zhuǎn)換原理與價值,文中介紹的非常詳細,對學(xué)習(xí)C語言有一定的參考價值,感興趣的小伙伴可以參考一下
    2023-04-04

最新評論