再次附上這次的repo
今天開始來動手玩玩看Calva啦
首先我們先開個專案https://clojure.org/guides/deps_and_cli
在這邊我就使用deps.edn,裡面會有個cheatsheet.md,其中在慢慢更新我們日後會用到的一些命令
今天主要分享Calva常用的快捷鍵,以及整合repl
首先就是開啟Calva jack-in(F1->calva jack-in)
之後選擇deps.edn
然後就會出現了兩個視窗
數字2是我們的repl啦
然後他預設會進入一個叫做user的namespace(在clojure裡,所有的東西都是用ns來區分)
我們就可以直接執行user裡面的程式
現在來試試看REPL以及常用的各種evaluate
(defn date-str
[]
(t/format
(t/with-zone (t/formatter "yyyy-MM-dd") (t/zone-id))
(t/instant)))
___
↑
首先,我的cursor在上面箭頭處,這很重要!!!
然後我們會看到右邊有三個結果
分別是
(t/instant)
,可以想像就是new一個object(t/format (t/with-zone (t/formatter "yyyy-MM-dd") (t/zone-id)) (t/instant))
,有點長,但就是把time這個object給formatdate-str
給換掉還有一個沒有寫到的東西,就是load/evaluate current file,把整份檔案都執行並載入記憶體
另外還有一個
Calva: Expand Selection (Ctrl+W)(這個跟預設shortcut binding的切換專案會衝突,但習慣就好)
他會一路幫你把"單位"往外選擇!!
所以搭配昨天的快速定義,這邊最常用的組合技就是
先Ctrl+W選起來->然後Evaluate current form->快速定義
這樣省下滿多選取複製的時間
所以這幾個常用的方法,都可以把快捷鍵記起來,打combo就很順了~