Skip to content
Enrico Sada edited this page Nov 22, 2017 · 2 revisions

Changelog

EXPERIMENTAL - use .NET Core FsAutoComplete

ref PR #616

Use FsAutoComplete built for .NET Core Runtime.

Why? For .net core sdk project ( dotnet/sdk , the new fsproj/csproj, targeting netstandard/netcoreapp) mean:

## ionide prerequisites
- .NET (win)
- mono (osx/linux)
- .NET Core 2.0 Sdk (reccomended)
+ .NET Core 2.0 Sdk (required)

Useful if you need only .net core dev tooling, you dont need mono/.net installed.

Using oldfsproj and fsx scripts is supported too, but require mono/.net installed anyway.

To enable it use the FSharp.fsacRuntime setting and reload vscode.

  • netcore -> use the .net core FSAC
  • net -> the .net FSAC (default, previous behaviour)

NOTE to parse old fsprojs and fsx scripts, a new library dotnet-proj-info is used instead of ProjectCracker (who continue to be the default used by .NET FSAC).

That require msbuild installed (so .NET and mono again, but that's expected because these project target that), but should (hopefully) work better and remove some maintenance pain.

The oldfsproj/fsx, atm, require that msbuild must be in PATH (is not yet configurable/autodiscovered).

  • on Windows usually mean open VSCode from Developer Command Prompt for VS
  • or mac/linux mean having mono >= 5.2 installed

NOTE Type provider are not supported, because not supported in .NET Core yet

EXPERIMENTAL - Workspace Load

ref PR #643

Why? Load the workspace (the sln or fsprojs) in background inside FSAC, optimizing (hopefully) the total loading time (cold, without cache).

All the info about progress (loading/loaded/failed) are pushed from FSAC to ionide. That push mechanism is a recent feature (added with background parsing), who will enable better ionide/FSAC features in the future

To enable it use the FSharp.workspaceLoader setting and reload vscode.

  • projects send to FSAC multiple "project" command (default, old behaviour)
  • workspaceLoad send to FSAC the "workspaceLoad" command and use notifications for progress
Clone this wiki locally