26
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

vscodeでleetcodeに入門しようと思ってハマった話(と回避策)

Last updated at Posted at 2019-12-04

背景

趣味でプログラミングをやっていたりはしましたが、今年に入ってからは業務でもプロダクト開発に関わるようになってきました。その過程で、アルゴリズムやTDDなどの一通りの勉強はしましたが、まだまだ修行が足りないと感じていました。そんな時に、下記TweetとBlog記事を読んでleetcodeの問題をTDDを使いながら解いていけばいいじゃんと安易に考え実践することにしました。

TL;DR

  • leetcode+vscode+node.js+jestの環境を構築したが
  • vscode-leetcodeのプラグインでSignInができず
  • 苦戦したけどGitHubのIssueをみてmanualで設定したらなんとかなった

環境

2019年12月4日時点の情報なので、その後修正されれば同じ問題は起こらないと思います

  • vscode 1.40.2
  • node.js 12.4.0
  • vscode-leetcode 0.15.7
  • leetcode-cli 2.6.2
  • npm 6.11.3

環境構築

JavaScript+Jestを考えていたので下記を利用しました

手順に従ってSetupを行います

vscode-leetcodeのSignIn

vscode-leetcodeをログインすると左側のペインにleetcodeのアイコンが現れるのでそれをクリックすることで「Sign in to LeetCode」を実行できます。
image.png

現れた入力画面にユーザー名(またはメールアドレス)とパスワードを入力することでSignInできるようです
image.png

しかしながら、下記のようなエラーが表示されてSignInができません
image.png

v12.4.0
 Active  Name               Version         Desc
----------------------------------------------------------------------------------------------------
   ✔     solution.discuss   2019.02.03      Plugin to fetch most voted solution in discussions.
   ✔     company            2017.12.18      Plugin to query by company for free user.
   ✔     cache              default         Plugin to provide local cache.
   ✔     retry              default         Plugin to retry last failed request if autologin.enable is on.
   ✘     leetcode.cn        2018.11.25      Plugin to talk with leetcode-cn APIs.
   ✔     leetcode           default         Plugin to talk with leetcode APIs.
[ERROR] You are not login yet?
login: pass: - Signing in leetcode.com
[ERROR] invalid password?

原因

その後再度アカウント作成を行ったり色々してましたが、最終的には依存ライブラリが壊れていることが原因でした

回避策

ChromeブラウザでLeetCodeにログインし、開発者ツールのApplicationタブからCookieの下記NameのValueをメモする
image.png

下記リンク先に従って、~/.lc/leetcode/user.jsonにメモした値を入力する

{
  "login": "[username]",
  "loginCSRF": "",
  "sessionCSRF": "[copied from csrftoken]",
  "sessionId": "[copied from LEETCODE_SESSION]"
}

その後再度vscodeを開くと下記のようにログイン済みの状態となります
image.png

まとめ

これでやっとleetcodeに入門できるぞっ

26
15
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?