我尝试在Ubuntu下玩fsharp(是的,我慢慢发现它比起来更有痛苦),我已经安装了Mono,VSCode和Ionide扩展,我可以创建和构建F#项目。不幸的是,当我通过F#Interactive运行简单的F#脚本时:
printfn "bar"
在终端窗口中,我得到:
>
- printfn "bar"
-
- ;;
bar
val it : unit = () F# 4.0 (Open Source Edition)
> ^?^?414;3R^?^?^?^?^?^? the Apache 2.0 Open Source License
奇怪的序列^?^?
看起来像无法识别的终端转义码,但是当我在VSCode中使用bash时,没有类似的东西。
在FSI中执行的每个命令之后,更奇怪的序列再次出现:
> let j = 9;;
val j : int = 9
> printfn "foo";;
foo
val it : unit = ()
> ^?^?
有没有人遇到同样的问题并且知道解决方案(或者只是知道解决方案)?
编辑:当我通过Ionide Alt + Enter快捷键
执行命令时,问题大多发生答案 0 :(得分:4)
这看起来像https://github.com/Microsoft/vscode/issues/19766错误。 VS Code 1.9引入了一个新设置terminal.integrated.flowControl
,默认为true
。您看到的^?
个字符(以及可能显示的任何^S
和^Q
个字符)来自此“流量控制”功能,该功能与F#Interactive不相符。更改您的VS代码设置,将terminal.integrated.flowControl
设置为false
,您的问题就会消失。