我正在使用Stack在命令行中设置、构建和运行Haskell项目。我想使用IntelliJ作为我的IDE,但在将Stack配置为我的构建工具时遇到了问题。
我按照Stack用户指南中的说明,在命令行上创建和运行了一个“Hello World”的Haskell程序。一切都运行得很好。
我已经在IntelliJ上安装了HaskForce插件。在Build, Execution, Deployment -> Compiler -> Haskell Compiler选项卡中,可以选择使用Stack或Cabal进行构建。我选择了用Stack进行构建,并进行了以下配置。
我可以使用Haskell Stack Run配置运行项目。控制台输出是正确的。
/Users/williammcneill/Library/Haskell/bin/stack exec hellohaskell-exe --
Hello, Haskell.
然而,我无法通过IDE重新构建该项目。例如,如果我更改输出文本并重新运行程序,则仍会看到原始的“Hello,Haskell”输出。Build->Make Project | Make Module | Rebuild Project都没有任何作用。
项目设置->Artifacts选项卡中没有列出任何内容,我也找不到在此处添加Haskell可执行文件的方法。
我的解决方法是,即使在从IDE进行编辑时,也要从命令行构建我的Haskell程序。
(对我来说,指定一个项目特定的stack.yaml
文件路径在一般的Haskell编译器设置中看起来很奇怪,但那是我能想到使用Stack进行构建的唯一方法。)
如何设置IntelliJ以使用Stack构建Haskell项目?
ghc 7.10.3,stack 1.1.2,HaskForce 0.3-beta.33,IntelliJ IDEA Ultimate 2016.1.3,OS X 10.11.5
这是Haskforce 问题 282。