MacでMonoDevelopの複数のインスタンスを起動するにはどうすればよいですか?


121

Mac上の別のプロジェクトで作業するために新しいMonoDevelopインスタンスを開きたいのですが、現在OSが原因で新しいインスタンスを開くことができません。

回答:


173

Macでは、アプリを開いているときに再度起動しようとすると、Macは開いているアプリに切り替わります。ランチャーにオプション「-n」を渡すことで、新しいインスタンスを強制的に開くことができます。ターミナルで実行します

open -n /Applications/MonoDevelop.app

MonoDevelopは複数のソリューションを開くことができることにも注意してください。これを行うには、[開く]ダイアログの[現在のソリューションを閉じる]チェックボックスをオフにするか、ウェルカムページで最近開いたプロジェクトの1つをクリックするときにControlキーを押したままにします。

編集:MacのMonoDevelopに代わるXamarin Studioの場合、コマンドは

open -n /Applications/Xamarin\ Studio.app

編集2:

Xamarin Studioに代わるVisual Studio for Macの場合、コマンドは

open -n /Applications/Visual\ Studio.app

2
こんにちは-私はMac OSでMonoDevelop 2.4を実行していますが、そのチェックボックスやコントロールキーの動作が表示されません。これは最近変更されましたか?
David Moles

2
まだうまくいきます。ウェルカムページのチェックボックスとヒントは、既にソリューションを開いている場合にのみ表示され、チェックボックスはダイアログで実際にソリューションまたはプロジェクトを選択した場合にのみ表示されることに注意してください。
Mikayla Hutchinson、2010

誰かがこれを見つけた場合に備えて、チェックボックスのラベルを更新します。「現在のワークスペースを閉じる」と表示されます
Tiago

参考までに-この方法を使用する場合、追加のソリューションはすべて同じモノ開発ウィンドウで開かれます...これは、WindowsでVS / MDを使用して期待したものとはまったく異なります。どうやら私たちは別々の溶液のために別々のウィンドウを取得するには、以下の方法に頼る必要があり...
デヴィッドJESKE

2
まだXamarin Studioで動作しますが、ミゲルがソフトボールを投球したことにまだ疑いがありopen -n /Applications/Xamarin\ Studio.app/ ます:; ^)
ruffin

40

他の人が説明したようにシェルを使用してコマンドを入力し、追加のインスタンスを起動することは問題ありませんが、私はドックにアイコンをクリックするだけの方が好きです。

それは簡単です:

  1. AppleScriptエディターを開き、次のように入力します。

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

  2. 「MonoDevelop Launcher」のような名前で保存し、ファイル形式に必ずアプリケーションを指定してください。

  3. アイコンをドックにドラッグします。

  4. ジェネリックアイコンをMonoDevelopで置き換えることについては、下記のbrightのコメントを確認してください。

繰り返しクリックして、複数のMonoDevelopインスタンスのグルーヴィーさをお楽しみください。


1
他の2つの回答のうち最高の組み合わせ
BlackTigerX

10
スクリプトランチャーアイコンをMonoDevelopアイコンに置き換えるには、パッケージのコンテンツを開き、applet.icnsファイルを(MonoDevelopパッケージのコンテンツの)monodevelopアイコンに置き換えます。 。
明るい

1
パーフェクト!Subfuzionに感謝します。アイコン交換のヒントを提供してくれたbrightに感謝します。
Leigh Bowers

アイコンを変更することに関する明るいヒント。また、MonoDevelopに代わるXamarin Studioでのスペースの処理については、以下のGlinkotによる回答とLukeによるコメントを参照してください。
Subfuzion 2013年

13

便宜上、MonoDevelopのコピーを3つだけ作成します。

FinderでMonoDevelopを強調表示し、コピー、貼り付け、新しいコピーの名前を「MonoDevelop-2」に変更し、満足のいくまで繰り返します。

また、さまざまなインスタンスで何が起こっているかを追跡するのにも役立ちます。私は通常、最も重要なプロジェクトを「MonoDevelop」で開いたままにし、「MonoDevelop-2」を使用してメインプロジェクトに関連するアイデアをテストし、「MonoDevelop-3」をランダムスクラッチに使用します。

alt-tab(open-Apple-tab(command-tab(whvr)))を実行すると、実行可能ファイルの名前がアプリケーションリストのアイコンの下に表示されるため、私の慣習に従っている限り、常に知っています。 (ish)開いている他のアプリウィンドウの数に関係なく、Altキーを押しながら移動しているインスタンスのコンテンツ。それを理解するためにそれらを循環する必要はありません。

それは完璧ではありません-「MonoDevelop」を実行しているときに、他のいずれかを起動しようとすると、最初の起動試行は失敗します。もう一度起動しようとするだけです-2回目は機能します。ただし、これは最新のビルド以降にのみ発生しており、自動更新またはアドイン管理に関係している可能性があります。あまり調べていません。一度実行すると問題はないので、心配する必要はありません:)

その結果、start-it-twiceメソッドを使用すると、開始するMonoDevelopの追加インスタンスに対して、ダブルクリックではなく4回クリックする必要があります。プロセスに約15秒を追加し、MonoDevelop( "MonoDevelop-1"および "MonoDevelop-2"と共に)を常に実行しているため、合計すると、おそらく、仕事の余分な30秒は毎週。利便性のための公正な取引、と考えています。

少しハッキーですが、私にはうまくいきました。

そして、すべてのクールな子供たちはそれをやっています。


1
いい案!コピーする代わりにシンボリックリンクを作成しても機能しますか?
Mikayla Hutchinson、

1
起動の失敗は、アドインレジストリの再スキャンにおける既知のバグです。MDは、dllが変更または「移動」されたことを検出すると、アドインレジストリを再構築し、この後クラッシュすることがあります。別のレジストリの場所を使用するように設定できる環境変数があります。これを使用して3つのインスタンスのレジストリを分離できますが、Macでアプリごとの環境変数をどのように設定するかはわかりません。それをMonoDevelop.app/Contents/macOS/MonoDevelopスクリプトにパッチする必要があるかもしれません。
Mikayla Hutchinson

私はコピー以外に何も試していませんが、あなたの考えはもっと理にかなっています-最新のMonoDevelopビルドを入手するときに努力を繰り返す必要はないでしょう。私がこのようなことをする(自分のために汚い解決策を作成する)とき、私は私の最もオタクな欲望を満たすために最も怠惰なルートを取る傾向があります。しかし今、私は知りたいです。もちろん、私がこのコメントを書くよりもはるかに短い時間でそれを行うことができたでしょう...これは私の怠惰の目的を打ち破っています。私は行かなければなりません。私は行かなければならない...
ロリー・ブライス

Dunnoなぜこれに返信するのに長い間待ったのですか-上記のコメントを書いたらすぐにシンボリックリンクを作ってみました-うまくいきませんでした:| OS Xはだまされませんでした。だから私はまだ自分のコピーをやっています。しかし、ちょっと-それはうまくいきます。私はそれを自動化し、アプリを通じてコマンドタブを付けるためにファイル名で-2、-3などよりも意味のある情報を伝えるいくつかの方法を考えましたが、まだ必要>怠惰のしきい値に達していません私のツールを作成する:)
Rory Blyth

6

--XAMARIN STUDIO--

2013年2月現在、MonodevelopはXamarin Studioと呼ばれており、その中にスペースがあるという事実は、上記が機能しないことを意味します。後でいじくり回すと、2種類の引用符をネストする必要があることがわかりました。以下はapplescriptで機能します。

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

楽しい


5
それは機能します、あなたはただスペースから脱出する必要があります。例えばopen -n /Applications/Xamarin\ Studio.app
ルーク

もう一つのヒント、あなたは次のように、同様のスクリプトでバックスラッシュをエスケープする必要がありますdo shell script "open -n /Applications/Xamarin\\ Studio.app/"
ミック・バーンズ

6

また、より短いバージョンを使用できます:

Open -n -a "Xamarin Studio.app"

編集:Visual Studio for Mac以降の場合、コマンドは次のようになります

Open -n -a "Visual Studio"

3

開くと、あなたしている場合は[OK]を2つのソリューションの中で1つのインスタンス >「最近のソリューション」と、他のソリューションにし、Ctrl +をクリック- Xamarin Studioのの、あなたは「ファイル」に移動してこれを行うことができます。これにより、Xamarin studioの同じインスタンスで両方のソリューションが開きます。


3

このアプリは、Xamarin Studio Launcher(http://redth.codes/Xamarin-Studio-Launcher-v3/)を作成したredth(現在はXamarinの従業員)がチェックできます。アプリなので投稿するコードはありません。しかし、良いことは、それが.dmgにパッケージ化されていることです。.slnファイルでも機能します。v4(2015年1月12日)ダウンロードへのハードリンク:http : //redth.codes/assets/Xamarin.Studio.Launcher.v4.zip


1

〜/ .bashrcまたは〜/ .zshrcを編集して、次のショートカットを構成します。

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

CLIから次のように使用します。

xam ReactiveUI.sln

1

最も簡単な方法...

ターミナルを開くだけアプリケーションからXamarin Studioアプリをドラッグする/Applications/Xamarin\ Studio.appと、次のようなパスが取られ、open -nが/Applications/Xamarin\ Studio.app

今、完全なコマンドは open -n /Applications/Xamarin\ Studio.app


0

ターミナルを開く、または以下のコマンドを実行するだけで、インスタンス名の番号を変更できますeg(/ Xamarin \ Studio1)別のXamarin Studioを開きますeg(/ Xamarin \ Studio1)

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

上記を使用すると、任意の.app複数インスタンスを作成できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.