我目前正在评估 Visual Studio代码中的Haskero作为替代Haskell编辑器而不是 Atom Atom-Haskell。到目前为止, Haskero 似乎很有希望,但我想念我通常从 Atom-Haskell 获得的编译器警告。
作为说明问题的一种方式,请考虑这个简单的重复:
Repro.hs
文件内容:
module Repro where
foo :: Maybe a -> a
foo (Just x) = x
编辑应该警告:
的效果Pattern match(es) are non-exhaustive
In an equation for `foo': Patterns not matched: Nothing
Atom-Haskell 这样做。
什么都没发生。 Problems 视图仅表明:
到目前为止,工作区中未检测到任何问题。
上面重现的步骤是我能想到的最简单的步骤,但是当我创建一个完整的Stack项目并确保我在根目录中运行stack build intero
时,我看到相同(缺乏)的行为我的项目目录。
我的环境是:
答案 0 :(得分:2)
看起来你必须告诉Haskero对致命错误发出警告(注意-Werror
标志):
"haskero.intero.ghciOptions": [
"-Wall",
"-Werror"
]
然而,我无法理解为什么我们必须这样做,因为这是开箱即用的:
stack ghci --with-ghc intero "--ghci-options=-Wall" --no-build --no-load
这似乎是Haskero在Visual Studio Code中启动Intero的方式,而在GHCi中我可以看到警告而不通过-Werror
......
出于好奇,我已经尝试过hsdev 0.3.1.2和Sublime Haskell 91e0d29
,并且似乎是开箱即用的工作:
希望有所帮助。