Prefacejson
在谷神仙的安利下开始在空闲时学习 \(Haskell\) 。
本人喜欢折腾 \(VS\) \(Code\) ~
此次也折腾了两天,也算是搭建好了本身理想中的环境 \(qwq\)
因为本人以为学习的过程当中 \(Debugger\) 可能没那么必要,因此这部分就鸽了~ 实际上是由于折腾不出来
本本的系统是 \(Windows\) \(10\)
用其余系统的小伙伴能够借鉴地看,过程可能差异不大~学习
Stepui
\(Install\) \(Stack\) :Stack官方文档url
连接中有各系统安装 \(Stack\) 的详细说明,这里咱们选择 \(Windows\) \(64\)-\(bit\) 的安装包。spa
安装完后不要忘记添加环境变量!
这里由于咱们是 \(Windows\) ,安装的过程当中在这打上勾便可,不用手动添加~插件
\(win+r\) 打开 \(cmd\) ,执行 stack install
此时系统目录( 盘符通常为 \(C\) )下生成 C:\sr\config.yaml
code
用记事本打开 \(config.yaml\) ,附加以下文本,用以配置镜像源:blog
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/
保存后关闭该文件。ci
再次打开 \(cmd\) ,依次执行以下指令:文档
stack new my-project cd my-project stack setup stack build stack exec my-project
在 \(VS\) \(Code\) 中安装以下扩展插件:
根据扩展插件说明,打开 \(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\)