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:srconfig.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)) ( ightarrow) 首选项((Preferences)) ( ightarrow) 设置((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)