Welcome to mirror list, hosted at ThFree Co, Russian Federation.

README.md « fsharpbinding « external « main - github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8ed56a3070611049b11bc26ac60bf706a12735a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# F# Language Support for MonoDevelop / Xamarin Studio

This project contains advanced editing support for the F# addin in MonoDevelop, Xamarin Studio and Visual Studio for Mac.

##Features
* Code completion
* Syntax highlighting
* Tooltips
* Debugging 
* F# Interactive scripting (Alt-Enter execution)
* Templates (Console Application, Library, Tutorial Project, Gtk Project, iOS, Android)
* more...


### Prerequisites

To use F# language support please ensure that you have F# installed on your system, for details on this please see http://fsharp.org

### Installation

This addin is included by default for MonoDevelop/Xamarin Studio/Visual Studio for Mac.

### Building and installing from scratch

This code is directly part of the `monodevelop` repository so the easiest ways of building is to clone monodevelop and work in the submodule directly:

```bash
git clone git@github.com:mono/monodevelop --recursive
cd monodevelop
./configure
make
```


### Can't get it to work?  

Don't give up! Add an issue to this repository. Your issue will be seen by the developers.


### Notes on Manual Testing (old instructions, unverified)

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 e.g. for 'System.' and 'System.Console.WriteLine(' and 'List.'
  - 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 msbuild on a few .fsproj (this is nothing to do with the binding, it is just fsharp/fsharp)

### Debugging Tips (old instructions, unverified)

To be able to debug the add-in in Xamarin Studio or Monodevelop, invoke `./configure.sh --debug` or `configure.bat --debug`. This adds the necessary .mdb files to the add-in. 
When configured with `--debug` you can simply `Start debugging` in Xamarin Studio. This will launch a debugged instance of Xamarin Studio. 

On Mac, if you make changes to the add-in after debugging, you will need to restart Xamarin Studio or MonoDevelop before rebuilding. 

Note that you can not build the add-in in release mode when configured with `--debug`. To build a release build, first `./configure.sh` without `--debug`


On Mac/Linux, 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 MonoDevelop you can use the command:  
```
/Applications/MonoDevelop.app/Contents/MacOS/MonoDevelop --new-window --no-redirect
```
or this command for Xamarin Studio:  
```
"/Applications/Xamarin Studio.app/Contents/MacOS/XamarinStudio" --new-window --no-redirect
```
to enable some logging you can use

	export FSHARPBINDING_LOGGING=*

On Windows you can generally use Visual Studio to help develop the binding. 
You can start Xamarin Studio or MonoDevelop under the debugger using the normal technique:

	devenv /debugexe "c:\Program Files (x86)\Xamarin Studio\bin\XamarinStudio.exe"

### Building the addin separately (old instructions, unverified)

To configure and compile the addin seperately then the following commands can be executed from the addin directory (/main/external/fsharpbining if cloning as part of monodevelop)

```bash
./configure.sh 
make 
make install
```

If MonoDevelop is installed in an unusual prefix you will need to invoke `configure.sh` with e.g. `--prefix=/path/to/prefix/lib/monodevelop`. Use `./configure.sh --help` to see a list of the paths searched by default.

If you subsequently make changes to the add-in, you will need to `make install` again and restart MonoDevelop/Xamarin Studio. 

The first time you `make install` the AddIn you'll override Xamarin's official one and it will initially be set to disabled, so you need to go to the AddIn manager and ensure the F# AddIn is enabled.  

**Note:**  One thing to check is the the version specified in `configure.fsx` is higher than the pre-installed version, if it's not then the local addin will not be loaded.   

For reference on Mac the locally installed addin is at the following location:  ```/Users/<username>/Library/Application Support/XamarinStudio-6.0/LocalInstall/AddIns/fsharpbinding/<version>```

### Build on Windows (old instructions, unverified, builds and installs the Debug version into Xamarin Studio - adjust as needed)

```dos
configure.bat
build-and-install-debug.bat
```

If you subsequently make changes to the add-in, you will need to `build-and-install-debug.bat` again and restart MonoDevelop/Xamarin Studio. 

For more information about F# see [The F# Software Foundation](http://fsharp.org). Join [The F# Core Engineering Group](http://fsharp.github.io).