Preface
在谷神仙的安利下開始在空閑時學習 \(Haskell\) 。
本人喜歡折騰 \(VS\) \(Code\) ~
這次也折騰了兩天,也算是搭建好了自己理想中的環境 \(qwq\)
由於本人覺得學習的過程中 \(Debugger\) 可能沒那么必要,所以這部分就鴿了~ 其實是因為折騰不出來
本本的系統是 \(Windows\) \(10\)
用其他系統的小伙伴可以借鑒地看,過程可能差別不大~
Step
一、安裝 \(Stack\)
\(Install\) \(Stack\) :Stack官方文檔
鏈接中有各系統安裝 \(Stack\) 的詳細說明,這里我們選擇 \(Windows\) \(64\)-\(bit\) 的安裝包。
安裝完后不要忘記添加環境變量!
這里因為我們是 \(Windows\) ,安裝的過程中在這打上勾即可,不用手動添加~
二、配置 \(Stack\)
\(win+r\) 打開 \(cmd\) ,執行 stack install
此時系統目錄( 盤符一般為 \(C\) )下生成 C:\sr\config.yaml
用記事本打開 \(config.yaml\) ,附加如下文本,用以配置鏡像源:
package-indices:
- name: Tsinghua
download-prefix: https://mirrors.tuna.tsinghua.edu.cn/hackage/package/
http: https://mirrors.tuna.tsinghua.edu.cn/hackage/00-index.tar.gz
setup-info: "http://mirrors.tuna.tsinghua.edu.cn/stackage/stack-setup.yaml"
urls:
latest-snapshot: http://mirrors.tuna.tsinghua.edu.cn/stackage/snapshots.json
lts-build-plans: http://mirrors.tuna.tsinghua.edu.cn/stackage/lts-haskell/
nightly-build-plans: http://mirrors.tuna.tsinghua.edu.cn/stackage/stackage-nightly/
保存后關閉該文件。
再次打開 \(cmd\) ,依次執行如下指令:
stack new my-project
cd my-project
stack setup
stack build
stack exec my-project
三、配置 \(VS\) \(Code\)
在 \(VS\) \(Code\) 中安裝如下擴展插件:
- \(Code\) \(Runner\)
- \(Haskell\) \(ghc\)-\(mod\)
- \(Haskell\) \(Syntax\) \(Highlighting\)
- \(haskell\)-\(linter\)
- \(Haskelly\)
根據擴展插件說明,打開 \(cmd\) ,執行如下指令:
stack --resolver lts-9 install ghc-mod
stack install hlint
stack install intero
stack install QuickCheck
stack --resolver lts-9 install stack-run
最后打開 \(VS\) \(Code\) 的配置文件(\(settings.json\))
文件(\(File\)) \(\rightarrow\) 首選項(\(Preferences\)) \(\rightarrow\) 設置(\(Settings\))
在用戶設置下搜索 “ \(settings.json\) ” ,點擊 “ 在 \(settings.json\) 中編輯 ”
\(upd\): 這里其實點右上角那個 "{}" 就可以打開配置文件了,寫這篇 \(Blog\) 時我還不知道orz
添加如下文本:
"code-runner.executorMap": {
"haskell": "cd $dir && stack runhaskell $fileName"
},
"haskell.ghcMod.executablePath": "stack",
//[user]請換成自己的 Windows 用戶名
"haskell.hlint.executablePath": "C:/Users/[user]/AppData/Roaming/local/bin/hlint"
回到用戶設置,搜索 “ \(Code\) \(Runner\) ” ,在 “ \(Code\)-\(Runner:\) \(Run\) \(In\) \(Terminal\) ” 處打上勾~
Epilogue
結束啦 \(qwq\)
運行程序時點右上小三角即可~
效果:
如果想用 \(ghci\) 模式的話,打開 \(cmd\) 執行 stack ghci
~
\(Enjoy\) \(Haskell\) ~
原圖 \(Pixiv\) \(id=6783972\)