Skip to main content

A community-developed Language Server Protocol implementation for F#

Total Downloads
347.5K
347,496
Published
Oct 29, 2026
4d ago

Get Started

dotnet add package fsautocomplete --version 0.86.1

No framework information available.

README

FsAutoComplete

NuGet version (FsAutoComplete)

The FsAutoComplete project (FSAC) provides a backend service for rich editing or intellisense features for editors. It implements the Language Server Protocol.

Currently, it is used by the following extensions:

And it can be used with the following editors, by simply installing FsAutoComplete directly: dotnet tool install --global fsautocomplete

It is based on:

Requirements

FsAutoComplete runs on .NET 10. Install the .NET 10 SDK, which includes the .NET 10 runtime.

Your projects do not need to change for this:

  • They can keep targeting net8.0, net9.0 or any other framework.
  • A global.json that pins the .NET 8 or 9 SDK keeps working. FsAutoComplete then loads the projects with that SDK, as long as the .NET 10 runtime is installed as well.

Why .NET 10: FsAutoComplete runs F# analyzers in its own process. FSharp.Analyzers.SDK targets .NET 10 since version 0.38, and an analyzer is only loaded when it was built against the same version of the SDK as FsAutoComplete, so FsAutoComplete targets .NET 10 too. The changelog names the version of FSharp.Analyzers.SDK that each release hosts.

When you install FsAutoComplete with an older SDK, you get a placeholder instead. It says to install the .NET 10 SDK when it starts, and editors show that as the error of the language server. Install the .NET 10 SDK, then install FsAutoComplete again, for example with dotnet tool update --global fsautocomplete.

Documentation

  • Building, Testing, and Releasing - See CONTRIBUTING.md for build requirements, build commands, testing instructions, and the release process.
  • OpenTelemetry -See the OpenTelemetry documentation for instructions on enabling and visualizing distributed traces.
  • LSP endpoints, settings and more - See the Communication Protocol documentation for details on supported LSP endpoints, custom endpoints, notifications, startup options, initialization options, and settings.

Maintainers

The maintainers of this repository are:

Previous maintainers:

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Copyright

The library is available under MIT license, which allows modification and redistribution for both commercial and non-commercial purposes.

Imposter Syndrome Disclaimer

I want your help. No really, I do.

There might be a little voice inside that tells you you're not ready; that you need to do one more tutorial, or learn another framework, or write a few more blog posts before you can help me with this project.

I assure you, that's not the case.

And you don't just have to write code. You can help out by writing documentation, tests, or even by giving feedback about this work. (And yes, that includes giving feedback about the contribution guidelines.)

Thank you for contributing!

Downloads by Version

Depended On By

Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.