VS Code下搭建簡單的Haskell開發環境


Preface

在谷神仙的安利下開始在空閑時學習 \(Haskell\)
本人喜歡折騰 \(VS\) \(Code\) ~
這次也折騰了兩天,也算是搭建好了自己理想中的環境 \(qwq\)
由於本人覺得學習的過程中 \(Debugger\) 可能沒那么必要,所以這部分就鴿了~ 其實是因為折騰不出來
本本的系統是 \(Windows\) \(10\)
用其他系統的小伙伴可以借鑒地看,過程可能差別不大~


Step

一、安裝 \(Stack\)

\(Install\) \(Stack\)Stack官方文檔

Stack-1

鏈接中有各系統安裝 \(Stack\) 的詳細說明,這里我們選擇 \(Windows\) \(64\)-\(bit\) 的安裝包。

Stack-2

安裝完后不要忘記添加環境變量!
這里因為我們是 \(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\) 中編輯 ”

VSC-1

\(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\) ” 處打上勾~

VSC-2


Epilogue

結束啦 \(qwq\)

運行程序時點右上小三角即可~

效果:

Hello_World

如果想用 \(ghci\) 模式的話,打開 \(cmd\) 執行 stack ghci ~

\(Enjoy\) \(Haskell\) ~

HaskellT

原圖 \(Pixiv\) \(id=6783972\)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM