启动IntelliJ IDE的两个实例


126

好吧,我的问题很简单,如何启动IntelliJ(社区版)的两个实例。当我启动一个实例并尝试启动另一个实例时,所有发生的就是我启动的实例得到了关注。

我正在使用IntelliJ开发Android应用程序。

有什么想法吗?


1
您是要打开两个项目还是要打开一个项目两次?
雷切尔

尝试同时打开两个项目的“设置”对话框,并将它们并排放置。
Mark Jeronimus '16

2
有点晚,但是只是使用“文件->打开”打开新项目。它将询问您“此窗口”还是“新窗口”
VarunAgw

Answers:


83

您需要通过idea.properties在Windows / Linux和Info.plistMac 上编辑文件,将每个实例配置为使用其自己的文件夹用于config / plugins / system位置。您可以在FAQ中找到详细信息

请注意,通常没有必要,因为您可以使用File | File |在同一实例中的不同IDEA框架中打开多个项目。打开打开最近的


4
是的,如果我需要打开其他项目,那也是我的最佳选择。尽管我始终确保只打开一个实例以提高性能。尽管您不能两次打开同一个项目,对吗@CrazyCoder?
MalsR 2011年

您不能在单个实例中两次打开一个项目,但是在运行多个实例时有可能。
CrazyCoder 2011年

为了获得一个很好的答案,我通常使用Visual Studio,因此,我对IntelliJ缺乏了解。
菲利克斯

1
如果您正在使用IDE,则拥有一个实例并在不同的窗口中打开项目是有意义的,但是如果您在命令行上离线运行IntelliJ,则将需要多个实例。我编写的git-hook在提交前检查项目中的代码错误,如果我的IntelliJ IDEA打开,它将无法正常工作。
Gokhan Arik

5
当模式对话框将两个窗口有效地锁定为单个实例时,这无济于事。因此,您不能例如在两个不同项目之间比较配置属性。烦人
杰夫·梅卡多

93

Ctrl+ Alt+ S

选择Appearance & Behavior,然后System Settings检查单选按钮:Open project in new window

在此处输入图片说明


很好的答案,准确而又准确地解决了所有问题。
irshad.ahmad

3
单个窗口并不意味着单个实例。
杰·卡尔顿

3
参见其他答案中的@JeffMercado的注释:如果将两个项目并排放置,并在其中一个打开一个模式对话框(如设置),则其他窗口也将完全冻结。因此,这并不是真正的解决方案。
Tino

3
如果该项目已经打开,则不会在另一个窗口中打开该项目。
JoeTidee

15

File-> Settings-> General并在“ Startup / Shutdown”部分中选中“ Confirm window to open project in”


太好了,这就是我想要的。
eric2323223

20
这只会使IJ打开一个新窗口,而不是一个新实例
geronimo 2014年

它在2018年发生了变化。链接现在是http://www.jetbrains.com/help/idea/system-settings.html
Deo博士

10

CrazyCoder具有大致正确的想法。但是,仅设置配置文件不足以让我运行多个实例。这是我执行此操作的步骤(在GNU / Linux中,我确定您可以找出其他系统中的等效方法):

  1. 为要运行的每个实例创建一个文件夹/目录。

    mkdir -p ~/idea/instance-0
    
  2. 转到安装目录(例如/ opt / intellij),然后将idea.properties文件(在bin中)复制到您的实例目录中。

    cp /opt/intellij/bin/idea.properties ~/idea/instance-0/
    
  3. 复制3个以上目录:system,plugins和config。我强烈建议在不运行实例的情况下执行此操作

    cp -r /opt/intellij/system ~/idea/instance-0/
    cp -r /opt/intellij/plugins ~/idea/instance-0/
    cp -r /opt/intellij/config ~/idea/instance-0/
    mkdir ~/idea/instance-0/log
    
  4. 打开idea.properties文件并更新目录的配置:

    #---------------------------------------------------------------------
    # Uncomment this option if you want to customize path to IDE config folder. Make sure you're using forward slashes.
    #---------------------------------------------------------------------
    idea.config.path=${user.home}/config
    #---------------------------------------------------------------------
    # Uncomment this option if you want to customize path to IDE system folder. Make sure you're using forward slashes.
    #---------------------------------------------------------------------
    idea.system.path=${user.home}/system
    #---------------------------------------------------------------------
    # Uncomment this option if you want to customize path to user installed plugins folder. Make sure you're using forward slashes.
    #---------------------------------------------------------------------
    idea.plugins.path=${user.home}/plugins
    #---------------------------------------------------------------------
    # Uncomment this option if you want to customize path to IDE logs folder. Make sure you're using forward slashes.
    #---------------------------------------------------------------------
    idea.log.path=${user.home}/log
    
  5. 现在,您可以使用新设置启动IntelliJ:

    IDEA_PROPERTIES=~/idea/instance-0/idea.properties /opt/intellij/bin/idea
    

显然,您可能希望将命令放在脚本文件中以进行调用。这似乎对我有用。


它可以工作,但是请确保使用特定的导出环境变量名称:IDEA_PROPERTIES,STUDIO_PROPERTIES,PHPSTORM_PROPERTIES,WEBIDE_PROPERTIES等。并确保您不要使用短字符:“〜/”而不是“ / home / myname”
JoniJnm

4

根据喷气脑指示,您需要转到“设置”对话框的“常规”页面,然后选择“在新窗口中打开项目”。然后像往常一样继续打开一个项目。然后,IntelliJ应该启动一个全新的实例。


1
不,它不会启动新实例,而是当前实例仅控制第二个窗口(如设置所示)。如果您以后在这两个窗口之一中打开“设置”,然后尝试在另一个窗口中单击,则会看到差异。在单独的实例中,只有一个实例会成为模态,但是这里两个窗口都受影响,因此它是一个实例。
Tino


1

转到IntelliJ | 工具| 创建命令行启动器...

保留默认值(创建一个名为“ idea”的二进制文件):

在此处输入图片说明

现在,转到您的命令行。

将CD复制到您的项目目录并输入: idea .

这将为该项目的IntelliJ配置创建一个.idea目录,该目录将在每次从该目录启动IntelliJ时重新使用。

现在,您可以转到另一个项目目录并键入: idea .

假设您没有打开以前的IntellJ IDE,现在将打开两个IntellJ IDE,每个项目一个。

笔记:

1)如果您的项目使用环境变量,那么我建议为每个项目打开一个单独的终端选项卡/窗口,并在运行之前设置该项目的环境变量: idea .

2)根据您要完成的工作,可能需要为每个IntelliJ实例修改类路径(或诸如Project GOPATH之类的设置)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.