MonoDevelop is a port of the SharpDevelop.NET integrated development environment (IDE) to Linux, using the Gtk# user interface toolkit. Both MonoDevelop and SharpDevelop are free, open source applications. MonoDevelop is a simple multiplatform Integrated Development Environment. MonoDevelop is an Integrated Development Environment (IDE) for multiple operating systems, including Linux, Mac OS X and Windows. Developers can use it to create both desktop and web applications.
If you did not migrate your account yet, visit https://idp-portal-info.suse.com/
- MonoDevelop enables developers to quickly write desktop and web applications on Linux, Windows and macOS. It also makes it easy for developers to port.NET applications created with Visual Studio to Linux and macOS maintaining a single code base for all platforms.
- MonoDevelop is a free and open-source IDE for Mono/.NET. It has support for C# and F# programming languages, with releases 4.x-5.x also including support for C/C projects. It is built using the Gtk# toolkit, is written in C# and is in the official repositories of Fedora. Installation DNF. To install MonoDevelop using DNF run.
Cross platform IDE for C#, F# and more
Vendor: Xamarin
Developer: Xamarin
License: LGPLv2 and MIT/X11
Web: http://www.monodevelop.com
Monodevelop
- 2Installation
Features
- Code completion support for C#
- Code templates
- Code folding
- Customizable window layouts
- User defined key bindings
- Integrated Debugger for debugging Mono and native applications
- GTK# Visual Designer
Installation
openSUSE Leap
Version: openSUSE Leap 42.3
openSUSE Tumbleweed
Download and install Flatpak:
Install from the official FlatPak repository:
Run as a containerized application:
Monodevelop C#
Author: Anubhav Singh
The MonoDevelop IDE is built around the concept of an extension tree. An extension package is a set of extensions that plug into extension points to add functionality to the IDE. The whole IDE is built this way.
The CBinding extension package enables developers to write C/C++ solutions in the IDE. However, there were many features missing in it. My project was about writing some of those features and make changes to existing ones.
I have been working in this over past 4 months as part of Google Summer of Code 2017 student and there are still lot of things that are yet to be done! The very first feature I worked on was implementing support to be able to use compilers present on Windows (GCC, MSVC, mingw32 etc..). This was done via CMake as that’s the only project format currently supported.
In Windows, the CBinding supports the following toolchains:
- MinGW32
- CLang
- Visual Studio 15 2017
- Visual Studio 14 2015
- Visual Studio 12 2013
Users can easily switch between these toolchains using Tools > Options. It currently lists available toolchains based upon the platform (Windows, Linux, Mac) but I plan to write an additional check to load only the toolchains installed on that particular platform.
Monodevelop Vs Visual Studio
The old “MD1” project system and templates are removed from the CBinding and now it only supports CMake. For code completion, CLangManager now targets CMake project system.
Since the inception of CBinding, MonoDevelop’s codebase has changed a lot and the extensions still use some of the APIs of MonoDevelop that are no longer public, so enabling some functionality required changing the MonoDevelop codebase and upstreaming these changes, this is in progress :)
Apart from this, the CMake projects subclass SolutionItem but it needs some functionality from the Project base class which is quite specific to MSBuild project system, so I have done some chaining between the Project and SolutionItem/WorkspaceObject in the MonoDevelop source code to allow CBinding to use those properties.
The code can be found here:
Overall it was a great learning experience which I would like to continue further. I would like to thank the entire Mono organisation specially Mikayla Hutchinson for being a constant support for me. Understanding and working on such a large codebase was an ultimate experience. I had a lot of fun this summer!