2017-02-12 97 views
6

我嘗試在Ubuntu下玩fsharp(是的,我慢慢發現它比痛苦更痛苦),我已經安裝了Mono,VSCode和Ionide擴展,我可以創建和構建F#項目。不幸的是,當我運行通過F#互動簡單的F#腳本:VSCode中的奇怪字符FSharp交互式終端

printfn "bar" 

在終端窗口中,我得到:

> 
- printfn "bar" 
- 
- ;; 
bar 
val it : unit =() F# 4.0 (Open Source Edition) 
> ^?^?414;3R^?^?^?^?^?^? the Apache 2.0 Open Source License 

奇怪序列^?^?看起來無法識別的終端轉義代碼,但是當我使用bash從內部VSCode沒有這樣的事情。

在FSI執行的每個命令之後更重要的是陌生的順序重新出現:

> let j = 9;; 

val j : int = 9 

> printfn "foo";; 
foo 
val it : unit =() 
> ^?^? 

有沒有人有同樣的問題,知道的解決方案(或者只是知道一個解決方案)?

編輯:當我通過Ionide Alt +執行命令,回車快捷

+1

我遇到同樣的問題,我試過單色和fsharp的差異版本,問題依然存在。啓動後代碼分析也很快失敗。我認爲這個問題是與vscode而不是純粹的ionide。我希望這是一個快速解決方案。 –

+0

請提交Ionide擴展的錯誤:https://github.com/ionide/ionide-vscode-fsharp –

+1

@ Mr.Mr。 - 我想我對這個問題的回答也應該適合你。我通過評論來抨擊你,因爲Stack Overflow不一定會通知你一個新的答案。 – rmunn

回答

4

這看起來像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,您的問題應該消失。

+0

感謝您的支持,它爲我解決了這個問題,向您表示敬意。 –

+0

@rmunn感謝像你這樣的人我真的很喜歡stackoverflow! – csharpfolk