LoginSignup
3
0

Devcontainerを使ったHaskell環境構築

Posted at

はじめに

VSCodeのDevcontainer機能を使うとHaskellの環境構築がとても簡単だったため紹介します。
HLS(Haskellの言語サーバ)が自動で用意されるため、自動補完などのコーディング支援機能が使える状態になります。

前提

以下のソフトウェアを使用します。

  • Visual Studio Code(VSCode)
  • Docker

準備

Devcontainerで使用するDockerファイルを準備します。

  1. 好きな場所にプロジェクト用のフォルダを作成し、VSCodeで開きます。
    この記事では「haskell-learn」という名前にしてみました。
  2. VSCodeの拡張機能「Dev Containers」をインストールします。
    https://github.com/microsoft/vscode-dev-containers/tree/main/containers/haskell
  3. ウィンドウ左下の緑色のアイコンをクリックします。
    image.png
  4. 「開発コンテナー構成ファイルを追加...」をクリックします。
    image.png
  5. 「Haskell」で検索し、「Haskell コミュニティ」を選択します。
    image.png
  6. いくつか選択画面が表示されるため、すべて「OK」を選択してください。
  7. 最後まで選択するとプロジェクトフォルダ直下に「.devcontainerフォルダ」が作られます。
    image.png

Devcontainerの起動

Devcontainerを起動します。

  1. ウィンドウ左下の緑色のアイコンをクリックします。
  2. 「コンテナーで再度開く」を選択します。 選択するとコンテナが起動します。
    初回の場合、コンテナのビルドを行うため時間がかかります。
  3. コンテナの起動が成功すると、プロジェクトフォルダがコンテナに接続された状態になります。
    これでHaskellプログラムをビルド・実行できるようになりました。
    image.png

Hello Worldをやってみる

Hello Worldをやってみます。

  1. VSCodeで開いているプロジェクトフォルダの直下に以下のファイルを作成します。

    hello.hs
    main = putStrLn "Hello World"
    
  2. ターミナルで以下のコマンドを実行します。

    runghc hello.hs
    
  3. ターミナルにHello Worldと表示されれば成功です。

Devcontainerの終了

Devcontainerを終了し、ホストOSでフォルダを開いた状態に戻します。

  1. 起動時と同様にウィンドウ左下の緑色のアイコンをクリックします。
  2. 「フォルダーをローカルで再度開く」を選択します。

参考サイト

3
0
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
3
0