Как я могу запустить несколько экземпляров MonoDevelop на Mac?

121

Я хотел бы открыть новый экземпляр MonoDevelop для работы над другим проектом на Mac, и в настоящее время ОС не позволяет мне открыть новый экземпляр.

miguel.de.icaza
источник

Ответы:

173

На Mac, если у вас открыто приложение и вы пытаетесь запустить его снова, Mac просто переключается на открытое приложение. Вы можете заставить его открыть новый экземпляр, передав параметру «-n» программе запуска. В терминале запустите

open -n /Applications/MonoDevelop.app

Также обратите внимание, что MonoDevelop может открывать несколько решений. Для этого просто снимите флажок «закрыть текущее решение» в диалоговом окне «Открыть» или удерживайте нажатой клавишу управления при нажатии на один из недавно открытых проектов на странице приветствия.

РЕДАКТИРОВАТЬ: для Xamarin Studio, который заменил MonoDevelop на Mac, команда

open -n /Applications/Xamarin\ Studio.app

РЕДАКТИРОВАТЬ 2:

Для Visual Studio для Mac, который заменил Xamarin Studio, команда

open -n /Applications/Visual\ Studio.app
Микайла Хатчинсон
источник
2
Привет, я запускаю MonoDevelop 2.4 в Mac OS, и я не вижу этого флажка или такого поведения клавиши управления. Изменилось ли это недавно?
Дэвид Моулс
2
У меня все еще работает. Обратите внимание, что флажок и подсказка на странице приветствия появляются только в том случае, если у вас уже открыто решение, а флажок появляется только тогда, когда вы действительно выбираете решение или проект в диалоговом окне.
Микайла Хатчинсон,
Обновите метку флажка, если кто-то найдет это, теперь он говорит: «Закрыть текущую рабочую область»
Тьяго,
FYI - если вы используете этот метод, все дополнительные решения открываются в одном окне monodevelop ... это совсем не то, что я ожидал от использования VS / MD в Windows. Очевидно, мы должны прибегнуть к методам ниже, чтобы получить отдельные окна для отдельных решений ..
Дэвид Джеске
2
Все еще работает в Xamarin Studio, хотя я все еще подозреваю, что Мигель open -n /Applications/Xamarin\ Studio.app/
бросил мяч:;
40

Использование оболочки для ввода команды, как описано другими, для запуска дополнительного экземпляра - это нормально, но я предпочитаю иметь значок на доке, который я могу просто щелкнуть.

Это легко сделать:

  1. Откройте редактор AppleScript и введите следующее:

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

  2. Сохраните с именем, например «MonoDevelop Launcher», и обязательно укажите « Приложение» в качестве формата файла.

  3. Перетащите значок на свою док-станцию.

  4. Обязательно ознакомьтесь с приведенным ниже комментарием Bright о замене общего значка на MonoDevelop.

Щелкните несколько раз, чтобы насладиться красотой нескольких экземпляров MonoDevelop.

Subfuzion
источник
1
Лучший из двух других ответов вместе взятых
BlackTigerX
10
Чтобы заменить значок средства запуска сценария на значок MonoDevelop, вы можете открыть содержимое пакета и заменить файл applet.icns на значок monodevelop (из содержимого пакета MonoDevelop). Просто не забудьте переименовать файл в applet.icns после его копирования. ,
яркая,
1
Отлично! Спасибо Subfuzion, и спасибо bright за подсказку по замене значков.
Ли Бауэрс,
Хороший совет от яркого по поводу смены значка. Также см. Ответ Глинкота ниже и комментарий Люка относительно обработки пространства в Xamarin Studio, который заменяет MonoDevelop.
Subfuzion
13

Для удобства я просто создаю три копии MonoDevelop.

Выделите MonoDevelop в Finder, скопируйте, вставьте, переименуйте новую копию в «MonoDevelop-2» и повторите, как вам нравится.

Это также помогает мне отслеживать, что происходит в разных случаях. Обычно я оставляю свой самый важный проект открытым в «MonoDevelop», использую «MonoDevelop-2» для тестирования идей, связанных с моим основным проектом, и «MonoDevelop-3» для случайных царапин.

Когда вы используете alt-tab (open-Apple-tab (command-tab (whvr))), имя исполняемого файла отображается под его значком в списке приложений, поэтому, пока я придерживаюсь своего соглашения, я всегда знаю (ish) содержимое экземпляра, к которому я использую alt-tab, независимо от того, сколько других окон приложения у меня открыто. Мне не нужно их перебирать, чтобы понять это.

Это не идеально - когда у меня работает «MonoDevelop», если я попытаюсь запустить один из других, первая попытка запуска не удастся. Просто попробуй снова запустить - второй раз работает. Однако это происходит только с момента самой последней сборки, и я думаю, что это может иметь какое-то отношение к автоматическим обновлениям или управлению надстройками. Я не слишком вникал в это. Поскольку при запуске и запуске проблем не возникает, я не переживаю по этому поводу :)

В результате при использовании метода start-it-two для любого дополнительного экземпляра MonoDevelop, который вы хотите запустить, вам придется щелкнуть четыре раза вместо двойного щелчка. Добавляет около пятнадцати секунд к процессу, а поскольку у меня MonoDevelop (вместе с «MonoDevelop-1» и «MonoDevelop-2») работает все время, это добавляет, может быть , дополнительные тридцать секунд работы каждую неделю. Мне кажется, честная торговля ради удобства.

Немного хакерский, но у меня это сработало.

И все крутые ребята этим занимаются.

Рори Блит
источник
1
Отличная идея! Будет ли работать, если вместо копирования создать символическую ссылку?
Микайла Хатчинсон,
1
Сбои при запуске - это известная ошибка при повторном сканировании реестра надстройки. Когда MD обнаруживает, что его библиотеки DLL были изменены или «перемещены», он перестраивает реестр надстроек, и иногда после этого происходит сбой. Существует переменная среды, которую вы можете установить, чтобы она использовала другое место в реестре, которое вы могли бы использовать для разделения реестров ваших трех экземпляров, хотя я не уверен, как вы устанавливаете переменные env для каждого приложения на Mac. Возможно, придется исправить это в скрипте MonoDevelop.app/Contents/macOS/MonoDevelop.
Микайла Хатчинсон,
Я не пробовал ничего, кроме простого копирования, хотя ваша идея имеет больше смысла - мне не придется дублировать усилия при захвате последних сборок MonoDevelop. Когда я делаю такие вещи (придумывая грязные решения для себя), я обычно выбираю самый ленивый путь, чтобы удовлетворить свои вожделения. Но теперь я хочу знать. Конечно, я мог бы сделать это гораздо быстрее, чем мне потребовалось, чтобы написать этот комментарий ... Это побеждает цель моей лени. Мне надо идти. Я должен пойти и попробовать ...
Рори Блит
Не знаю, почему я так долго ждал ответа на это - я попытался создать символическую ссылку, как только написал вышеупомянутый комментарий - не сработало: | OS X не обманули. Так что я все еще копирую. Но, эй - это работает. Я придумал несколько способов его автоматизации и передачи более значимой информации, чем просто -2, -3 и т. Д. В имени файла для вкладки команд в приложениях, но я еще не достиг порога необходимости> лени, который подсказывает мне, чтобы собрать свои инструменты :)
Рори Блит
6

--XAMARIN STUDIO--

По состоянию на февраль 2013 года Monodevelop называется Xamarin Studio, и тот факт, что в нем есть место, означает, что это не работает. Немного поигравшись позже, я обнаружил, что вам нужно вложить два типа кавычек, и следующее будет работать в applescript:

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

наслаждаться

Glinkot
источник
5
Это работает, вам просто нужно покинуть пространство, напримерopen -n /Applications/Xamarin\ Studio.app
Люк,
Еще один совет, вам также нужно избегать обратной косой черты в сценарии, напримерdo shell script "open -n /Applications/Xamarin\\ Studio.app/"
Mick Byrne
6

Также вы можете использовать более короткую версию:

Open -n -a "Xamarin Studio.app"

Изменить : для Visual Studio для Mac и / или короче команда

Open -n -a "Visual Studio"
Денис Гордин
источник
3

Если вы согласны с открытием двух решений в одном экземпляре Xamarin Studio, вы можете сделать это, перейдя в «Файл» -> «Недавние решения», а затем нажав Ctrl + щелкнув на другом решении. Это открывает оба решения в одном экземпляре Xamarin studio.

Виллем
источник
3

Вы можете проверить это приложение от redth (теперь сотрудник Xamarin), который создал Xamarin Studio Launcher: http://redth.codes/Xamarin-Studio-Launcher-v3/ . Нет кода для публикации, так как это приложение. Но хорошо, что он упакован для вас в .dmg. Он работает даже с файлами .sln. Жесткая ссылка на загрузку версии 4 (12 января 2015 г.): http://redth.codes/assets/Xamarin.Studio.Launcher.v4.zip .

valdetero
источник
1

Отредактируйте ваш ~ / .bashrc или ~ / .zshrc и настройте следующий ярлык:

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

Используйте следующее из интерфейса командной строки:

xam ReactiveUI.sln
Джеффри Хантли
источник
1

Еще один самый простой способ ....

Просто откройте терминал. Перетащите приложение Xamarin Studio из приложения, которое примет путь, например, /Applications/Xamarin\ Studio.appи напишите open -n перед/Applications/Xamarin\ Studio.app

Теперь полная команда похожа на open -n /Applications/Xamarin\ Studio.app

Pritish
источник
0

Просто откройте команду Терминал записи или ниже, вы можете изменить номер имени экземпляра, например (/ Xamarin \ Studio1), он откроет еще одну Xamarin Studio, например (/ Xamarin \ Studio1)

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

Используя вышеизложенное, вы можете создать любой из нескольких экземпляров .app.

Патель Панкай
источник