A Visual Studio Code package suite for cross platform F# development.
Ionide includes all the necessary features you’d find in a modern IDE - autocomplete, tooltips, document formatting, syntax and error highlighting, and many more.
With FSI as a part of the editor, you can run F# scripts easily for fast feedback and iteration.
The Forge makes creating new projects quick and simple. Feature supported only in VSCode.
Integration with the widely used and universally loved package manager (created by the F# community) Paket allows for easy management of application dependencies, with none of the headaches of trying use NuGet with a version control system.
Integration with the gold standard of .NET build tools, FAKE (also created by the F# community) lets you run build targets within the comfort of the Atom Editor and Visual Studio Code.
More detailed documentation is available at http://ionide.io/docs (Work In Progress)
- 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
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
F# (Windows) - Easiest way to install latest versions of F# on Windows is using VS Build Tools 2017. If you use VS 2017, make sure that you’ve installed workload adding F# support.
F# (Linux/MacOS) - F# on non-Windows platform is distributed as part of the
mono. Installation guide and recent version of
monocan be found on the project webpage and on the F# Software Foundation “Use on Linux” page
.Net Core SDK - .Net Core is modern, cross platform implementation of .Net Framework. Ionide is requiring it for set of features such as project modifications or debugging. The core part of SDK is
dotnetCLI tool that provides easy way to create, build and run F# projects. What’s important - the
dotnettool can be used also to create applications targeting also Full Framewok (like
net461). For detailed instructions on installing .Net Core visit official step-by-step installation guide
VSCode C# plugin (optional) - Ionide’s debugging capabilities relies on the debugger provided by Omnisharp team. To get it install C# extension from VSCode marketplace
MsBuild 2015 (Windows only, optional) - For old, verbose
.fsprojfiles on Windows MsBuild 2015 (14.0) needs to be additionally installed. You can download it here. However, we highly recommend using new, SDK-based project files.
Don’t hesitate to ask questions using the following channels, or to submit a pull request!
The GitHub pages for each plugin are good place to ask questions, find answers, and report issues.
Ask a question, make a suggestion, or just chat with other Ionide users.
Ionide is an open source project hosted on GitHub
We accept Pull Requests, new features proposals and any suggestions on how we can make Ionide better!
If your company would be interested in supporting development of Ionide, or acquiring commercial support sent us email - firstname.lastname@example.org
You can also support Ionide development on Open Collective.