Я пытаюсь настроить свою среду разработки в разных средах.Моя текущая проблема заключается в настройке автозаполнения.
Есть ли способ настроить fsautocomplete в fmaarp-режиме Emacs для выполнения анализа и завершения для стандартных библиотек .NET?
Похоже, этоспецифично для скриптов, но я намерен иметь достаточное количество скриптов, поэтому оно актуально.
Я использую:
- Ubuntu 18.04
- emacs 25.2
- dotnet-sdk 2.2 (следующие указания здесь для Linux -> Ubuntu 18.04)
- Mono 6.0 (следующие указания здесь для Ubuntu 18.04)
Я настроил (setq inferior-fsharp-program "dotnet fsi")
для использования интерпретатора F #, поставляемого с ядром dotnet.
Я испытываю трудности с получением fsautocomplete для работы с библиотеками .NET Standard.Чтобы было ясно, fsautocomplete работает просто отлично в целом, но не тогда, когда я использую стандартную библиотеку .NET.Ниже приведены два примера.
Я настраиваю свою рабочую область следующим образом:
$ paket init
$ paket add FSharp.Data
$ paket restore
Теперь я пишу простой скрипт.Обратите внимание, что первое предназначается для .NET Framework 4.5 (net45
при чтении библиотеки)
#r "packages/FSharp.Data/lib/net45/FSharp.Data.dll"
open FSharp.Data
type Species = HtmlProvider<"https://en.wikipedia.org/wiki/The_world's_100_most_threatened_species">
let species = [ for x in Species.GetSample().Tables.``Species list``.Rows ->
x.Type, x.``Common name`` ]
Вот версия для .NET Standard 2.0:
#r "packages/FSharp.Data/lib/netstandard2.0/FSharp.Data.dll"
open FSharp.Data
type Species = HtmlProvider<"https://en.wikipedia.org/wiki/The_world's_100_most_threatened_species">
let species = [ for x in Species.GetSample().Tables.``Species list``.Rows ->
x.Type, x.``Common name`` ]
Первая версия (.NET Framework 4.5) обеспечивает автоматическое заполнение без ошибок и ошибок intellisense.
Вторая версия (.NET Standard 2.0) не работает с автозаполнением и выдает ошибки intellisense.Текст сообщения об ошибке приведен ниже, а скриншот находится внизу этого сообщения.
Ссылка на тип 'FSharp.Data.HtmlProvider, Sample = "" в сборке' FSharp.Data'был найден, но тип не мог быть найден в этой сборке.
Теперь я оцениваю скрипт в интерпретаторе с любой версией библиотеки, и он работает просто отлично.Но я буду ориентироваться на .NET Standard и строить с помощью инструментов сборки .NET Core sdk.В настоящее время мой лучший обходной путь - это просто использовать ссылки на библиотеки .NET Framework при написании сценариев, но тестировать их на .NET Standard, что кажется неидеальным.
Я искал параметры конфигурации в следующих местах:
Пока я ненайти что-нибудь, что, кажется, позволяет мне настроить это.Есть мысли?