F# development environment

Completed

F# has access to world-class tooling. Whether it's a lightweight text editor or an IDE, you have choices when it comes to choosing your tools. However, at a minimum, you need the .NET SDK to start writing F# code.

.NET SDK

The .NET SDK is a set of libraries and tools that allows developers to create .NET applications and libraries. It contains the following components that you use to build and run applications:

  • .NET CLI: The .NET command-line interface (CLI) is a cross-platform toolchain for developing, building, running, and publishing .NET applications.
  • .NET libraries and runtime: A standard set of class libraries, known as runtime libraries, framework libraries, or the base class library (BCL). These libraries provide implementations for many general and app-specific types, algorithms, and utility functionality.
  • The dotnet driver: A driver for the .NET CLI that has two responsibilities, either running a framework-dependent app or executing a command.

The .NET SDK is free and cross-platform, which means you can install it on Windows, Mac, and Linux.

Visual Studio Code

You can use any text editor to write F# code. However, Visual Studio Code is a free, open-source, and cross-platform text editor that is lightweight but also offers the following features to take your development workflow to the next level:

  • Debugging: Visual Studio Code's built-in debugger helps accelerate your edit, compile and debug loop.
  • Version control: Visual Studio Code has integrated source control management (SCM) and includes Git support built-in to help you keep track of your code as it changes.
  • Integrated terminal: Visual Studio Code includes a fully featured integrated terminal, which makes it easy to work with the .NET CLI from inside the editor.
  • Extensions: Extend the functionality of Visual Studio Code using extensions.

F# Ionide extension

When paired with the F# Ionide extension, you can enjoy benefits such as:

  • Intellisense: IntelliSense is a general term for various code editing features including: code completion, parameter info, quick info, and member lists.
  • Tooltips: Hovering over your code displays rich information from the documentation.
  • Error highlighting: Identify errors in your code with Ionide's error highlighting feature.
  • CodeLens and LineLens: Visualize data transformations and types with inline type signature information.
  • Scripting support: Run entire scripts or line-by-line with Ionide's F# Interactive support.