Ionide-vscode-fsharp: Ionide 5.0 roadmap

Created on 14 Feb 2020  路  25Comments  路  Source: ionide/ionide-vscode-fsharp

I think it's high time to make the next bunch of "breaking" changes and push Ionide completely to the .Net Core world.

The main changes (and probably more will come in the future) will be:

  • [x] Update to latest Fable (done in #1415)
  • [x] Remove net FSAC runtime (and remove net461 build in FSAC repo) (done in #1418)
  • [x] Remove functionality of choosing "MsBuild host" - always use dotnet build (done in #1420)
  • [x] Replace Forge (and deprecate Forge repo)

    • scaffolding has been already moved to dotnet new

    • project references can be handled with dotnet add reference,

    • moving files we should create small utility doing XML manipulation rather than attempting to model MsBuild files [what Forge is trying to do]

  • [x] Use dotnet fsi as default (done in #1419)
  • [x] Bump minimal required .Net version to 5.0
  • [x] Enable background service, and reference code lenses by default.
  • [x] Make FSAC responsible for tracking changes in .fsproj and asset files (done in https://github.com/fsharp/FsAutoComplete/pull/659)
Announcement

Most helpful comment

The ~first~ ~second~ third preview of Ionide 5.0 is available. You can check release notes and download it here - https://github.com/ionide/ionide-vscode-fsharp/releases/tag/5.0.0-preview03

To test preview:

  1. Make sure you have .NET 5 SDK installed.
  2. Download .vsix file from the release page
  3. Open VSCode
  4. Go to the extension tab
  5. Choose Install from VSIX from the menu

image

All feedback will be appreciated.

All 25 comments

This is a great idea and will reduce the amount of "it's not working, why is it not working" queries.

Following this. Right now Ionide is frequently out of sync - requiring a hard window reload or restart of VSCode to correctly highlight and recognize packages/references. It seems like this work would help solve that synchronization issue?

Following this. Right now Ionide is frequently out of sync - requiring a hard window reload or restart of VSCode to correctly highlight and recognize packages/references. It seems like this work would help solve that synchronization issue?

So it is not just me #1397

After removing the net FSAC runtime will it still be possible to keep using the net fsi isntead of the netcore fsi? I have a lot of existing scripts that won't work on netcore

@ovatsus - yes, it should just like right now if you can run netcore FSAC runtime but doesn't enable Use SDK Scripts (so still use full framework FSI)

Just as info - we've started working on this, you can track changes in 5.0 branch

* Bump minimal required .Net Core version to 3.1

Would this just mean that a .NET Core 3.1 runtime/SDK would be required on the machine, or would it affect working with Core 2.1 projects? The latter would be a bummer, as Core 2.1 is LTS until August 21, 2021.

Cheers!!

@ericsampson, yeah it's just about SDK required on the developer's machine.

Thanks Krzysztof! I'm looking forward to it. Cheers

The ~first~ ~second~ third preview of Ionide 5.0 is available. You can check release notes and download it here - https://github.com/ionide/ionide-vscode-fsharp/releases/tag/5.0.0-preview03

To test preview:

  1. Make sure you have .NET 5 SDK installed.
  2. Download .vsix file from the release page
  3. Open VSCode
  4. Go to the extension tab
  5. Choose Install from VSIX from the menu

image

All feedback will be appreciated.

On Ubuntu it's not working

Console:

[Info  - 5:54:44 PM] Connection to server got closed. Server will restart.
[Info  - 5:54:45 PM] Connection to server got closed. Server will restart.
[Info  - 5:54:45 PM] Connection to server got closed. Server will restart.
[Info  - 5:54:45 PM] Connection to server got closed. Server will restart.
[Error - 5:54:46 PM] Connection to server got closed. Server will not be restarted.

Seems to be working for me on Linux Mint 20.

Did you install with snap?

@Krzysztof-Cieslak let me know if you want more info

Oh there's already a logged and known issue with snaps. They are buggered beyond belief right now in terms of ionide support. I have no idea why MS is pushing them for linux distribution.

@baronfel ty I installed though apt-get and it works.
BTW here the steps if someone have the same issue
https://docs.microsoft.com/en-us/dotnet/core/install/linux-debian

preview01 on macos feels stabler than the stable one!

Preview 2 is released! Same install instructions as above (I've updated that comment with the new link) and now you get a bunch of new codefixes too.

Everything seems to be fine except for the #r nuget: ... in .fsx files

@ebresafegaga can't confirm, works well for me

The #r "nuget: Flips" command works now. The library uses a native library which is now loading correctly.
System: Windows 10 Enterprise 64-bit

Preview 3 is released. Same install instructions as above (I've updated that comment with the new link) .

It includes even more codefixes by @baronfel and @cartermp, and it includes a new, reworked project system in FSAC - in case of any problems make sure you've cleared project cache (with F#: Clean Cache command) and/or you've removed obj folder and restored packages again.
Since it's a complete rewrite of a project system I expect there may be some issues and bugs in there, so any feedback is appreciated.

Will this still work with only netcore3.1 installed? I ask because 5.0 is not an LTS release, and therefore is not supported by AWS etc.

It will not. It now requires. Net 5. It's important to realize that you can still build applications for. Net core 3.1 while using tooling for. Net 5. The two have no connection. We are talking purely about developer time dependencies, and not about runtime dependencies of the code that you write.

5.0 is out. Have fun.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

isaacabraham picture isaacabraham  路  3Comments

gsomix picture gsomix  路  6Comments

vasily-kirichenko picture vasily-kirichenko  路  6Comments

isaacabraham picture isaacabraham  路  5Comments

alfonsogarciacaro picture alfonsogarciacaro  路  5Comments