Stackを使用して、コマンドラインからHaskellプロジェクトをセットアップ、ビルド、実行しています。 IntelliJをIDEとして使用したいのですが、スタックをビルドツールとして構成する際に問題が発生します。
Stackを使用して、Stack ユーザーガイド の指示に従って、コマンドラインで「Hello、World」Haskellプログラムを作成して実行しました。すべてがうまくいきました。
IntelliJにHaskForceプラグインをインストールしています。 [ビルド、実行、デプロイメント]-> [コンパイラ]-> [Haskellコンパイラ]タブでは、Stackを使用してビルドするかCabalを使用してビルドするかを選択できます。 Build with stackを選択し、そのように構成しました。
Haskell StackRun構成を使用してプロジェクトを実行できます。コンソール出力は正しいです。
/Users/williammcneill/Library/Haskell/bin/stack exec hellohaskell-exe --
Hello, Haskell.
ただし、IDEを使用してプロジェクトを再構築する方法がわかりません。たとえば、出力テキストを変更してプログラムを再実行しても、元の「Hello、Haskell」出力が表示されます。ビルド->プロジェクトの作成|モジュールを作成|プロジェクトの再構築はすべて何もしません。
「プロジェクト設定」->「アーティファクト」タブには何もリストされておらず、Haskell実行可能ファイルをここに追加する方法がわかりません。
私の回避策は、IDEから編集しているときでも、コマンドラインからHaskellプログラムをビルドすることです。
(一般的なHaskellコンパイラ設定でプロジェクト固有のstack.yaml
ファイルへのパスを指定することも私には奇妙に見えますが、それがStackを使用してビルドする方法を確認できる唯一の方法でした。)
Stackを使用してHaskellプロジェクトをビルドするようにIntelliJを設定するにはどうすればよいですか?
ghc 7.10.3、スタック1.1.2、HaskForce 0.3-beta.33、IntelliJ IDEA Ultimate 2016.1.3、OS X 10.11.5
これはHaskforceです 問題282 。
IntelliJ実行ボタンを押してプロジェクトを実行し、Stackを使用する場合は、@ mrekが言ったように IntelliJ Haskellプラグイン を使用する必要があると思います。 HaskForceプラグイン 現時点では
注:現時点では、実行構成はスタックではサポートされていません。これは陰謀団のプロジェクト専用です。
すべて(スタックのインストールからプロジェクトのセットアップまで)のインストール手順は readme にありますが、少し変更する必要があったので、ここにバージョンを配置しました。
Haskellを使いたい人のためのインストール手順
stack install hindent
およびstack install stylish-haskell
を実行します(これにはしばらく時間がかかる場合があります)。C:\Users\username\AppData\Roaming\local\bin\stack.exe
または/usr/bin/stack
)を選択し、デフォルトに設定します(まだデフォルトになっていない場合)。app/Main.hs
が必要です。その中のすべてをmain = putStrLn "Hello Haskell!"
に置き換えることができます。IntelliJの下部にある[ターミナル]をクリックしてからstack ghci
を実行すると、インタラクティブコンソールを起動できます。 main
と入力すると、mainを呼び出します。テスト実行構成の代わりにstack test
を使用することもできます。
IntelliJ Haskellプラグイン がインストールされていると思います。
これで、プロジェクトをビルドできるようになります。
出力:
/usr/local/bin/stack build --exec test-project-exe It works!