ดูเหมือนว่าควรจะจัดเก็บการตั้งค่านี้ไว้ในไฟล์โซลูชันดังนั้นจึงมีการแชร์กับผู้ใช้ทั้งหมดและเป็นส่วนหนึ่งของการควบคุมซอร์สโค้ด เนื่องจากเราไม่ได้ตรวจสอบในไฟล์ suo ผู้ใช้แต่ละคนต้องตั้งค่าแยกต่างหากซึ่งดูแปลก
ดูเหมือนว่าควรจะจัดเก็บการตั้งค่านี้ไว้ในไฟล์โซลูชันดังนั้นจึงมีการแชร์กับผู้ใช้ทั้งหมดและเป็นส่วนหนึ่งของการควบคุมซอร์สโค้ด เนื่องจากเราไม่ได้ตรวจสอบในไฟล์ suo ผู้ใช้แต่ละคนต้องตั้งค่าแยกต่างหากซึ่งดูแปลก
คำตอบ:
ทำไมมันควรเป็นการตั้งค่าที่ไม่ใช่ผู้ใช้เฉพาะ?
หากฉันมีโซลูชันที่มีไฟล์ 10 ไฟล์และผู้พัฒนารายหนึ่งทำการทดสอบ / ใช้เครื่องมือเหล่านี้เป็นหลักเหตุใดจึงควรส่งผลกระทบต่อสิ่งที่ฉันเริ่มต้น
ฉันคิดว่า MS ได้เลือกที่ถูกต้องสำหรับอันนี้ โครงการที่ฉันต้องการเริ่มต้นอยู่ไกลจากโครงการที่นักพัฒนารายอื่นต้องการเริ่มต้น
มันเป็นสิ่งจำเป็นอย่างยิ่งที่ทุกคนสามารถกำหนดโครงการเริ่มต้นของพวกเขาเองเป็นจอนได้กล่าวแล้ว แต่การมีค่าเริ่มต้นโดยเฉพาะจะดีมากและอย่างที่ฉันบอกได้มันเป็นไปได้!
หากคุณไม่มีไฟล์. suo ในไดเรกทอรีโซลูชัน Visual Studio จะเลือกโครงการแรกในไฟล์. sln ของคุณเป็นโครงการเริ่มต้นเริ่มต้น
ปิด Visual Studio ของคุณและเปิดไฟล์. sln ในโปรแกรมแก้ไขข้อความที่คุณโปรดปราน เริ่มต้นในบรรทัดที่ 4 คุณจะเห็นโครงการทั้งหมดของคุณห่อหุ้มในProject
- EndProject
บรรทัด
ตัดและวางโครงการเริ่มต้นเริ่มต้นที่ต้องการไปยังตำแหน่งบนสุด
ลบไฟล์. suo ของคุณ
เปิดโซลูชันของคุณใน Visual Studio Ta daa!
มีรางวัลพิเศษไหมถ้าคุณรู้บางอย่างที่จอนไม่รู้ ;-)
ในกรณีส่วนใหญ่ก็ไม่ได้ทำให้ความรู้สึกที่มีค่าเริ่มต้นเกี่ยวกับเรื่องนี้
มันจะดีกว่ามากที่จะรองรับโครงการเริ่มต้นเริ่มต้นและเก็บไว้ในไฟล์. sln แต่สิ่งที่นักพัฒนาสามารถแทนที่ได้ในไฟล์. suo หากไม่พบการตั้งค่าเริ่มต้นในไฟล์. suo จะใช้โครงการเริ่มต้นเริ่มต้นใน. sln
จริงนี้ได้รับการแนะนำใน UserVoice
ฉันเขียนอรรถประโยชน์บรรทัดคำสั่งเล็กน้อยสำหรับ Windows ที่เรียกว่าslnStartupProject
ตั้งค่าโครงการเริ่มต้นโดยอัตโนมัติ:
slnStartupProject slnFilename projectName
ฉันใช้มันเพื่อตั้งค่าโปรเจ็กต์เริ่มต้นหลังจากสร้างโซลูชันด้วยcmakeที่ตั้งALL_BUILD
โปรเจคดัมมี่เป็นโครงการแรกในโซลูชันเสมอ
แหล่งที่มาอยู่บน GitHub ทางแยกและข้อเสนอแนะยินดีต้อนรับ
หากคุณกำลังใช้ GIT คุณสามารถส่งไฟล์ SUO เริ่มต้นแล้วทำเครื่องหมายว่าไม่เปลี่ยนแปลงโดยใช้
git update-index --assume-unchanged YourSolution.suo
มันยังทำงานได้ถ้าคุณต้องการมีมากกว่าหนึ่งโครงการในกลุ่มเริ่มต้นของคุณ ข้อเสียเดียวที่ฉันรู้คือคำสั่งนี้จะต้องถูกเรียกใช้โดยทุกคนที่ไม่ต้องการส่งไฟล์ SUO