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