Skip to content

Provide and document a way to run the plugin with a locally built FCS #494

@safesparrow

Description

@safesparrow

I would like to run the Rider F# plugin with a locally built FCS. This would allow me to do the following:

  • easily debug the internals of FCS when using Rider
  • test any local/newly introduced modifications of FCS against Rider

I have a workaround, which is currently as follows:

  1. Checkout https://github.com/JetBrains/fsharp/tree/net231
  2. ./build.cmd -noVisualStudio - this fails, but only for test projects that are not relevant - is there a script that does not fail?
  3. Copy FSharp.Compiler.Service.dll to $NUGET_CACHE\jetbrains.fsharp.compiler.service\2023.1.1\lib\netstandard2.0\
  4. dotnet restore --force && dotnet build to bring in the built dll to the plugin.
  5. Run the IDE as usual.

This is hacky and cumbersome.

I would expect that maintainers of this repo have a much better workflow.
Would it be possible to share it if it exists?

Plugin and FCS in one solution

What would make debugging and hacking around even better would be having a single solution containing both the plugin projects and FCS projects - for local dev purposes only.
This way one can make changes to both and debug both.

Currently this involves opening two solutions, doing the NuGet dance as described above, and only one of the two solutions can have a debugger attached to the backend process, so it's not possible to debug both sides at the same time.

I believe this might be of interest to @nojaf .

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions