進捗置き場というわけでもない場所

プログラミングしてる中で見つけたこととか

VS CodeでHaskellの簡単な環境を作る

Haskellをやろうと思ったら、Visual Studio CodeがまだHaskellに対応してなかったので、Visual Studio CodeでHaskell環境を整える備忘録。

シンタックスハイライトの追加

初めに、最低限のシンタックスハイライトを追加する。
VS Codeを起動して Ctrl+P を入力し、出てきた入力欄にext install haskellと入力し、候補にあるHaskell Syntax Highlightingを選択。
f:id:azaika:20151219143558p:plain

mattn.runnerのインストール

mattn.runnnerとはVS Codeで書いたコードを実行するためのキーボードショートカットを追加できるExtension。 詳細はこちらに
mattn.kaoriya.net
これもVisual Studio Marketplaceに登録されているので、先程と同様にしてext install runnerと打ち、出てきたRunnerを選択。 f:id:azaika:20151219143546p:plain

ここで一旦VS Codeを再起動してinstallを適用。

mattn.runnerの設定

まず、適当なフォルダを作り、haskellを動かすためのbatファイルを書く(今回は%userprofile%下にvsc_configというフォルダを作る)。
作成したフォルダにrun_hs.batというファイルを作成。
そしたらこのbatファイルを開き、次のように編集。

@echo off

if "%~dpnx1" equ "" goto :eof

setlocal
set tempfile=%date:~4%%time::=%
set tempfile=%tempfile:/=%
set tempfile=%tempfile:.=%
set tempfile=%tempfile: =%
ghc -o %tempfile%.exe --make "%~dpnx1" -outputdir "tmp"
%tempfile%.exe
del %tempfile%.exe
rd /s /q "tmp"
endlocal

保存したら、VS CodeのメニューからFile→Preferences→User Settingsを開き、settings.json

"runner.languageMap": {
    "haskell": "%userprofile%/vsc_config/run_hs.bat"  
}

を追加し、保存。
そしてVS Codeを再起動。

試してみる

これで、VS Codeでhaskellを書いている時に Ctrl+Shift+R を押せばそれを実行してくれるようになる。
テストとして適当なhaskellコードを実行してみる。 f:id:azaika:20151219151103p:plain
きちんと動いてるみたいだ。
しかし、この機能は保存していないファイルには使用できないようなので注意。