F# development environment
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.