Monodevelop

Author: Anubhav Singh

Visual Studio for Mac is actually MonoDevelop under the hood, with some additions to it by Microsoft. VS for Mac was previously called Xamarin Studio, but the interface has been streamlined and it works with Unity3D. I’m using it for Unity3D,.NET Core, and Xamarin, with a focus on building extensions for VS for Mac right now. Monodevelop free download. AntiX-XFCE-noofcial Entorno de escritorio predeterminado: xfce4 Basado en: AntiX Core 19.2 Runit. Gestor De arranque: Ru.

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.

MonoDevelop is a Mono/C# Integrated Development Environment for Windows, Linux and macOS. It parses your C# and VB programs as you type them and is able to provide contextual completion of methods. MonoDevelop is an open-source integrated development environment for Linux, macOS, and Windows. It’s used for the development of projects that use Mono and.NET frameworks. It is also known a.

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.

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.

Monodevelop Arch

Monodevelop

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!

MonoDevelop is an IDE primarily designed for C# and other .NET languages. It is also cross compatible, as in; it will run under windows as well as Mac OSX and Linux.


Prerequisites

  • Microsoft Windows XP or above, Mac OS X, or any Linux distribution which supports Mono.
  • .NET Framework 4.0
  • GTK# for .NET 2.12.10
  • Kerbal Space Program 0.14 X1 or above.

PCL assemblies for Linux systems

Monodevelop C++

Linux systems may be missing the PCL assembly libraries, which will cause compilation to fail. (No longer an issue on newer Mono)

  • .deb and .rpm based systems can follow the instructions on the Mono Project site to add the appropriate repository, and the package name is 'referenceassemblies-pcl'.
  • Arch Linux users will need to get the package from the Arch User Repository (AUR), and are looking for the 'mono-pcl' package.

Setting Up

  1. Start a new solution either by selection 'Start new solution' on the welcome screen or File > New > Solution...
  2. Select 'Library' in the C# tree (Visible by default). Name it whatever you like. (We're using MyKSPProject for this tutorial. Click forward. Then Ok.)
    Creating a new solution
  3. Click Project > Edit References and follow the steps below:
    • Click the .NET Assembly tab and use the navigation menu on the left to browse to your KSP installation folder.
    • On Windows navigate to (<KSP_win>KSP_DataManaged) or on mac click 'Browse...' and navigate to (/Users/<user>/Applications/Steam/steamapps/common/Kerbal Space Program/KSP.app/Contents/Resources/Data/Managed). Note that the KSP.app folder will show as just 'KSP' (without the .app) and you can't navigate into it. Instead, navigate into there in the Finder, then right click/ctrl-click on KSP, choose 'Show Package Contents', continue to the Managed directory, then drag&drop Assembly-CSharp.dll and UnityEngine.dll into the 'Browse' dialog.
    • Select Assembly-CSharp.dll and UnityEngine.dll. More assemblies may be required depending on exactly which things your mod needs access to.
      Adding References
    • Press Add then Ok, they should now be visible under the 'References' directory of your solution.


Great, you're all set! Now continue to creating your first module!

Monodevelop Vs Visual Studio

Retrieved from 'https://wiki.kerbalspaceprogram.com/index.php?title=Setting_up_MonoDevelop&oldid=82487'