Come posso avviare più istanze di MonoDevelop sul Mac?


121

Vorrei aprire una nuova istanza MonoDevelop per lavorare su un progetto diverso sul Mac e il sistema operativo attualmente mi impedisce di aprire una nuova istanza.

Risposte:


173

Su Mac, se hai un'app aperta e provi ad avviarla di nuovo, il Mac passa semplicemente all'app aperta. Puoi forzarlo ad aprire una nuova istanza passando l'opzione "-n" al programma di avvio. In un terminale, esegui

open -n /Applications/MonoDevelop.app

Nota anche che MonoDevelop è in grado di aprire più soluzioni. Per fare ciò, deseleziona semplicemente la casella di controllo "chiudi soluzione corrente" nella finestra di dialogo "Apri" o tieni premuto il tasto Ctrl quando fai clic su uno dei progetti aperti di recente nella pagina di benvenuto.

EDIT: per Xamarin Studio, che ha sostituito MonoDevelop su Mac, il comando è

open -n /Applications/Xamarin\ Studio.app

MODIFICA 2:

Per Visual Studio per Mac, che ha sostituito Xamarin Studio, il comando è

open -n /Applications/Visual\ Studio.app

2
Salve, sto eseguendo MonoDevelop 2.4 su Mac OS e non vedo quella casella di controllo o il comportamento del tasto di controllo. È cambiato di recente?
David Moles,

2
Funziona ancora per me. Notare che la casella di controllo e il suggerimento nella pagina di benvenuto vengono visualizzati solo se si dispone di una soluzione già aperta e la casella di controllo viene visualizzata solo quando si seleziona effettivamente una soluzione o un progetto nella finestra di dialogo.
Mikayla Hutchinson

Aggiorna l'etichetta della casella di controllo nel caso qualcuno lo trovi, ora dice "Chiudi spazio di lavoro corrente"
Tiago

Cordiali saluti - se usi questo metodo, le soluzioni aggiuntive vengono tutte aperte nella stessa finestra di monodevelop ... questo non è affatto quello che mi aspettavo dall'uso di VS / MD su Windows. Apparentemente dobbiamo ricorrere ai metodi seguenti per ottenere finestre separate per soluzioni separate ..
David Jeske

2
Funziona ancora in Xamarin Studio, anche se sospetto che Miguel abbia lanciato un softball open -n /Applications/Xamarin\ Studio.app/
:;

40

Usare la shell per inserire il comando come altri hanno descritto per avviare un'istanza aggiuntiva va bene, ma preferisco avere un'icona sul dock su cui posso semplicemente fare clic.

È facile:

  1. Apri AppleScript Editor e inserisci quanto segue:

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

  2. Salva con un nome come "MonoDevelop Launcher" e assicurati di specificare Application per il formato del file.

  3. Trascina l'icona sul dock.

  4. Assicurati di controllare il commento di bright qui sotto sulla sostituzione dell'icona generica con MonoDevelop.

Fai clic ripetutamente per goderti il ​​divertimento di più istanze MonoDevelop.


1
La migliore delle altre due risposte combinate
BlackTigerX

10
Per sostituire l'icona di avvio dello script con l'icona MonoDevelop, è possibile aprire il contenuto del pacchetto e sostituire il file applet.icns con l'icona monodevelop (dal contenuto del pacchetto MonoDevelop). Ricorda solo di rinominare il file in applet.icns dopo averlo copiato .
luminoso

1
Perfetto! Grazie Subfuzion, e grazie a Bright per il suggerimento di sostituzione dell'icona.
Leigh Bowers

Buon consiglio da Bright su come cambiare l'icona. Inoltre, vedere la risposta di seguito di Glinkot e il commento di Luke sulla gestione dello spazio in Xamarin Studio, che sostituisce MonoDevelop.
Subfuzion

13

Per comodità, creo solo tre copie di MonoDevelop.

Evidenzia MonoDevelop nel Finder, copia, incolla, rinomina la nuova copia in "MonoDevelop-2" e ripeti in modo soddisfacente.

Mi aiuta anche a tenere traccia di cosa sta succedendo in diversi casi. In genere tengo il mio progetto più importante aperto in "MonoDevelop", uso "MonoDevelop-2" per testare idee relative al mio progetto principale e "MonoDevelop-3" per lo scratch casuale.

Quando si alt-tab (open-Apple-tab (command-tab (whvr))), il nome dell'eseguibile viene visualizzato sotto la sua icona nell'elenco delle applicazioni, quindi, purché rimanga fedele alla mia convenzione, lo so sempre (ish) il contenuto dell'istanza su cui sto facendo alt-tab indipendentemente da quante altre finestre dell'app ho aperto. Non devo scorrerli per capirlo.

Non è perfetto - quando ho "MonoDevelop" in esecuzione, se provo ad attivare uno degli altri, il primo tentativo di avvio fallirà. Prova solo ad accenderlo di nuovo: funziona la seconda volta. Tuttavia, questo è accaduto solo dalla build più recente e penso che potrebbe avere qualcosa a che fare con gli aggiornamenti automatici o la gestione dei componenti aggiuntivi. Non l'ho esaminato troppo. Dato che non ci sono problemi una volta installato e funzionante, non me ne preoccupo :)

Il risultato è che, con il metodo start-it-two, per qualsiasi istanza aggiuntiva di MonoDevelop che desideri avviare, finisci per dover quadruplicare il clic invece del doppio clic. Aggiunge circa quindici secondi al processo, e poiché ho MonoDevelop (insieme a "MonoDevelop-1" e "MonoDevelop-2") in esecuzione tutto il tempo, si aggiunge, forse , a trenta secondi extra di lavoro ogni settimana. Un commercio equo per comodità, mi sembra.

Un po 'hacky, ma ha funzionato bene per me.

E tutti i ragazzi fantastici lo stanno facendo.


1
Grande idea! Funziona ancora se crei un collegamento simbolico invece di copiarlo?
Mikayla Hutchinson

1
Gli errori di avvio sono un bug noto nella nuova scansione del registro dei componenti aggiuntivi. Quando MD rileva che le sue DLL sono state modificate o "spostate", ricostruisce il registro dei componenti aggiuntivi e talvolta si blocca dopo questo. C'è una variabile di ambiente che puoi impostare per far sì che utilizzi una posizione di registro diversa, che potresti usare per separare i registri delle tre istanze, anche se non sono sicuro di come imposteresti le variabili env per app su Mac. Potrebbe essere necessario applicarlo allo script MonoDevelop.app/Contents/macOS/MonoDevelop.
Mikayla Hutchinson

Non ho provato nient'altro che la semplice copia, anche se la tua idea ha molto più senso - non dovrei duplicare lo sforzo quando prendi le ultime build MonoDevelop. Quando faccio cose come questa (creando soluzioni sporche per me stesso), tendo a prendere la strada più pigra per soddisfare i miei modi lussuriosi nerd. Ma ora voglio sapere. Certo, avrei potuto farlo in molto meno tempo di quanto mi ci è voluto per scrivere questo commento ... Questo sta vanificando lo scopo della mia pigrizia. Devo andare. Devo andare e provare ...
Rory Blyth

Non so perché ho aspettato così tanto per rispondere a questo - ho provato a creare un collegamento simbolico non appena ho scritto il commento sopra - non ha funzionato: | OS X non è stato ingannato. Quindi sto ancora copiando. Ma, ehi, funziona. Ho pensato ad alcuni modi per automatizzarlo e trasmettere informazioni più significative rispetto a -2, -3, ecc. Nel nome del file per la tabulazione dei comandi attraverso le app, ma non ho ancora raggiunto la soglia Necessità> Pigrizia che richiede io per costruire i miei strumenti :)
Rory Blyth

6

--XAMARIN STUDIO--

A febbraio 2013 Monodevelop si chiama Xamarin Studio e il fatto che abbia uno spazio significa che quanto sopra non funziona. Alcuni giocherellando più tardi, ho scoperto che devi nidificare due tipi di virgolette e quanto segue funzionerà in applecript:

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

Godere


5
Funziona, devi solo fuggire dallo spazio, ad esempioopen -n /Applications/Xamarin\ Studio.app
Luca

Un altro suggerimento, devi anche evitare il backslash nella sceneggiatura, comedo shell script "open -n /Applications/Xamarin\\ Studio.app/"
Mick Byrne

6

Inoltre puoi usare la versione più breve:

Open -n -a "Xamarin Studio.app"

Modifica : per Visual Studio per Mac e / o più brevi il comando è

Open -n -a "Visual Studio"

3

Se sei d'accordo con l'apertura di due soluzioni in un'istanza di Xamarin Studio, puoi farlo accedendo a "File" -> "Soluzioni recenti" e quindi Ctrl + clic sull'altra soluzione. Questo apre entrambe le soluzioni nella stessa istanza di Xamarin Studio.



1

Modifica il tuo ~ / .bashrc o ~ / .zshrc e configura il seguente collegamento:

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

Utilizzare come segue dalla CLI:

xam ReactiveUI.sln

1

Un altro modo più semplice ...

Basta aprire il terminale Trascina l'app Xamarin Studio dall'applicazione, prenderà il percorso come /Applications/Xamarin\ Studio.appe scriverà open -n prima del file/Applications/Xamarin\ Studio.app

Ora il comando completo è come open -n /Applications/Xamarin\ Studio.app


0

Basta aprire il comando di scrittura del terminale o sotto, è possibile modificare il numero del nome dell'istanza, ad esempio (/ Xamarin \ Studio1), aprirne un altro Xamarin Studio, ad esempio (/ Xamarin \ Studio1)

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

Usando sopra puoi creare qualsiasi istanza multipla .app.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.