How can I launch multiple instances of MonoDevelop on the Mac?

MacosMonoxamarin.iosMonodevelop

Macos Problem Overview


I would like to open a new MonoDevelop instance to work on a different project on the Mac, and the OS is currently preventing me from opening a new instance.

Macos Solutions


Solution 1 - Macos

On Mac, if you have an app open and you try to launch it again, the Mac just switches to the open app. You can force it to open a new instance by passing the option "-n" to the launcher. In a terminal, run

open -n /Applications/MonoDevelop.app

Note also that MonoDevelop is capable of opening multiple solutions. To do this, simply uncheck the "close current solution" checkbox in the "Open" dialog, or hold down the control key when clicking on one of the recently opened projects in the Welcome Page.

EDIT: For Xamarin Studio, which has replaced MonoDevelop on Mac, the command is

open -n /Applications/Xamarin\ Studio.app

EDIT 2:

For Visual Studio for Mac, which has replaced Xamarin Studio, the command is

open -n /Applications/Visual\ Studio.app

Solution 2 - Macos

Using the shell to enter the command as others have described to launch an extra instance is fine, but I prefer having an icon on the dock that I can just click.

It's easy to do:

  1. Open AppleScript Editor and enter the following:

    do shell script "open -n /Applications/MonoDevelop.app/"

  2. Save with a name like "MonoDevelop Launcher" and make sure to specify Application for the file format.

  3. Drag the icon to your dock.

  4. Make sure to check out bright's comment below about replacing the generic icon with MonoDevelop's.

Click repeatedly to enjoy the grooviness of multiple MonoDevelop instances.

Solution 3 - Macos

For convenience, I just create three copies of MonoDevelop.

Highlight MonoDevelop in Finder, copy, paste, rename the new copy to "MonoDevelop-2", and repeat to your satisfaction.

It also helps me keep track of what's going on in different instances. I typically keep my most important project open in "MonoDevelop", use "MonoDevelop-2" for testing ideas related to my main project, and "MonoDevelop-3" for random scratch.

When you alt-tab (open-Apple-tab (command-tab (whvr))), the name of the executable shows up beneath its icon in the application list, so, as long as I stick to my convention, I always know(ish) the contents of the instance I'm alt-tabbing to regardless of how many other app windows I have open. I don't have to cycle through them to figure it out.

It's not perfect - when I have "MonoDevelop" running, if I try to fire up one of the others, the first attempt to start will fail. You just try to fire it up again - it works the second time. This has only been happening since the most recent build, though, and I think it might have something to do with automatic updates or add-in management. Haven't looked into it too much. Since there are no problems once up and running, I don't worry about it :)

The result is that, with the start-it-twice method, for any additional instance of MonoDevelop you'd like to start, you end up having to quadruple-click instead of double-click. Adds about fifteen seconds to the process, and since I have MonoDevelop (along with "MonoDevelop-1" and "MonoDevelop-2") running all the time, it adds up to, maybe, an extra thirty seconds of work each week. A fair trade for the convenience, methinks.

A bit hacky, but it's worked well for me.

And all the cool kids are doing it.

Solution 4 - Macos

--XAMARIN STUDIO--

As at February 2013 Monodevelop is called Xamarin Studio, and the fact it has a space in it means the above doesn't work. Some fiddling later, I've found you need to nest two types of quotes and the below will work in applescript:

do shell script "open -n '/Applications/Xamarin Studio.app/'"

Enjoy

Solution 5 - Macos

Also you can use shorter version:

Open -n -a "Xamarin Studio.app"

Edit: For Visual Studio for Mac and/or more shorter the command is

Open -n -a "Visual Studio"

Solution 6 - Macos

If you're ok with opening two solutions in one instance of Xamarin Studio, you can do this by navigating to "File" -> "Recent Solutions" and then Ctrl+clicking on the other solution. This opens both solutions in the same instance of Xamarin studio.

Solution 7 - Macos

You can check out this app by redth (now a Xamarin employee) who made a Xamarin Studio Launcher: http://redth.codes/Xamarin-Studio-Launcher-v3/. There is no code to post since it is an app. But the good thing is it is packaged up in a .dmg for you. It even works with .sln files. Hard link to the v4 (Jan 12, 2015) download: http://redth.codes/assets/Xamarin.Studio.Launcher.v4.zip.

Solution 8 - Macos

Edit your ~/.bashrc or ~/.zshrc and configure the following shortcut:

alias xam = 'open -n /Applications/Xamarin\ Studio.app'

Use as follows from the CLI:

xam ReactiveUI.sln

Solution 9 - Macos

One more easiest way....

Just Open the Terminal Drag the Xamarin Studio app from application it will take the path like /Applications/Xamarin\ Studio.app and write the open -n before the /Applications/Xamarin\ Studio.app

Now complete command is like open -n /Applications/Xamarin\ Studio.app

Solution 10 - Macos

Just Open the Terminal write or below command , you can change instance name number e.g(/Xamarin\ Studio1) it's open another one Xamarin Studio , e.g(/Xamarin\ Studio1)

$ open -na /Applications/Xamarin\ Studio.app --args -DataPath /Users/$(whoami)/Library/Application\ Support/Xamarin\ Studio1

Using above you can create any of .app multiple instance .

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionmiguel.de.icazaView Question on Stackoverflow
Solution 1 - MacosMikayla HutchinsonView Answer on Stackoverflow
Solution 2 - MacosSubfuzionView Answer on Stackoverflow
Solution 3 - MacosRory BlythView Answer on Stackoverflow
Solution 4 - MacosGlinkotView Answer on Stackoverflow
Solution 5 - MacosDenis GordinView Answer on Stackoverflow
Solution 6 - MacoswillemView Answer on Stackoverflow
Solution 7 - MacosvaldeteroView Answer on Stackoverflow
Solution 8 - MacosGeoffrey HuntleyView Answer on Stackoverflow
Solution 9 - MacosPritishView Answer on Stackoverflow
Solution 10 - MacosPatel PankajView Answer on Stackoverflow