Skip to content

anjemz/fsharpbinding

 
 

Repository files navigation

# F# Language Binding for MonoDevelop 

Adds F# support to MonoDevelop.

Features:
* Code completion
* Syntax highlighting
* Tooltips
* Debugging 
* Target .NET 3.5, 4.0, 4.5
* F# Interactive scripting (Alt-Enter execution)
* Templates (Console Application, Library, Tutorial Project, Gtk Project)
* Makefile support
* MonoDevelop includes C# 5.0, ASP.NET and other features
* Supports F# 3.0 type providers (requires F# 3.0)
* xbuild support for Visual Studio .fsproj and .sln files without change (requires Mono 3.0 and F# 3.0)

Requires MonoDevelop 3.0 and later versions

## Installation

On Mac and Linux, first build or install [the F# 3.0 compiler (open source edition)](http://fsharp.github.com/fsharp) if 'fsharpc' is not on your command line.

Then install the F# Language Binding via the MonoDeveop Add-in manager.

   MonoDevelop 
        --> Add-in manager --> Gallery
        --> Language Bindings --> F# Language Binding

Then do this:

   MonoDevelop 
      --> Options/Preferences --> Source Code --> Code Formatting --> Text File --> Convert tabs to spaces


For more information about F# and code examples see these links:
* http://fsharp.net
* http://tryfsharp.org
* http://fssnip.net

## Building and installing from scratch

Normally you should get the binding from the repository. If you want to build and install it yourself and develop it, try this:

  ./configure.sh
  make
  make install 

## Contribute 
Join [The F# Open Source Group](http://fsharp.github.com). We use [github](http://fsharp.github.com/fsharpbinding) for tracking work items and suggestions.

## Can't get it to work?  

Don't give up! Add an issue to [the issue tracker](http://fsharp.github.com/fsharpbinding/issues). You issue will be seen by the developers.

## Notes for Developers

To check things are working try a few different things somewhat at random:
  - Check the F# templates are appearing
  - Create a console project (NOTE: retarget it to .NET 4.0 using right-click->options->General)
  - Check there are completion lists in the console project
  - Check you can build the console project
  - Check you can run the console project
  - Check you can "debug-step-into" the console project
  - Check you can set a break point in the console project
  - Check there are type tips showing when you move the mouse over code identifiers
  - Load an existing .fsproj (e.g. see MonoDevelop.FSharpBinding/tests/projects/...) and check if completion works etc.
  - Run xbuild on a few .fsproj (this is nothing to do with the binding, it is just fsharp/fsharp)

There are a couple of known issues, see https://github.com/fsharp/fsharpbinding/issues. The issue where new projects target .NET 3.5 by default is really annoying.

If you make changes to the binding, then loss of completion lists etc. can be disturbing and hard to debug. There are some debugging techniques. To launch MD you can use
   /Applications/MonoDevelop.app/Contents/MacOS/MonoDevelop --new-window --no-redirect

To enable some logging you can use
  export FSHARPBINDING_LOGGING=*


About

F# language binding for MonoDevelop.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • F# 48.2%
  • Emacs Lisp 46.5%
  • C# 5.0%
  • Shell 0.3%