HLint给出了如何改进源代码的建议。但是,鉴于建议的性质,我想知道是否可以自动应用这些建议。
是否可以自动应用提出的建议hlint
?
HLint给出了如何改进源代码的建议。但是,鉴于建议的性质,我想知道是否可以自动应用这些建议。
是否可以自动应用提出的建议hlint
?
您--refactor
必须refactor
在$PATH
. 有关更多信息,请参阅hlint 的 README:
自动应用提示
通过提供
--refactor
标志 hlint 可以自动应用大多数建议。而不是提示列表,hlint 将改为在标准输出上输出重构的文件。为了做到这一点,有必要refactor
在你的路径上有可执行文件。refactor
由apply-refact
包提供,它使用 GHC API 来转换源文件,给出要应用的重构列表。Hlint 直接调用可执行文件来应用建议。
请注意, hlint 不会递归地应用转换,因此--refactor
可能需要额外的转换。话虽如此,请确保在应用hlint --refactor
和测试代码之前提交/保存,因为更改可能会破坏您的代码,特别是如果您使用 Rank2Types 或seq
.
为了补充 Zeta 的回答,我使用了一些额外的标志来执行重构:
hlint --refactor --refactor-options="--inplace" path/to/your/File.hs
有时您只想应用某种提示,这可以通过传递-o
标志来完成,例如:
hlint -o="Use fewer imports" --refactor --refactor-options="--inplace"
据我所知,建议的重构需要在每个文件的基础上进行。