Ionide

An Atom Editor and Visual Studio Code package suite for cross platform F# development.

Introduction

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.

F# Interactive

With FSI as a part of the editor, you can run F# scripts easily for fast feedback and iteration.

Project Scaffolding

The F# Yeoman Generator makes creating new projects quick and simple. Feature supported only in Atom.

Paket Integration

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.

FAKE Integration

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.

Features

Features

F# IDE

  • Syntax highlighting
  • Error highlighting
  • Autocomplete
  • Tooltips
  • Quick Info Toolbar
  • Usages highlighting
  • Formatting source file
  • F# Interactive (REPL) panel
  • Go-to declaration

Paket integration

  • Paket initialization
  • Adding, installing, updating packages from solution or current project (allows to choose version of package)
  • Removing packages from solution or current project
  • Converting from NuGet, simplify dependency graph, turning on auto-restore for solution.
  • Listing outdated packages

FAKE integration

  • Running any build target defined in FAKE build script
  • Panel in which you can display output of any FAKE build run in current Atom session (including currently running builds)

F# Project scaffolding

  • Integration with F# Yeoman generator
  • Possibility to create new empty solutions or projects (multiple templates for most popular project types)
  • Feature supported only in Atom.
Getting Started

Getting Started

F# 3.1 needs to be installed on your system in order to use Ionide You can download F# 3.1 here for Windows

For more detailed instructions on installing F# :

FSC (F# Compiler) and FSI/fsharpi on Mono (F# Interactive) need to be addeed to your system PATH. The default location on 64-bit Windows is C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\, on 32-bit Windows is C:\Program Files\Microsoft SDKs\F#\4.0\Framework\v4.0.

Atom

The easiest way to get Ionide is via the Atom package manager. In Atom, open the Settings pane and navigate to the Install tab. There, you can search for ionide-installer package and click Install button to install it.

Unfortunately the Atom package manager’s GUI does not currently indicate that the Ionide package installations are in progress. Once they’ve completed you may need to restart Atom for Ionide to load properly.

Alternatively, if you are more comfortable using the command line, you can install it using apm:

apm install ionide-installer

The first time you start Atom after installing the ionide-installer package, you will have to wait a few seconds for the installer to determine which Ionide packages it needs to install.

If you’re interested in how Ionide functions within Atom, checkout the Atom Getting Started Documentation

NOTE - Ionide-Yeoman, the F# Project Scaffolding Tool, requires having generator-fsharp installed on your system - please follow instructions on the generator-fsharp page to install it.

VS Code

Ionide plugins for VS Code can be installed using new VS Code extension gallery - Ionide-fsharp is one of the featured extensions there, and there are also individual plugins for Paket and FAKE.

If you’re interested in how Ionide functions within VS Code, checkout the VS Code Getting Started Documentation

Support

Need Help?

Don’t hesitate to ask questions using the following channels, or to submit a pull request!

GitHub Issues

The GitHub pages for each plugin are good place to ask questions, find answers, and report issues.

Ionide-Project Gitter

Join the chat at https://gitter.im/ionide/ionide-project

Ask a question, make a suggestion, or just chat with other Ionide users.

Twitter

https://twitter.com/ionideProject

F# Slack Channel

Join the F# room on the Functional Programming Slack channel

Contribute

Contribute

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!