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\)