Avvia due istanze di IntelliJ IDE


126

Bene, la mia domanda è piuttosto semplice, come faccio ad avviare due istanze di IntelliJ (community edition). Quando ho avviato un'istanza e provo ad avviarne un'altra, tutto ciò che accade è che la mia istanza avviata ottiene il focus.

Sto sviluppando applicazioni Android utilizzando IntelliJ.

qualche idea?


1
Stai cercando di aprire due progetti o un progetto due volte?
Rachel

Tentativo di aprire la finestra di dialogo Impostazioni di due progetti contemporaneamente e posizionarli uno accanto all'altro.
Mark Jeronimus

2
Un po 'tardi, ma apri un nuovo progetto usando "File -> Apri". Ti chiederà "Questa finestra" o "Nuova finestra"
VarunAgw

Risposte:


83

È necessario configurare ciascuna istanza per utilizzare le proprie cartelle per configurazione / plug-in / percorsi di sistema modificando il idea.propertiesfile su Windows / Linux e Info.plistsu Mac. Puoi trovare i dettagli nelle FAQ .

Nota che normalmente non è necessario poiché puoi aprire più progetti in diversi frame IDEA all'interno della stessa istanza utilizzando File | Apri o Apri recenti .


4
Sì, è quello che faccio anche se ho bisogno di aprire progetti diversi. Anche se mi assicuro sempre di avere solo una singola istanza aperta per le prestazioni. Anche se non puoi aprire lo stesso progetto due volte, ho ragione @CrazyCoder?
MalsR

Non è possibile aprire due volte il singolo progetto in una singola istanza, ma è possibile quando si eseguono più istanze.
CrazyCoder

Grazie a un'ottima risposta, di solito uso Visual Studio, quindi la mia mancanza di conoscenza su IntelliJ.
Felix

1
Se stai lavorando su IDE, avere un'istanza e aprire progetti in finestre diverse ha senso, ma se stai eseguendo IntelliJ offline sulla riga di comando avrai bisogno di più di un'istanza. Il git-hook che ho scritto ispeziona gli errori di codice nel progetto prima del commit e non funzionerà se la mia IntelliJ IDEA è aperta.
Gokhan Arik

5
Non aiuta quando le finestre di dialogo modali bloccheranno entrambe le finestre in modo efficace rendendo le finestre di dialogo a istanza singola. Quindi non puoi ad esempio confrontare le proprietà di configurazione tra i due diversi progetti. Molto fastidioso.
Jeff Mercado

93

Premete Ctrl+ Alt+ S

Scegliere Appearance & Behavior, quindi System Settings, controllare pulsante di opzione: Open project in new window.

inserisci qui la descrizione dell'immagine


Ottima risposta, affronta esattamente l'argomento della domanda, semplice e accurata.
irshad.ahmad

3
La singola finestra non implica una singola istanza.
Jay Carlton

3
Vedi il commento di @JeffMercado nell'altra risposta: se metti 2 progetti fianco a fianco e apri una finestra di dialogo modale (come le impostazioni) in uno, anche le altre finestre sono completamente congelate. Quindi questa non è davvero una soluzione.
Tino

3
Questo non apre lo stesso progetto in un'altra finestra se quel progetto è già aperto.
JoeTidee

15

File-> Impostazioni-> Generale e nella sezione "Avvio / Arresto" seleziona "Conferma finestra per aprire il progetto in"


Fantastico, è quello che sto cercando.
eric2323223

20
Questo fa sì che IJ apra solo una nuova finestra , non una nuova istanza
geronimo

È cambiato nel 2018. Il collegamento è orahttp://www.jetbrains.com/help/idea/system-settings.html
Dr Deo

10

CrazyCoder ha più o meno l'idea giusta. Tuttavia, l'impostazione del solo file di configurazione non è stata sufficiente per eseguire più istanze. Ecco i miei passaggi per farlo (in GNU / Linux, sono sicuro che puoi trovare l'equivalente in altri sistemi):

  1. Crea una cartella / directory per ogni istanza che desideri eseguire.

    mkdir -p ~/idea/instance-0
    
  2. Vai alla directory di installazione (ad esempio / opt / intellij) e copia il file idea.properties (in bin) nella directory dell'istanza.

    cp /opt/intellij/bin/idea.properties ~/idea/instance-0/
    
  3. Copia altre 3 directory: system, plugins e config. Consiglio vivamente di farlo senza l'istanza in esecuzione

    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. Apri il tuo file idea.properties e aggiorna le configurazioni per le tue directory:

    #---------------------------------------------------------------------
    # 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. Ora puoi avviare IntelliJ con la nuova configurazione:

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

Ovviamente, probabilmente vorrai mettere il comando in un file di script per l'invocazione. Questo sembra funzionare per me.


Funziona, ma assicurati di utilizzare lo specifico export env var name: IDEA_PROPERTIES, STUDIO_PROPERTIES, PHPSTORM_PROPERTIES, WEBIDE_PROPERTIES, ecc. E assicurati di non utilizzare directory brevi: "~ /" invece di "/ home / myname"
JoniJnm

4

Secondo le indicazioni di jetbrains , dovrai andare alla pagina "Generale" della finestra di dialogo "Impostazioni" e scegliere "Apri progetto in una nuova finestra". Quindi procedi ad aprire un progetto come fai normalmente. IntelliJ dovrebbe quindi avviare un'istanza completamente nuova.


1
No, non avvia una nuova istanza, invece l'istanza corrente controlla solo una seconda finestra (come dice l'impostazione). Si nota la differenza se successivamente si aprono le "impostazioni" in una di queste due finestre e si prova a fare clic nell'altra finestra. Con istanze separate solo una diventerebbe modale, ma qui entrambe le finestre sono interessate, quindi è una singola istanza.
Tino

2

C'è un altro modo molto rapido per farlo. Esiste sempre una versione EAP dell'IDE e può essere eseguita contemporaneamente a quella corrente. Ad esempio, sto usando AppCode 2017.2 e 2017.3 EAP in parallelo.


1

Vai a IntelliJ | Strumenti | Crea launcher da riga di comando ...

Mantieni i valori predefiniti (che crea un binario denominato "idea"):

inserisci qui la descrizione dell'immagine

Ora vai alla tua riga di comando.

Cd nella directory del progetto e digita: idea .

Questo creerà una directory .idea per le configurazioni IntelliJ per quel progetto, che verrà riutilizzata ogni volta per avviare IntelliJ da quella directory.

Ora puoi andare in una directory di progetto diversa e digitare: idea .

Supponendo che tu abbia lasciato aperto il precedente IntellJ IDE, ora avrai due IntellJ IDE aperti, uno per ogni progetto.

Appunti:

1) Se il tuo progetto utilizza variabili di ambiente, ti consiglio di aprire una scheda / finestra di terminale separata per ciascun progetto e impostare le variabili di ambiente di quel progetto prima di eseguire: idea .

2) A seconda di ciò che si sta tentando di realizzare, potrebbe essere necessario modificare il proprio percorso di classe (o impostazioni come Project GOPATH) per ciascuna istanza di IntelliJ.

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.