以windows为例(因为手头只有这个系统,linux系统下类似)

1. 下载安装vscode

2. 安装haskell的管理工具stack,将路径添加到环境变量path

3. windows下安装stack并未发现 config.yaml (而linux下安装则自动生成~/.stack/config.yaml,故linux下这一步可略过),于是打开cmd,执行 stack install,此时生成目录 c:/sr,其中包含config.yaml,为stack的全局配置

4. 在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/

5. 使用stack新建一个工程

stack new fuck-project

参考stack官方文档

执行如下指令

cd fuck-project
stack setup
stack build
stack exec fuck-project-exe

其中,stack setup会自动下载ghc编译器到目录C:\Users\sjj\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2中(如果已经下载过,则不会再下载)

事先已经装好ghc,则在~/.stack/config.yaml中添加如下一行配置即可

system-ghc: true

后面两步,stack build 和 stack exec就很明显了,分别为生成和执行。

6. 打开vscode,并选择扩展,然后搜索haskell关键字

将图中所示扩展安装,然后点击reload,重新加载vscode窗口

7. 根据每个扩展插件的说明可知,需要安装如下haskell库

# for Haskell ghc-mod
stack install ghc-mod
# for haskell-linter
stack install hlint
# for Haskelly
stack install intero
stack install QuickCheck
stack install stack-run(windows 下不支持,不能在vscode中直接使用stack run运行程序,故暂且先使用stack exec fuck-project吧)

8. 打开vscode的配置文件

file->preferences->settings

左边为默认配置,在右边编辑配置以覆盖左边的默认配置

"haskell.ghcMod.executablePath": "C:/Users/[user]/AppData/Roaming/local/bin/ghc-mod",
"haskell.hlint.executablePath": "C:/Users/[user]/AppData/Roaming/local/bin/hlint"

本文参考vscode搭建haskell环境

最新文章

  1. Maven学习随笔一——Maven安装报错处理(mvn -v, 提示不是内部命令的问题)
  2. Windows 2008如何绑定MAC防范ARP攻击!
  3. id to load is required for loading----id被要求加载exception
  4. Jenkins User on Apt-Get Install Installation
  5. C++中标准容器Vector,元素操作.insert()小结
  6. SharePoint Server 2013介绍v2
  7. Struts2通过自己定义拦截器实现登录之后跳转到原页面
  8. 企业架构研究总结(27)——TOGAF架构开发方法(ADM)之架构变更管理阶段
  9. 多线程操作的方法(sleep,)setPriority(Thread.MIN_PRIORITY);yield();
  10. Django 2.0 学习(12):Django 模板语法
  11. java 一些容易忽视的小点-类和对象
  12. Oracle总结之plsql编程(基础九)
  13. DataGridview的自动排序设置
  14. GIS+=地理信息+行业+大数据——基于云环境流处理平台下的实时交通创新型app
  15. e643. 以匿名类处理事件
  16. redis安装和简介(2)
  17. ElasticSearch5插件安装
  18. android Handler的使用(二)
  19. BaaS_后端即服务 RESTful
  20. LN : leetcode 258 Add Digits

热门文章

  1. Bi-shoe and Phi-shoe LightOJ - 1370
  2. 原创zookeeper3.4.6集群安装
  3. 前端学习笔记-H5
  4. jmeter并发时生成唯一变量
  5. iOS中点击事件失效的解决办法
  6. SpringCloud(四)学习笔记之Feign
  7. python 工具链 包管理工具 pip
  8. 快速从零开始安装Laravel5.2教程
  9. Windows 切换 working directory
  10. Elasticsearch系列---实现分布式锁