Как мне использовать FSI для F # 4 в моем коде Visual Studio?

#macos #visual-studio-code #f# #mono

#macos #visual-studio-code #f# #mono

Вопрос:

Терминал в моей Visual Studio продолжает говорить F# Interactive for F# 3.1 (Open Source Edition)

Как мне указать Visual Studio использовать FSI для F # 4?

PS: код Visual Studio и все расширения уже обновлены.

PPS: я использую mac

введите описание изображения здесь

Ответ №1:

Терминал внутри VSC использует вашу оболочку по умолчанию и, следовательно, получит тот же путь и, следовательно fsharpi , будет таким же, как если бы вы запустили его через Terminal.app или iTerm2.app .

Если у вас установлена последняя версия Mono, она поместит сценарий fsharpi оболочки в:

 >which fsharpi
/usr/local/bin/fsharpi
  

Который, в свою очередь, использует mono для выполнения в fsi.exe CIL-сборке из:

 /Library/Frameworks/Mono.framework/Versions/4.6.0/lib/mono/4.5
  

Версия Mono 4.6.0 в настоящее время устанавливает F # Interactive для F # 4.1

Возьмите последнюю версию OS-X Mono здесь.

Выполнить:

 cat `which fsharpi` 
  

Мой возвращает:

 #!/bin/sh
EXEC="exec "

if test x"$1" = x--debug; then
   DEBUG=--debug
   shift
fi

if test x"$1" = x--gdb; then
   shift
   EXEC="gdb --eval-command=run --args "
fi

if test x"$1" = x--valgrind; then
  shift
  EXEC="valgrind $VALGRIND_OPTIONS"
fi

# Beware this line must match the regular expression " (/.*)/fsi.exe" when fsi.exe is fsi.exe.
# That's because the FSharp MonoDevelop addin looks inside the text of this script to determine the installation
# location of the default FSharp install in order to find the FSharp compiler binaries (see
# fsharpbinding/MonoDevelop.FSharpBinding/Services/CompilerLocationUtils.fs). That's a pretty unfortunate
# way of finding those binaries. And really should be changed.
$EXEC /Library/Frameworks/Mono.framework/Versions/4.6.0/bin/mono $DEBUG $MONO_OPTIONS /Library/Frameworks/Mono.framework/Versions/4.6.0/lib/mono/4.5/fsi.exe --exename:$(basename "$0") "$@"