Автодополнение кода скрипта F# в VSCode

Я установил пакет Ionide-fsharp (1.9.1) в VSCode (1.2.1) и начал писать примеры скриптов с fsharpforfunandprofit.com. Я ожидал автозаполнения в редакторе VSCode, но, похоже, оно не работает: Редактировать код F# в VSCode

Я также установил системную переменную PATH так, чтобы она указывала на «C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0», как описано на веб-сайте Ionide: Мои системные переменные среды — ПУТЬ

Я что-то упустил, или автозаполнение невозможно в VSCode при редактировании скриптов F#?


person Homorozeanu George    schedule 05.07.2016    source источник
comment
Нет, все еще не работает...   -  person Homorozeanu George    schedule 05.07.2016
comment
Извините, я пропустил set перед остальной частью команды. set PATH=%PATH%;C:\Program Files(x86)\Microsoft SDKs\F#\Framework\v4.0   -  person TheInnerLight    schedule 05.07.2016
comment
Все еще не работает даже после явного добавления пути к fsc.exe и fsi.exe в переменную PATH, как было предложено. Закрыл и запустил VSCode из того же командного окна после изменения PATH (используя код команды.). Отправка кода в F# Interactive отлично работает в VSCode, но я не могу заставить работать автозаполнение...   -  person Homorozeanu George    schedule 05.07.2016
comment
Вы можете попробовать перезагрузиться, хотя я не уверен, что это больше поможет. Я помню, что некоторое время назад у меня была такая проблема, но обновление переменной среды вручную решило ее.   -  person TheInnerLight    schedule 05.07.2016
comment
Обычно я открываю командную строку разработчика VS, затем набираю code ., и все работает нормально, пока я могу сделать fsi перед открытием vscode, все работает.   -  person DaveShaw    schedule 05.07.2016
comment
Я также попробовал ваше предложение с командной строкой разработчика VS, но автозаполнение до сих пор не работает в VSCode. Команда fsi доступна в командной строке перед запуском VSCode. Очень странно...   -  person Homorozeanu George    schedule 05.07.2016
comment
Я использую Ionide FSharp 1.9.2 в VSCode 1.2.1 (стабильная), может поможет обновление расширения?   -  person DaveShaw    schedule 05.07.2016
comment
Все еще не работает после обновления Ionide FSharp до 1.9.2. Я также установил Atom и пакет Ionide FSharp для Atom, и я получаю такое же странное поведение в Atom. Подсветка синтаксиса и отправка в fsi работают хорошо в обоих случаях, но автозаполнение ни в одном из них. Должно быть что-то независимое от редактора...   -  person Homorozeanu George    schedule 05.07.2016
comment
Можете ли вы открыть вопрос на странице Ionide GitHub?   -  person Tomas Petricek    schedule 05.07.2016


Ответы (2)


Другое возможное решение — установка Microsoft Build Tools 2013.

person Krzysztof Cieslak    schedule 05.07.2016
comment
Значит ли это, что Inode для Atom и Visual Studio Code работает только с F# версии 3.1? Насколько я могу судить, Visual Studio 2015 работает с 4.0. - person Homorozeanu George; 06.07.2016
comment
Ionide работает с F# 4.0. Но для некоторых конфигураций требуется установка Microsoft Build Tools 2013... который также устанавливается автономным установщиком F# 3.1 (поэтому установка его случайно решает проблему) - person Krzysztof Cieslak; 06.07.2016
comment
Спасибо @krzysztof-cieslak за разъяснения. - person Homorozeanu George; 07.07.2016

Я хотел открыть проблему на странице Ionide Github, но обнаружил следующую проблему: Автозаполнение не работает в v1.2.1 #30, что указало мне на предложенный способ установки F# Tools. После установки инструментов F#, перейдя по ссылке в этом выпуске, я теперь могу автоматически заполнять код скрипта F# в VSCode. У меня уже был установлен F# в VS2015 Community Edition, поэтому вначале я был настроен скептически. Теперь, после установки инструментов F# по ссылке в выпуске, у меня есть 2 версии F# в папке C:\Program Files (x86)\Microsoft SDKs\F#:

  • 3.1
  • 4.0

Visual Studio 2015 установила версию 4.0. Версия 3.1 поставлялась с последней установкой инструментов F#. Я также получаю автозаполнение теперь в Atom для кода F#.

person Homorozeanu George    schedule 05.07.2016