Notice: Due to a wordpress/php failure I had to bring up a temporary page substitute until everything's fixed again.
Perhaps I'll just keep it static like now -- pure safe static nothrow @nogc HTML ftw!
What is Mono-D?
Mono-D is an Addin for XamarinStudio/MonoDevelop that brings D support to those IDEs.
(In the following, MonoDevelop or XamarinStudio will be abbreviated with MD or XS.
Technically, XS is MD just with a different logo and an Android development extension whereas the this Android dev extension is not free to have. Both XS and MD generally are free, though.)
This support includes
D Project management
Managing files & resources
Managing inter-project dependencies in a solution
Build projects and prepare them for being deployed
Ad hoc dub support. Despite the dub.json file not being a native format that is supported by the Mono/.Net facilities, there's still a bunch of things wrapped for being used within MD.
Read-only opening dub.json files as projects
Resolving package dependencies and subpackages and opening all of them as projects, too
Basic Visual-D project format support
dmd, gdc, ldc2, rdmd, dub, make toolchain support
Rich editing & refactoring facilities:
Halfway™ decent auto code completion including pre-compile time
template deduction & evaluation
mixins & mixin expression
expression value as well as
evaluation & deduction that is used to provide extremely more accurate information about which symbols could be accessed or typed in a particular code context
Obligatory things like definition lookup,
Code symbol reference highlighting,
Semantic type identifer highlighting,
Optional diff-based syntax highlighting,
Diet template file highlighting.
Mixin expression pre-compilation to see what a mixin will look like when being compiled
Code declaration foldings
User-generated foldings via
//region My Region
Obligatory AST outlining for easy access of stuff declared in a D source file
Intelligent code indentation
Basic code formatting support which reorganizes all kinds of code elements, not only line beginnings
Invoking a project's unit tests via pressing Ctrl+T
Open XS. Open the 'Help' menu and 'Check for updates'.
Select the Alpha channel to be used for searching updates.
Generally it's recommended to stick to the latest 'Alpha' version of XS because only then, you'll get the very latest & most recent changes & bug fixes.
Check your distro's software manager for any recent MonoDevelop version >v5.0 and try install that one
MD >5.0 is mandatory due to massive API changes etc.!
If no proper build hasn't been uploaded, go to http://simendsjo.me/files/abothe, download the .xz matching your OS architecture. Follow the instructions given in the readme.txt in order to deploy everything properly.
The archives are maintained by me, so please check the site regularly (like 1-2 times per month) for updates!
Make sure you've got dmd, optionally dub installed Either via downloading the zip distributables or your linux distro's package manager
Click on the Tools => Addin manager menu
In the Gallery tab, hit the Refresh-button
If there's an exception that some .mrep files could not be found,
Open the repository drop-down menu
click the Manage Repositories entry
Add http://addins.monodevelop.com/Stable/Win32/5.0 (or, if it still fails: http://mono-d.alexanderbothe.com/repo)
In the Language Bindings group, install the D Language Binding
Mono-D is now installed and theoretically ready to be used!
Open Tools => Options You'll find all D-related options in the Environment => D tree item.
If the dmd executable cannot be found via $PATH or %PATH, adjust the compiler's bin path in the Compiler Toolchains settings to the absolute path.
This also counts for OSX-Installations where XS is somehow not able to pass /usr/local/bin as default PATH entry..so just set the bin path over there as well!
on Windows or the other respective paths for Linux:
or for OSX:
You can of course add custom globally used libraries as well. Note that it's not sufficient to just reference the ...\dmd2\src\-path alone -- the \druntime\src\-folder will cause trouble otherwise!
Create or open a D project.
Concerning updating Mono-D on Windows:
Before installing any new version of Mono-D, make sure you never opened any D project since the last start of XS or MD. Otherwise, you'll get some installation errors etc which are caused by the fact that dlls cannot be overwritten once being loaded.