22
12

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.

IntelliJでHaskellを実行する(haskell stackプロジェクト)

Last updated at Posted at 2017-08-24

やりたいこと

stackで管理さているHaskellをIntelliJで開発し、実行すること

プラグインintellij-haskellのインストール

プラグインintellij-haskellのインストール方法と、新規プロジェクトの作成方法はこちらにあります
写真付きでわかりやすいです。

HaskellをIntelliJで使えるようになりました!

IntelliJで既存のstackプロジェクトを読み込む

ほとんど上記の記事通りなのですが、すこし注意点を書きたいと思います

Import Projectを押す
Screen Shot 2017-08-24 at 2.25.35 pm.png

stackプロジェクトのディレクトリを指定して[Open]([開く])を押す

Screen Shot 2017-08-24 at 2.27.57 pm.png

ここでHaskell Stackを選択する
(ここが注意点です。ぼくの場合は自動的にHaskell Stackと選択されず、後々エラーが発生しました)

Screen Shot 2017-08-24 at 2.28.59 pm.png

以下の写真だと幾つかstackがありますが、初期画面だと一つもないと思います。
ターミナルでwhich stackで表示されるパスを指定すれば、
以下の写真のようにProject SDKが選択できるようになります。

Screen Shot 2017-08-24 at 2.36.03 pm.png
(Mac利用者でstackが隠しフォルダ内にインストールされてFinderで選択できない場合は、「Cmd+. ピリオド」をすると隠しファイルを見えるようになります:参考:http://minto.tech/mac-kakusifile/

[Finish]を押して、完了です。

このあと、「Busy with building OOO ...」とか「Registering OOO ... 」とかが割りと時間かかりますが、待てばOKです。

本題:IntelliJ内で実行する方法(stack exec)

まず[Run] > [Edit Configurations]をクリックします

Screen Shot 2017-08-24 at 1.20.03 pm.png

以下の[+]を押して、

Screen Shot 2017-08-24 at 1.21.00 pm.png

[Haskell Stack]>[Haskell Stack Runner]をクリックします
(そのままのフォーカスで「sta」ぐらいまで入力すると出てきます)

Screen Shot 2017-08-24 at 1.20.52 pm.png

そうすると、Unnnamedという名前で実行設定が作成されます。
Executableの欄は自動で「my-first-haskell-app」になりました。
(IntelliJのプロジェクト名が「my-first-haskell-app」です)

Screen Shot 2017-08-24 at 1.21.14 pm.png

「Unnamed」だとわかりづらいので、「Main」に変更しました(任意)。

Screen Shot 2017-08-24 at 1.26.37 pm.png

なんとなく、Main.hsを「hello, world」に変えて、

Main.hs
module Main where


main :: IO ()
main = putStrLn "hello, world"

[Run]のボタンを押せば、実行できます。
Screen Shot 2017-08-24 at 1.27.44 pm.png

以下のようにIntelliJでhello, worldが実行できました。
Screen Shot 2017-08-24 at 1.30.33 pm.png

intellij-haskell

以前(2017/3/7)、IntelliJで実行できなかったので、https://gitter.im/intellij-haskell/Lobby で尋ねたところ、
まだ、未実装ということで、将来的には実装されそうな感じでした。

@rikvdkleijさんの返答

@nwtgck That is not yet implemented in latest beta, probably in next beta, @zjhmale is busy with implementation

intellij-haskellを使えば、IntelliJの定義元ジャンプや、変数名のリファクタリングなどもでき、Haskellでの開発がすごくやりやすなっています。まだbeta版で開発者さんたちが活発に開発中です。
hidea.gif

やっぱりHaskellをIntelliJで開発できるのは、とても魅力的ですよね。応援を込めて、皆さんのスターをお願いします!

GitHub: rikvdkleij/intellij-haskell: IntelliJ plugin for Haskell

22
12
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
22
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?