Macos 如何在Mac上启动多个MonoDevelop实例?

Macos 如何在Mac上启动多个MonoDevelop实例?,macos,mono,xamarin.ios,monodevelop,Macos,Mono,Xamarin.ios,Monodevelop,我想在Mac上打开一个新的MonoDevelop实例来处理另一个项目,操作系统当前阻止我打开一个新实例。在Mac上,如果你打开了一个应用程序,然后再次尝试启动它,Mac只会切换到打开的应用程序。通过将选项“-n”传递给启动器,可以强制它打开一个新实例。在终端中,运行 open -n /Applications/MonoDevelop.app 还请注意,MonoDevelop能够打开多个解决方案。为此,只需取消选中“打开”对话框中的“关闭当前解决方案”复选框,或在“欢迎”页面中单击最近打开的项目

我想在Mac上打开一个新的MonoDevelop实例来处理另一个项目,操作系统当前阻止我打开一个新实例。

在Mac上,如果你打开了一个应用程序,然后再次尝试启动它,Mac只会切换到打开的应用程序。通过将选项“-n”传递给启动器,可以强制它打开一个新实例。在终端中,运行

open -n /Applications/MonoDevelop.app
还请注意,MonoDevelop能够打开多个解决方案。为此,只需取消选中“打开”对话框中的“关闭当前解决方案”复选框,或在“欢迎”页面中单击最近打开的项目时按住control键

编辑:对于Xamarin Studio,它已经取代了Mac上的MonoDevelop,命令是

open -n /Applications/Xamarin\ Studio.app
open -n /Applications/Visual\ Studio.app
编辑2:

对于已取代Xamarin Studio的Visual Studio For Mac,命令为

open -n /Applications/Xamarin\ Studio.app
open -n /Applications/Visual\ Studio.app

为了方便起见,我只创建了MonoDevelop的三个副本

在Finder中突出显示MonoDevelop,复制、粘贴,将新副本重命名为“MonoDevelop-2”,然后重复,直到您满意为止

它还帮助我跟踪不同情况下发生的事情。我通常在“MonoDevelop”中打开我最重要的项目,使用“MonoDevelop-2”测试与我的主要项目相关的想法,使用“MonoDevelop-3”测试随机抓取

当你alt tab(打开Apple tab(command tab(whvr))时,可执行文件的名称会显示在应用程序列表中的图标下方,因此,只要我坚持我的惯例,无论我打开了多少其他应用程序窗口,我总是知道(ish)我要alt tab的实例的内容。我不必反复浏览它们来找出答案

它不是完美的——当我运行“MonoDevelop”时,如果我尝试启动其中一个,第一次尝试启动就会失败。你只要试着再次启动它-它第二次工作。不过,这只是在最近的构建之后才发生的,我认为这可能与自动更新或插件管理有关。我没有太多的调查。因为一旦启动并运行就不会有问题,所以我不担心:)

结果是,使用start-it-twitter方法,对于您想要启动的任何其他MonoDevelop实例,您最终必须进行四次单击,而不是双击。这个过程增加了大约15秒,因为我一直都在运行MonoDevelop(以及“MonoDevelop-1”和“MonoDevelop-2”),所以每周可能要多做30秒的工作。我认为这是为了方便而进行的公平贸易

有点不对劲,但对我来说效果不错


所有酷孩子都在这么做。

像其他人描述的那样使用shell输入命令来启动额外的实例是可以的,但我更喜欢在dock上有一个图标,我只需单击即可

这很容易做到:

  • 打开AppleScript编辑器并输入以下内容:

    do shell脚本“open-n/Applications/MonoDevelop.app/”

  • 使用类似于“MonoDevelop Launcher”的名称保存,并确保为文件格式指定应用程序

  • 将图标拖到您的基座上

  • 请务必查看下面bright关于用MonoDevelop替换通用图标的评论

  • 反复单击以享受多个MonoDevelop实例的出色表现。

    -XAMARIN STUDIO--

    截至2013年2月,Monodevelop被称为Xamarin Studio,而事实上它有一个空间,这意味着上述功能不起作用。稍后,我发现您需要嵌套两种类型的引号,以下内容将在applescript中工作:

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

    享受如果您可以在Xamarin Studio的一个实例中打开两个解决方案,您可以导航到“文件”->“最近的解决方案”,然后按住Ctrl键并单击另一个解决方案。这将在Xamarin studio的同一实例中打开两个解决方案

    您可以通过制作Xamarin Studio启动器的redth(现在是Xamarin员工)查看此应用程序:。由于它是一个应用程序,因此没有可发布的代码。但好的是,它为您打包在一个.dmg中。它甚至可以处理.sln文件。v4(2015年1月12日)下载的硬链接:

    编辑~/.bashrc或~/.zshrc并配置以下快捷方式:

    alias xam = 'open -n /Applications/Xamarin\ Studio.app'
    
    从CLI中按如下方式使用:

    xam ReactiveUI.sln
    

    还有一个最简单的方法

    只需打开终端,从应用程序中拖动Xamarin Studio应用程序,它将采用类似于
    /Applications/Xamarin\Studio.app
    的路径,并在
    /Applications/Xamarin\Studio.app


    现在,complete命令类似于
    open-n/Applications/Xamarin\Studio.app

    ,您还可以使用较短的版本:

    编辑:对于Visual Studio For Mac和/或更短版本,命令为


    只需打开Terminal write或below命令,您就可以更改实例名称编号,例如(/Xamarin\Studio1)它将打开另一个Xamarin Studio,例如(/Xamarin\Studio1)


    使用以上内容,您可以创建任意一个.app多实例。

    好主意!如果创建符号链接而不是复制,它是否仍然有效?启动失败是加载项注册表重新扫描中的已知错误。当MD检测到其DLL已更改或“移动”时,它将重建加载项注册表,有时在此之后它会崩溃。有一个环境变量可以设置为使用不同的注册表位置,您可以使用它来分隔三个实例的注册表,尽管我不确定如何在mac上设置每个应用程序的环境变量。可能需要将其修补到MonoDevelop.app/Contents/macOS/MonoDevelop脚本中。除了复制之外,我没有做过任何尝试,尽管你的想法更有意义——在获取最新的MonoDevelop版本时,不必重复工作。当我做这样的事情(为自己创造肮脏的解决方案)时,我倾向于采取最懒惰的方式来满足我的书呆子的欲望。但现在我想知道。有限公司
    $ open -na /Applications/Xamarin\ Studio.app --args -DataPath /Users/$(whoami)/Library/Application\ Support/Xamarin\ Studio1