用IntelliJ刷LeetCode

Lutas Lin
4 min readJan 19, 2020

--

快速練習TDD

最近發現用 LeetCode 來練習寫 TDD 挺有趣的,還可以順便刷題。不過寫 Test case 就勢必得離開 LeetCode 網頁,把Code貼到 IDE 和建立 Test class,還得不時切回網頁看題目,實在不太方便。

如果你是 Android 或 Java 工程師,想必對 IntelliJ 不陌生,他的 Generate 功能可以幫助我們快速建立 Test Class,還有好心人為他寫了 LeetCode Editor 這個 Plugin,他能讓我們在 IntelliJ IDE 裡就能拉 LeetCode 題目甚至是 Submit,讓整體操作簡化許多。

安裝 LeetCode Editor

在 Plugins > Marketplace 搜尋並安裝 LeetCode Editor

重開 IDE 後會發現多了一個 leetcode tab

打開 tab 後按下設置鍵

輸入 LeetCode 的帳號、選擇 code type,這邊我用 Java 來示範。注意他的 url 預設是 leetcode.cn 別忘了選回 leetcode.com。

設置完後再次打開 leetcode tab,首次登入會要求你輸入 cookie,這時就要先登入 LeetCode網頁來取 cookie,以下用 chrome 來示範:

按下 F12 開啟開發人員工具,選擇 Network tab,重新整理 LeetCode 網頁。filter 選擇 XHR,然後找到 graphql,從它的 request header中可以找到 cookie

cookie 貼到 IntelliJ 後就能登入 leetcode 了,這時就能看到題目列表,還有已 submit 的題目。按下右鍵就能做以下的操作:

建立 Java LeetCode Project

專門為 LeetCode 建一個 Project 除了測試需求外,還便於用Git來管理。這是我練習 LeetCode TDD 的設置,你也可以按照自己的習慣來配置。

  1. 建立新的 Java Project,專門放 LeetCode 的題目和 code
  2. 修改 LeetCode Plugin 設置

TempFilePath 改放步驟1建立的 project 下

Custom code template 打開

CodeFileName 改為駝峰式命名

CodeTemplate 加入 package 和 file name 註解,放 file name 是為了建 test class 方便

3. 下載 Code 和 Content

Content 的格式是 Markdown,所以建議再裝個 Markdown Plugin 比較好看

4. Generate Test Class

以下是我寫 Problem 9: Palindrome Number 時的畫面,我習慣開分割視窗,一邊是 Solution code,另一邊是 Test code 和題目。

這樣寫起來是不是舒服許多呢?寫好之後可以直接在 IntelliJ 上 Submit,還會有 Notification 通知你 Submit 的結果喔。

--

--

Lutas Lin

正在尋找人生目標的Android工程師,熱愛閒晃、獨立音樂。寫Medium練文筆,目標是讓喇賽文章超越技術文章。可以透過wsrew2000@gmail.com聯絡我