GitHub link: https://github.com/ionide/Ionide-vscode-fsharp
Ionide is a Visual Studio Code package suite for cross platform F# development.
Ionide for VSCode is set of 3 plugins avaliable in VSCode marketplace.
- Ionide-fsharp - provides F# specific features including advanced editor features (autocomplete, go-to definition, tooltips, rename, various refactorings and quick fix suggestions), integration with .Net project system, project explorer for project file visualization and manipulation, integration with MsBuild for building and running applications, debugger integration and more.
- Ionide-Paket - provides integration with Paket - package dependency manager for .NET with support for NuGet packages and GitHub repositories.
- Ionide-FAKE - FAKE (F# Make) is popular F# tool and DSL for build orchestration.
List of features
- Syntax highlighting
- Error highlighting
- Quick Info Toolbar
- Usages highlighting
- F# Interactive (REPL) panel
- Go-to declaration
- Finding symbols in file
- Go-to any symbol in solution
- Find usages
- Peek View declaration
- CodeLens feature showing type signatures
- CodeOutline tree view
- Listing all errors in workspace
- Building using msbuild / xbuild
- Integration with .Net Core
- Project explorer tree view
- Record stub generation
- Union pattern case generation
- Integration with F# Interactive
F# Project management
- Integration with Forge
- Possibility to create new empty solutions or projects (multiple templates for most popular project types)
- Adding, removing, ordering files in project
- Adding and removing project references
- Paket initialization
- Adding, installing, updating packages from solution or current project (allows the choice of package version)
- Removing packages from solution or current project
- Converting from NuGet, simplify dependency graph, turning on auto-restore for solution.
- Listing outdated packages
- Running any build target defined in FAKE build script
- Running default FAKE target
- Build/Clean/Rebuild the current project
- Build/Clean/Rebuild any project in the current workspace
- Works with the most recent version of msbuild/xsbuild on your system, or supply your own
And much more...