17
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Visual Studio Code][Haskell] VSCodeでHaskellの開発環境を整える

Last updated at Posted at 2017-03-18

すごいHaskell本がほこりを被ってたので、いい加減入門する事前準備

検証環境 (2017/03/18)

  • Windows 10 64bit
  • Visual Studio Code 1.10.2
  • Haskell 8.0.2 64bit full

事前準備

VSCodeのインストール

以下のページからインストール

Visual Studio Code - Code Editing. Redefined

Haskell のインストール

Windows向け64bit fullインストーラを使用。(全部入りだとサイズが2.2GBもいるらしい)
fullだと stack ってやつも一緒に付いてきます。(PythonでいうAnacondaみたいなやつ?)

Download Haskell Platform For Windows

VSCodeのHaskell拡張機能のインストール

いろいろありますが、コード補完ができるかつVimプラグインと競合しない以下の拡張機能を今回は使用します。

ext install haskero

Haskero - Visual Studio Marketplace

上記の拡張機能はstackを使用することが前提になっているようです。設定は以下などを参考にしてください。

client/doc/installation.md · master · Julien Vannesson / Haskero · GitLab

stackについてはいまいち知識がないため、以下などを参照してください。

環境確認

stackでプロジェクトを作成します。

新規プロジェクト作成後、VSCodeを起動
# 新規プロジェクト作成
$ stack new testproject
$ cd testproject/

# セットアップ
$ stack setup

# コード補完用のパッケージをビルド
$ stack build intero

# VSCodeを開く
$ code .

ひとまず以下のようなタスクランナーを書きます。

tasks.json
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "powershell",
    "isShellCommand": true,
    "showOutput": "always",
    "args": [
        "stack build; if ($?) { stack exec ${workspaceRootFolderName}-exe }"
    ]
}

シンタックスハイライト、ビルド、Hello Worldの出力確認

image

(なんかWarningでてますけど)大丈夫そうですね。

シンタックスチェックの確認

image

コード補完の確認

image

以上です。ひとまずはいけるんじゃないでしょうか?

参考

Windows で Haskell 環境構築(Stack) - Qiita
Stackでやる最速Haskell Hello world! (GHCのインストール付き!) - Qiita

17
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?