VSCode FSharp交互式终端中的奇怪字符

时间:2017-02-12 20:51:15

标签: f# mono visual-studio-code

我尝试在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快捷键

执行命令时,问题大多发生

1 个答案:

答案 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,您的问题就会消失。