VSCode FSharp Interactive 终端中的奇怪字符
Strange characters in VSCode FSharp Interactive terminal
我尝试在 Ubuntu 下玩 fsharp(是的,我慢慢发现它是痛苦多于乐趣),我已经安装了 Mono、VSCode 和 Ionide 扩展,我可以创建和构建 F# 项目。不幸的是,当我通过 F# Interactive 运行 简单的 F# 脚本时:
printfn "bar"
在终端 window 我得到:
>
- 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 快捷方式执行命令时
这看起来像 https://github.com/Microsoft/vscode/issues/19766 错误。 VS Code 1.9 引入了一个新设置 terminal.integrated.flowControl
,默认为 true
。您看到的 ^?
个字符(以及可能出现的任何 ^S
和 ^Q
个字符)来自此 "flow control" 功能,它不能很好地与 F# Interactive 配合使用.更改您的 VS Code 设置以将 terminal.integrated.flowControl
设置为 false
,您的问题应该会消失。
我尝试在 Ubuntu 下玩 fsharp(是的,我慢慢发现它是痛苦多于乐趣),我已经安装了 Mono、VSCode 和 Ionide 扩展,我可以创建和构建 F# 项目。不幸的是,当我通过 F# Interactive 运行 简单的 F# 脚本时:
printfn "bar"
在终端 window 我得到:
>
- 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 快捷方式执行命令时
这看起来像 https://github.com/Microsoft/vscode/issues/19766 错误。 VS Code 1.9 引入了一个新设置 terminal.integrated.flowControl
,默认为 true
。您看到的 ^?
个字符(以及可能出现的任何 ^S
和 ^Q
个字符)来自此 "flow control" 功能,它不能很好地与 F# Interactive 配合使用.更改您的 VS Code 设置以将 terminal.integrated.flowControl
设置为 false
,您的问题应该会消失。