一段时间以来,我一直在 Windows 10 上使用Haskero进行 Haskell 编程,很长一段时间以来它都很棒。然而,最近我重新安装了我的笔记本电脑,从那时起,启用切换目标的功能包含乱码输出:
这不仅仅是一个显示问题。它有效地阻止了我切换目标:
Spawning process 'stack' with command 'stack ghci --with-ghc intero "--ghci-options=-ignore-dot-ghci -Wall" --no-build --no-load RestaurantReservation:test:RestaurantReservation-test[0m'
[Error - 07:52:52] Change targets failed. Stopping Haskero for this target. Switch to another target or 'Default targets'.
Hint : try running a build command to get missing dependencies (> stack build RestaurantReservation:test:RestaurantReservation-test[0m)
Error details:
Message: Request changeTargets failed unexpectedly without providing any details.
Code: -32603
请注意,当我尝试切换到测试目标时,它会发出一个stack
包含那些不可打印字符的命令。除其他问题外,这意味着我从插件中绝对没有任何价值用于我的单元测试。
这些不可打印字符的存在,以及stty: 'standard input': Inappropriate ioctl for device
在我看来像是标准输出如何解释的问题。
据我所知,通过阅读 Haskero 代码库,看起来目标列表来自stack ide targets
. 但是,如果我在命令行上发出这个命令,一切看起来都很好:
$ stack ide targets
RestaurantReservation:lib
RestaurantReservation:exe:RestaurantReservation
RestaurantReservation:test:RestaurantReservation-test
在我重新铺设机器之前,这曾经可以在 Windows 10 上运行,但现在不行了。
由于它在重新安装之前工作,我希望有一些环境设置我可以调整以恢复功能,但如果有,我不清楚它会是什么。
如何使目标对话使用干净的目标名称,以便在它们之间进行切换?