122 votes

Comment puis-je lancer plusieurs instances de MonoDevelop sur le Mac ?

Je voudrais ouvrir une nouvelle instance de MonoDevelop pour travailler sur un projet différent sur le Mac, et le système d'exploitation m'empêche actuellement d'ouvrir une nouvelle instance.

174voto

mhutch Points 13238

Sur Mac, si vous avez une application ouverte et que vous essayez de la relancer, le Mac bascule simplement sur l'application ouverte. Vous pouvez le forcer à ouvrir une nouvelle instance en passant l'option "-n" au lanceur. Dans un terminal, exécutez

open -n /Applications/MonoDevelop.app

Notez également que MonoDevelop est capable d'ouvrir plusieurs solutions. Pour ce faire, il suffit de décocher la case "fermer la solution actuelle" dans la boîte de dialogue "Ouvrir", ou de maintenir la touche contrôle enfoncée en cliquant sur un des projets récemment ouverts dans la page d'accueil.

EDIT : Pour Xamarin Studio, qui a remplacé MonoDevelop sur Mac, la commande est la suivante

open -n /Applications/Xamarin\ Studio.app

EDIT 2 :

Pour Visual Studio pour Mac, qui a remplacé Xamarin Studio, la commande est la suivante

open -n /Applications/Visual\ Studio.app

2 votes

Bonjour -- J'utilise MonoDevelop 2.4 sur Mac OS, et je ne vois pas cette case à cocher, ou ce comportement de la touche de contrôle. Cela a-t-il changé récemment ?

2 votes

Cela fonctionne toujours pour moi. Notez que la case à cocher et l'indication de la page d'accueil n'apparaissent que si vous avez déjà une solution ouverte, et que la case à cocher n'apparaît que lorsque vous sélectionnez une solution ou un projet dans la boîte de dialogue.

0 votes

Mise à jour de l'étiquette de la case à cocher au cas où quelqu'un trouverait ceci, elle dit maintenant "Fermer l'espace de travail actuel".

40voto

Subfuzion Points 761

Utiliser le shell pour entrer la commande comme d'autres l'ont décrit pour lancer une instance supplémentaire est bien, mais je préfère avoir une icône sur le dock sur laquelle je peux simplement cliquer.

C'est facile à faire :

  1. Ouvrez l'éditeur AppleScript et entrez ce qui suit :

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

  2. Enregistrez avec un nom comme "Lanceur MonoDevelop" et assurez-vous de spécifier Application pour le format du fichier.

  3. Faites glisser l'icône vers votre dock.

  4. N'oubliez pas de lire le commentaire de bright ci-dessous concernant le remplacement de l'icône générique par celle de MonoDevelop.

Cliquez à plusieurs reprises pour profiter du plaisir de plusieurs instances de MonoDevelop.

1 votes

La meilleure des deux autres réponses combinées

10 votes

Pour remplacer l'icône du lanceur script par l'icône MonoDevelop, vous pouvez ouvrir le contenu du paquetage, et remplacer le fichier applet.icns par l'icône monodevelop (du contenu du paquetage MonoDevelop.) N'oubliez pas de renommer le fichier en applet.icns après l'avoir copié.

1 votes

Parfait ! Merci Subfuzion, et merci à bright pour l'astuce de remplacement de l'icône.

13voto

Rory Blyth Points 10420

Pour plus de commodité, je crée simplement trois copies de MonoDevelop.

Mettez MonoDevelop en évidence dans le Finder, copiez, collez, renommez la nouvelle copie en "MonoDevelop-2", et répétez jusqu'à ce que vous soyez satisfait.

Cela m'aide également à garder une trace de ce qui se passe dans les différentes instances. Je garde typiquement mon projet le plus important ouvert dans "MonoDevelop", j'utilise "MonoDevelop-2" pour tester des idées liées à mon projet principal, et "MonoDevelop-3" pour du bricolage aléatoire.

Lorsque vous faites un alt-tab (open-Apple-tab (command-tab (whvr))), le nom de l'exécutable s'affiche sous son icône dans la liste des applications. Ainsi, tant que je respecte ma convention, je connais toujours (ou presque) le contenu de l'instance sur laquelle je fais un alt-tab, quel que soit le nombre d'autres fenêtres d'application ouvertes. Je n'ai pas besoin de les parcourir pour le savoir.

Ce n'est pas parfait - quand j'ai "MonoDevelop" en cours d'exécution, si j'essaie de lancer l'un des autres, la première tentative de démarrage échoue. Vous essayez simplement de le relancer - il fonctionne la deuxième fois. Cela ne se produit que depuis la construction la plus récente, cependant, et je pense que cela pourrait avoir quelque chose à voir avec les mises à jour automatiques ou la gestion des modules complémentaires. Je ne me suis pas trop penché sur la question. Puisqu'il n'y a pas de problème une fois le logiciel lancé, je ne m'en préoccupe pas :)

Le résultat est que, avec la méthode start-it-twice, pour toute instance supplémentaire de MonoDevelop que vous souhaitez démarrer, vous devez quadrupler le clic au lieu de double-cliquer. Cela ajoute environ quinze secondes au processus, et comme j'ai MonoDevelop (avec "MonoDevelop-1" et "MonoDevelop-2") en cours d'exécution tout le temps, cela s'additionne, peut-être une trentaine de secondes de travail en plus chaque semaine. Un échange équitable pour la commodité, je pense.

C'est un peu bricolé, mais ça a bien marché pour moi.

Et tous les jeunes cool le font.

1 votes

Bonne idée ! Cela fonctionne-t-il toujours si vous créez un lien symbolique au lieu de copier ?

1 votes

Les échecs de démarrage sont un bogue connu dans le rescan du registre de l'addin. Lorsque MD détecte que ses dll ont été modifiées ou "déplacées", il reconstruit le registre des modules d'extension, ce qui entraîne parfois un plantage. Il existe une variable d'environnement que vous pouvez définir pour qu'il utilise un emplacement de registre différent, que vous pouvez utiliser pour séparer les registres de vos trois instances, bien que je ne sache pas comment définir les variables d'environnement par application sur Mac. Vous pourriez avoir à le patcher dans le MonoDevelop.app/Contents/macOS/MonoDevelop script.

0 votes

Je n'ai pas essayé autre chose que de copier, bien que votre idée soit beaucoup plus sensée - je n'aurais pas à dupliquer l'effort en récupérant les dernières constructions de MonoDevelop. Quand je fais des choses comme cela (créer des solutions sales pour moi-même), j'ai tendance à prendre la route la plus paresseuse pour satisfaire mes manières de nerd-lusty. Mais maintenant je veux savoir. Bien sûr, j'aurais pu le faire en beaucoup moins de temps qu'il ne m'en a fallu pour écrire ce commentaire... Cela va à l'encontre du but de ma paresse. Je dois y aller. Je dois y aller et essayer...

6voto

Glinkot Points 1179

-- LE STUDIO XAMARIN

Depuis février 2013, Monodevelop s'appelle Xamarin Studio, et le fait qu'il comporte un espace signifie que ce qui précède ne fonctionne pas. Quelques manipulations plus tard, j'ai découvert qu'il faut imbriquer deux types de guillemets et que ce qui suit fonctionnera dans applescript :

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

Profitez de

5 votes

Cela fonctionne, vous devez juste échapper à l'espace, par exemple. open -n /Applications/Xamarin\ Studio.app

0 votes

Un autre conseil, vous devez échapper la barre oblique inverse dans le script également, comme suit do shell script "open -n /Applications/Xamarin\\ Studio.app/"

0voto

Alexandra Points 61

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X