ฉันจะแบ่งปันการกำหนดค่า IntelliJ Run / Debug ระหว่างโครงการได้อย่างไร


144

ฉันมีแอพของฉันหลายเวอร์ชัน แต่ละคนเป็นโครงการ intellij แยกต่างหาก ทุกครั้งที่ฉันเปิดใหม่รายการของการกำหนดค่าเริ่มต้นที่ว่างเปล่า:

ป้อนคำอธิบายรูปภาพที่นี่

สิ่งที่น่ารำคาญเกี่ยวกับเรื่องนี้คือฉันปรับใช้กับ 1 vm และฉันต้องคัดลอกและวางการกำหนดค่าการดีบักทุกครั้งที่ฉันต้องการทดสอบรุ่นอื่น Intellij ทำให้โมดอลโต้ตอบนี้ตามอินสแตนซ์ของ Intellij ดังนั้นฉันไม่สามารถคัดลอกและวางฟิลด์ระหว่างอินสแตนซ์ของโครงการได้

ฉันสิ้นสุดการจับภาพหน้าจอของการกำหนดค่าหนึ่งและคัดลอกเขตข้อมูลด้วยมือลงในโครงการอื่น มันเป็นคำตอบดั้งเดิม มีวิธีที่สะดวกกว่าในการรับการกำหนดค่าการรันจากโครงการหนึ่งไปอีกโครงการหนึ่งหรือไม่?

ฉันใช้ Intellij 13 บน Windows 7


ฉันสามารถแชร์การตั้งค่าสำหรับ IntelliJ Idea ในโครงการต่างๆได้หรือไม่ อาจมีคำตอบสำหรับสิ่งนี้ แต่คำถามนั้นแตกต่างกัน มันเกี่ยวกับเค้าโครงหน้าต่าง ดังนั้นฉันไม่คิดว่ามันจะซ้ำกัน



สร้างตั๋วสำหรับสิ่งนี้ ไปโหวต!
Eyal Roth

คำตอบ:


186

วิธีที่ดีที่สุดในการทำเช่นนี้คือคลิกเครื่องหมายถูก "แบ่งปัน" ถัดจากฟิลด์ชื่อเมื่อคุณแก้ไข / สร้างการกำหนดค่า คุณสามารถไปที่ไดอะล็อกนี้ด้วยการรัน> แก้ไขการกำหนดค่า

ป้อนคำอธิบายรูปภาพที่นี่

เครื่องหมายถูกที่ใช้ร่วมกันจะดึงการตั้งค่าออกจากคุณworkspace.xmlและวางไว้ในไดเรกทอรี.idea\runConfigurationsแทน สิ่งนี้ได้รับการออกแบบเพื่อให้คุณสามารถแบ่งปันการตั้งค่ากับผู้อื่นได้ คุณสามารถคัดลอกไฟล์นี้และวางไว้ในตำแหน่งเดียวกันในโครงการความคิดของคุณทั้งหมด

อย่างไรก็ตามในอนาคตคุณอาจต้องการพิจารณาใช้สาขาการควบคุมแหล่งที่มาสำหรับเวอร์ชันแอปมากกว่าโครงการแยกต่างหาก IntelliJ จัดการสิ่งเหล่านี้ได้ดีมาก


1
"คุณอาจต้องการพิจารณาใช้สาขาการควบคุมแหล่งที่มาสำหรับเวอร์ชันแอปแทนที่จะแยกโครงการ" มันทำงานอย่างไร ฉันกังวลว่าไฟล์ต้นฉบับ 20x จะทำให้ Intellij ทำงานช้าลง จะพิจารณาทีละครั้งหรือไม่?
Daniel Kaplan

2
@tietyT ใช่ การทำงานของสาขาการควบคุมแหล่งที่มาคือการแก้ไขไฟล์ภายในเครื่องทั้งหมดของคุณเพื่อให้เข้ากับสาขา จากนั้นคุณสลับสาขามันทำมันอีกครั้ง คุณมีพื้นที่ใช้งานน้อยลงในระบบไฟล์โลคัลของคุณ นี่เป็นการอ่านที่ดีสำหรับคุณ: git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
Nick Humrich

2
@tieTYT โดยทั่วไปคุณมีสาขาเดียวในเครื่องของคุณในแต่ละครั้ง เมื่อคุณต้องการทำงานกับเวอร์ชันอื่นตัวควบคุมแหล่งข้อมูลจะเปลี่ยนเป็นเวอร์ชันนั้นสำหรับคุณ คุณจะไม่มี "ไฟล์ต้นฉบับ 20x" เพราะคุณมีเพียงครั้งละ 1x
Nick Humrich

อ่าที่ทำงานเราใช้ SVN ที่ถูกกล่าวว่าฉันใช้สะพาน Git-SVN ในประเทศ ฉันไม่เคยเปลี่ยนไปใช้สาขา SVN ที่แตกต่างจากเดิม ฉันเดาว่าฉันจะให้มันยิง
Daniel Kaplan

2
@jay คุณสามารถเพิ่มไฟล์ลงในไม่ต้องรวมใน. gitignore ของคุณได้เสมอ !.idea/runConfidurations/name
Nick Humrich

42

เรียกใช้การกำหนดค่าจะถูกเก็บไว้ใน. aaa / workspace.xml โดยค่าเริ่มต้น ทางเลือกแรกคือการแชร์ไฟล์นี้ แต่ไม่สามารถทำได้เพราะคุณยังแชร์การกำหนดค่าที่ไม่จำเป็นจำนวนมาก ตามที่ได้กล่าวไปแล้วขั้นตอนแรกคือตรวจสอบตัวเลือก "แชร์" เพื่อแยกการกำหนดค่าการทำงานออกจาก workspace.xml

การจัดโครงแบบการรันจาก workspace.xml

หลังจากนั้นฉันแนะนำให้เพิ่ม runConfigurations ให้กับแหล่งควบคุม แต่ปัญหาหลักคือคุณอาจทำเครื่องหมายโฟลเดอร์. aaa ไว้ว่าถูกเพิกเฉยแล้ว คุณสามารถยกเลิกการเพิกถอนโฟลเดอร์โดยการกำหนดค่าระบบควบคุมแหล่งที่มาของคุณ ตัวอย่างเช่นหากคุณใช้ git คุณสามารถเปลี่ยนไฟล์. gitignore ได้ดังนี้:

.idea/*
!/.idea/runConfigurations

อย่าลืมเพิ่ม * หลังจาก. aide /

ในขั้นตอนสุดท้ายให้เพิ่มการกำหนดค่าการทำงานของคุณลงในการควบคุมแหล่งที่มาและเพลิดเพลินกับการกำหนดค่าที่ใช้ร่วมกันของคุณ!


กฎนี้เป็นสิ่งที่ฉันอยากรู้เพราะจริง ๆ แล้วเราเพิกเฉย.. ดีและไม่มีวิธีที่จะยกเลิกการลงทะเบียนโดยไม่มีอาการปวดหัวครั้งใหญ่
David Mann

! น่ากลัว นี่คือสิ่งที่ฉันกำลังมองหาเป็นเวลานาน
Jonas Gröger

1
สำหรับทีมของฉันการกำหนดค่า Run ใน VCS ไม่ใช่ตัวเลือก การกำหนดค่าการเรียกใช้ประกอบด้วยค่าต่างๆเช่นเส้นทางที่แตกต่างกันระหว่างผู้ใช้ สิ่งที่ฉันต้องการคือการแชร์การกำหนดค่าเริ่มต้นในโครงการของตัวเองไม่ใช่ในกลุ่มสมาชิก
Ivan dal Bosco

18

ไปที่

Run > Edit Configuration > create or select existing configuration you want to use > click save and persist it on file system > click on share check mark

ตอนนี้คัดลอกไฟล์นี้จาก

 PROJECT_ROOT_DIRECTORY/.idea/runConfigurations/ConfigurationName.xml

ไปยังNEW_PROJECT_ROOT_DIRECTORY/.idea/runConfigurationsสถานที่เดียวกันและสามารถใช้งานได้แล้วในตอนนี้


ฉันคิดว่าคุณต้องตรวจสอบแชร์ก่อนเช่น Humdinger กล่าว
Daniel Kaplan

14

คุณควรคัดลอกโฟลเดอร์

~/your-old-project/.idea/runConfigurations 

ถึง

~/your-new-project/.idea/

นั่นคือโฟลเดอร์ที่มีการกำหนดค่าการทำงาน


5
ฉันเชื่อว่าคุณต้องตั้งค่าให้ "แบ่งปัน" ก่อนตามที่อธิบายไว้ในคำตอบที่ยอมรับแล้ว
Muhd

0

นี่ไม่ใช่คำตอบที่แน่นอนสำหรับคำถามของคุณ แต่ตอบคำถามที่คล้ายกับคำถามของคุณและคำถามที่ฉันมีและฉันคิดว่าคนอื่นอาจจะเป็นเช่นนั้น

นั่นคือวิธีการบันทึกการตั้งค่าหน่วยและทดสอบการใช้งานการกำหนดค่า? ฉันมักจะคลิกขวาที่ไดเรกทอรีทดสอบซึ่งจะมีเมนูพร้อมตัวเลือกให้เรียกใช้สิ่งที่อยู่ในไดเรกทอรีนั้น AndroidStudio จะสร้างการกำหนดค่าการทำงานได้ทันทีและในเมนูแบบเลื่อนลงเรียกใช้การกำหนดค่าตัวเลือกใหม่จะปรากฏขึ้น "บันทึกการกำหนดค่าใหม่หรือไม่" หรือสิ่งที่คล้ายกัน

เมื่อคลิกที่ตัวเลือกนั้นจะปรากฏเมนู Run Configuration ขึ้นมาและในตอนนั้นฉันจะทำเครื่องหมายที่ช่อง Share ตามที่คนอื่น ๆ หลายคนพูดถึงแล้ว จากนั้นจะแจ้งให้ระบบควบคุมเวอร์ชันถามฉันว่าฉันต้องการเพิ่มไฟล์กำหนดค่าการรันใหม่นี้หรือไม่ หากคุณยังไม่ได้ลงทะเบียนระบบควบคุมเวอร์ชันคุณสามารถค้นหาไฟล์ใหม่ได้ภายใต้. videoa / runConfigurations

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