我正在使用Stack从命令行设置,构建和运行我的Haskell项目。我想使用IntelliJ作为我的IDE,但遇到了将Stack配置为我的构建工具的问题。
我使用Stack按照堆栈User Guide中的说明在命令行上创建并运行“Hello,World”Haskell程序。一切都很好。
我在IntelliJ上安装了HaskForce插件。构建,执行,部署 - >编译器 - > Haskell编译器选项卡为您提供了使用Stack构建和使用Cabal构建之间的选择。我选择使用堆栈构建并像这样配置它。
我可以使用Haskell Stack Run配置运行项目。控制台输出正确。
ng d route "your_route_name"
但是,我无法弄清楚如何通过IDE重建项目。例如,如果我更改输出文本并重新运行程序,我仍然会看到原始的“Hello,Haskell”输出。构建 - >制作项目|制作模块|重建项目都无所事事。
Project Settings-> Artifacts选项卡没有列出任何内容,我也没有看到在这里添加Haskell可执行文件的方法。
我的解决方法是即使在我从IDE编辑时也从命令行构建我的Haskell程序。
(在一般的Haskell编译器设置中指定项目特定的/Users/williammcneill/Library/Haskell/bin/stack exec hellohaskell-exe --
Hello, Haskell.
文件的路径对我来说也很奇怪,但这是我能看到如何使用Stack构建的唯一方法。)< / p>
如何设置IntelliJ以使用Stack构建Haskell项目?
ghc 7.10.3,堆栈1.1.2,HaskForce 0.3-beta.33,IntelliJ IDEA Ultimate 2016.1.3,OS X 10.11.5
这是Haskforce issue 282。
答案 0 :(得分:4)
如果您想按下IntelliJ运行按钮来运行项目并使用Stack,我认为您应该使用@mrek所说的IntelliJ Haskell Plugin。 HaskForce plugin现在说
注意:目前,堆栈不支持运行配置。这仅适用于集团项目。
readme中包含所有安装说明(从安装Stack到项目设置),但是我需要对其进行一些更改,因此将版本放在此处。
每个想要使用Haskell的人的安装说明
stack install hindent
和stack install stylish-haskell
(这可能需要一段时间)。C:\Users\username\AppData\Roaming\local\bin\hindent.exe
和C:\Users\username\AppData\Roaming\local\bin\stylish-haskell.exe
,在Linux上可能是/usr/local/bin/hindent
。C:\Users\username\AppData\Roaming\local\bin\stack.exe
)并设置为Default。app/Main.hs
。您可以将其中的所有内容替换为main = putStrLn "Hello Haskell!"
。您可以通过单击IntelliJ底部的终端,然后运行stack ghci
来启动交互式控制台。键入main
时,您正在呼叫main,依此类推。
您也可以使用stack test
代替测试运行配置。