2017-02-12 11 views
6

Я пытаюсь играть с fsharp под Ubuntu (и да, я медленно выясняю, что это боль, чем удовольствие), я уже установил расширение Mono, VSCode и Ionide, и я могу создавать и создавать F #. К сожалению, когда я бегу простой F # скрипт с помощью F # Interactive:Странные символы в 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 

Странная последовательность ^?^? выглядит непризнанных кодов терминала эвакуации, но когда я использую Баш изнутри VSCode нет ничего подобного.

Что более странная последовательность вновь появляется после каждой выполненной команды FSI:

> let j = 9;; 

val j : int = 9 

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

Есть ли у кого такая же проблема, и знает решение (или, может быть, просто знает решение)?

EDIT: Проблема возникает в основном, когда я выполнять команды с помощью Ionide Alt + Enter ярлык

+1

У меня такая же проблема, я попробовал разные версии mono и fsharp, проблема сохраняется. Анализ кода быстро заканчивается после запуска. Я думаю, что проблема связана с vscode, а не с чисто ионидом. Надеюсь, это быстрое решение. –

+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, чтобы установить terminal.integrated.flowControl в false, и ваша проблема должна исчезнуть.

+0

Спасибо за это, он разрешил это для меня, к счастью для вас. –

+0

@rmunn благодаря таким людям, как я, я действительно люблю stackoverflow! – csharpfolk