Cross-platform F# developers get a dose of Ionide
- 09 March, 2016 21:53
Ionide, a development tool for the Microsoft-designed F# functional-first language, will be integrated with the Forge command-line tool and will get deeper linkage to Fslab libraries for data science.
Providing F# developers with a modern IDE, open source Ionide boasts capabilities like autocomplete, document formatting, and syntax and error highlighting. It's packaged as an Atom Editor and Visual Studio Code-compatible suite of plug-ins for cross-platform development.
Speaking about the project during the recent fsharpConf 2016, Ionide lead developer Krysztof Cieślak mapped out where the tooling is headed. Integration with Forge, another of Cieślak's projects, would provide tooling for project manipulation and scaffolding, he said. "Forge is a command-line tool that provides tasks for creating F# projects with no dependence on other languages," the Forge GitHub page states. "When called without any arguments, Forge automatically goes into an interactive mode."
FsLab, meanwhile, features a rapid development environment for advanced analysis, powered by F#. Developers can access data using type providers and explore data using a data-frame and time-series library. Integration with the R language offers visualization and reporting. Plans call for including charts from Fslab in the F# interactive panel, as well as including test runners, Cieślak said.
Right now, users can plug in testing using the build automation system Fake, which has a domain-specific language for build tasks, he said, but this isn't as nice as having a UI for this capability, as in Visual Studio. He hopes the capability will be added "maybe one day."
The project was released with support for Atom about a year ago, with a Visual Studio Code plug-in offered about four months ago. Ionide also features F# Interactive, a capability for running F# scripts easily for quick feedback and iteration. The F# Yeoman generator, offered as an Npm, supports scaffolding for new projects, but it's supported only in Atom. Ionide also features integration with Paket, a dependency manager for .Net and Mono projects, and with the Fake .Net build tool.