เริ่ม IntelliJ IDE สองอินสแตนซ์


126

คำถามของฉันค่อนข้างง่ายฉันจะเริ่ม IntelliJ สองอินสแตนซ์ (ฉบับชุมชน) ได้อย่างไร เมื่อฉันเริ่มอินสแตนซ์หนึ่งและฉันพยายามเริ่มอินสแตนซ์อื่นสิ่งที่เกิดขึ้นคืออินสแตนซ์เริ่มต้นของฉันได้รับโฟกัส

ฉันกำลังพัฒนาแอปพลิเคชัน Android โดยใช้ IntelliJ

ความคิดใด ๆ ?


1
คุณกำลังพยายามเปิดสองโครงการหรือหนึ่งโครงการสองครั้ง?
Rachel

พยายามเปิดกล่องโต้ตอบการตั้งค่าของสองโครงการในเวลาเดียวกันและวางไว้เคียงข้างกัน
Mark Jeronimus

2
ช้าไปหน่อย แต่เพิ่งเปิดโปรเจ็กต์ใหม่โดยใช้ "ไฟล์ -> เปิด" มันจะถามคุณว่า "หน้าต่างนี้" หรือ "หน้าต่างใหม่"
VarunAgw

คำตอบ:


83

คุณต้องกำหนดค่าแต่ละอินสแตนซ์เพื่อใช้โฟลเดอร์ของตัวเองสำหรับการกำหนดค่า / ปลั๊กอิน / ตำแหน่งระบบโดยแก้ไขidea.propertiesไฟล์บน Windows / Linux และInfo.plistบน Mac คุณสามารถหารายละเอียดในคำถามที่พบบ่อย

โปรดทราบว่าโดยปกติไม่จำเป็นเนื่องจากคุณสามารถเปิดหลายโครงการในกรอบ IDEA ที่แตกต่างกันภายในอินสแตนซ์เดียวกันโดยใช้File | เปิดหรือเปิดล่าสุด


4
ใช่นั่นคือสิ่งที่ฉันทำเช่นกันถ้าฉันต้องการเปิดโครงการต่างๆ แม้ว่าฉันจะตรวจสอบให้แน่ใจเสมอว่าฉันมีอินสแตนซ์เดียวที่เปิดเพื่อประสิทธิภาพ แม้ว่าคุณจะไม่สามารถเปิดโปรเจ็กต์เดียวกันได้สองครั้งฉันก็ใช่ @CrazyCoder?
MalsR

คุณไม่สามารถเปิดโครงการเดียวสองครั้งในอินสแตนซ์เดียว แต่เป็นไปได้เมื่อเรียกใช้หลายอินสแตนซ์
CrazyCoder

รถถังสำหรับคำตอบที่ดีฉันมักจะใช้ Visual Studio ดังนั้นฉันจึงขาดความรู้เกี่ยวกับ IntelliJ
เฟลิกซ์

1
หากคุณกำลังทำงานกับ IDE การมีอินสแตนซ์เดียวและการเปิดโปรเจ็กต์ในหน้าต่างที่แตกต่างกันนั้นสมเหตุสมผล แต่ถ้าคุณใช้ IntelliJ ออฟไลน์บนบรรทัดคำสั่งคุณจะต้องมีอินสแตนซ์มากกว่าหนึ่งอินสแตนซ์ git-hook ที่ฉันเขียนตรวจสอบข้อผิดพลาดของโค้ดในโปรเจ็กต์ก่อนที่จะคอมมิตและมันจะไม่ทำงานหาก IntelliJ IDEA ของฉันเปิดอยู่
Gokhan Arik

5
มันไม่ได้ช่วยอะไรเมื่อกล่องโต้ตอบโมดอลจะล็อกทั้งสองหน้าต่างอย่างมีประสิทธิภาพทำให้กล่องโต้ตอบอินสแตนซ์เดียว ดังนั้นคุณจึงไม่สามารถเปรียบเทียบคุณสมบัติการกำหนดค่าระหว่างสองโครงการที่แตกต่างกันได้ น่ารำคาญมาก .
Jeff Mercado

93

กดCtrl+ Alt+ S

เลือกAppearance & Behaviorแล้วตรวจสอบปุ่ม:System SettingsOpen project in new window

ใส่คำอธิบายภาพที่นี่


คำตอบที่ดีตรงที่ว่าคำถามคืออะไรง่ายและถูกต้อง
irshad.ahmad

3
หน้าต่างเดียวไม่ได้หมายความถึงอินสแตนซ์เดียว
Jay Carlton

3
ดูความคิดเห็นของ @JeffMercado ในคำตอบอื่น ๆ : หากคุณวาง 2 โปรเจ็กต์เคียงข้างกันและเปิดกล่องโต้ตอบโมดอล (เช่นการตั้งค่า) ไว้ในหน้าต่างอื่นหน้าต่างอื่น ๆ ก็จะหยุดนิ่งเช่นกัน นี่จึงไม่ใช่วิธีแก้ปัญหาจริงๆ
Tino

3
การดำเนินการนี้จะไม่เปิดโครงการเดียวกันในหน้าต่างอื่นหากโครงการนั้นเปิดอยู่แล้ว
JoeTidee

15

File-> Settings-> General และในส่วน "Startup / Shutdown" ให้เลือก "Confirm window to open project in"


เยี่ยมมากนั่นคือสิ่งที่ฉันกำลังมองหา
eric2323223

20
สิ่งนี้ทำให้ IJ เปิดหน้าต่างใหม่เท่านั้นไม่ใช่อินสแตนซ์
geronimo

มีการเปลี่ยนแปลงในปี 2018 ลิงค์คือตอนนี้http://www.jetbrains.com/help/idea/system-settings.html
ดร. ดีโอ

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

ตามคำแนะนำจาก jetbrainsคุณจะต้องไปที่หน้า "ทั่วไป" ของกล่องโต้ตอบ "การตั้งค่า" และเลือก "เปิดโครงการในหน้าต่างใหม่" จากนั้นดำเนินการเปิดโครงการตามปกติ IntelliJ ควรเริ่มต้นอินสแตนซ์ใหม่ทั้งหมด


1
ไม่มันไม่ได้เริ่มอินสแตนซ์ใหม่ แต่อินสแตนซ์ปัจจุบันจะควบคุมเฉพาะหน้าต่างที่สองเท่านั้น (ตามที่การตั้งค่าบอก) คุณจะเห็นความแตกต่างหากเปิด "การตั้งค่า" ในหน้าต่างใดหน้าต่างหนึ่งในสองหน้าต่างนั้นในภายหลังและลองคลิกในหน้าต่างอื่น ด้วยอินสแตนซ์ที่แยกจากกันจะมีเพียงอินสแตนซ์เดียวเท่านั้นที่ได้รับโมดอล แต่ที่นี่ทั้งสองหน้าต่างได้รับผลกระทบดังนั้นจึงเป็นอินสแตนซ์เดียว
Tino

2

มีวิธีอื่นที่รวดเร็วในการทำ IDE มีเวอร์ชัน EAP อยู่เสมอและสามารถทำงานพร้อมกันกับเวอร์ชันปัจจุบันได้ ตัวอย่างเช่นฉันใช้ AppCode 2017.2 และ 2017.3 EAP ควบคู่กัน


1

ไปที่ IntelliJ | เครื่องมือ | สร้าง Command-line Launcher ...

ใช้ค่าเริ่มต้น (ซึ่งสร้างไบนารีชื่อ "idea"):

ใส่คำอธิบายภาพที่นี่

ตอนนี้ไปที่บรรทัดคำสั่งของคุณ

ซีดีไปยังไดเร็กทอรีโครงการของคุณและพิมพ์: idea .

ซึ่งจะสร้างไดเร็กทอรี. ida สำหรับคอนฟิกูเรชัน IntelliJ สำหรับโปรเจ็กต์นั้นซึ่งจะใช้ซ้ำทุกครั้งเพื่อเริ่ม IntelliJ จากไดเร็กทอรีนั้น

ตอนนี้คุณสามารถไปที่ไดเรกทอรีโครงการอื่นแล้วพิมพ์: idea .

สมมติว่าคุณเปิด IntellJ IDE ก่อนหน้านี้ทิ้งไว้ตอนนี้คุณจะมี IntellJ IDE สองตัวที่เปิดอยู่สำหรับแต่ละโปรเจ็กต์

หมายเหตุ:

1) หากโครงการของคุณใช้ตัวแปรสภาพแวดล้อมฉันขอแนะนำให้เปิดแท็บ / หน้าต่างเทอร์มินัลแยกต่างหากสำหรับแต่ละโครงการและตั้งค่าตัวแปรสภาพแวดล้อมของโครงการนั้นก่อนที่จะรัน: idea .

2) ขึ้นอยู่กับสิ่งที่คุณพยายามทำคุณอาจต้องแก้ไข classpath ของคุณ (หรือการตั้งค่าเช่น Project GOPATH) สำหรับอินสแตนซ์ IntelliJ แต่ละรายการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.