หลัก อื่น วิธีเปิด launch.json ใน VS Code

วิธีเปิด launch.json ใน VS Code



การดีบักที่มีประสิทธิภาพและคุณภาพของโค้ดเป็นแนวคิดที่แยกกันไม่ออกในการพัฒนาซอฟต์แวร์ ฟังก์ชันการแก้ไขข้อบกพร่องของ Visual Studio (VS) Code ถูกควบคุมโดยไฟล์ launch.json เป็นหลัก ไฟล์นี้ช่วยให้นักพัฒนาสามารถกำหนดค่าและจัดการการตั้งค่าการดีบักได้ตามการมองเห็น

  วิธีเปิด launch.json ใน VS Code

บทความนี้จะแนะนำคุณตลอดการเปิดและจัดการไฟล์ launch.json เพื่อการดีบักที่เหมาะสมที่สุด

เปิด launch.json ใน Visual Studio Code

ในการกำหนดค่าและจัดการการตั้งค่าการดีบัก VS Code คุณจะต้องเข้าถึงไฟล์ launch.json ไฟล์นี้มีบทบาทสำคัญในการปรับแต่งการดีบัก

  1. เปิดรหัส Visual Studio
  2. กด Ctrl + Shift + P เพื่อเปิด Command Palette
  3. พิมพ์ “Open launch.json” ใน Command Palette แล้วกด “Enter” นี่ควรเปิดไฟล์ launch.json ให้คุณ
  4. หากไฟล์ launch.json ไม่เปิดขึ้น ให้ตรวจสอบว่ามีโฟลเดอร์ '.vscode' อยู่ในโฟลเดอร์รูทของโปรเจ็กต์
  5. หากไม่มี ให้สร้างโฟลเดอร์ใหม่ชื่อ “.vscode” ภายในโฟลเดอร์ User ของคุณ
  6. สร้างไฟล์ “launch.json” ใหม่และวางไว้ในโฟลเดอร์นี้

ไฟล์ launch.json จะพร้อมกำหนดค่าหลังจากเปิดใช้งาน

ภาพรวมโครงสร้าง Launch.json

launch.json แสดงส่วน 'เวอร์ชัน' และ 'การกำหนดค่า' ส่วน 'การกำหนดค่า' เป็นอาร์เรย์ที่มีตัวเลือกการแก้ไขจุดบกพร่องต่างๆ ซึ่งคุณจะใช้เพื่อกำหนดค่าโครงร่างการแก้ไขจุดบกพร่องของคุณ

แต่ละวัตถุในอาร์เรย์ 'การกำหนดค่า' แสดงถึงสถานการณ์การดีบัก อ็อบเจ็กต์เหล่านี้มีคุณสมบัติที่กำหนดสภาพแวดล้อมการดีบัก เช่น ภาษา โปรแกรม และการตั้งค่าดีบักเกอร์

คุณสมบัติทั่วไปบางอย่างที่คุณจะพบในการกำหนดค่า launch.json ได้แก่:

  • “ชื่อ” – ชื่อที่อ่านง่ายสำหรับการกำหนดค่าเพื่อระบุในเมนูแบบเลื่อนลง
  • “type” – ระบุประเภทของดีบักเกอร์ (เช่น “node,” “python” หรือ “cppvsdbg”)
  • “คำขอ” – กำหนดประเภทของคำขอ ไม่ว่าจะเป็น “เปิดใช้” (เพื่อเริ่มอินสแตนซ์ใหม่) หรือ “แนบ” (เพื่อแนบดีบักเกอร์กับกระบวนการที่มีอยู่)
  • “โปรแกรม” – เส้นทางไฟล์สำหรับไฟล์ที่คุณต้องการดีบัก
  • “args” – อาร์เรย์ของอาร์กิวเมนต์บรรทัดคำสั่งเพื่อส่งไปยังโปรแกรมระหว่างการดีบัก
  • “preLaunchTask” – งานที่ต้องทำก่อนเริ่มดีบักเกอร์

การทำความเข้าใจโครงสร้างไฟล์ launch.json ช่วยให้คุณทราบว่าตัวเลือกใดควรเปลี่ยนและตัวเลือกใดควรปล่อยไว้ในขณะที่ปรับแต่งสภาพแวดล้อมการดีบักของคุณ

การกำหนดการตั้งค่าการเปิดใช้งานสำหรับภาษาต่างๆ

ขั้นตอนในการกำหนดการตั้งค่าการเรียกใช้อาจแตกต่างกันเล็กน้อยขึ้นอยู่กับภาษา ต่อไปนี้เป็นขั้นตอนสำหรับภาษายอดนิยมหลายภาษา

JavaScript และ TypeScript

  1. สร้างไฟล์ launch.json ใหม่และกำหนดค่าคุณสมบัติ 'type' เป็น 'node' สำหรับ JavaScript หรือ 'pwa-node' สำหรับ TypeScript
  2. ตั้งค่าคุณสมบัติ 'คำขอ' เป็น 'เปิด' หรือ 'แนบ'
  3. คุณควรระบุไฟล์จุดเริ่มต้นโดยใช้คุณสมบัติ 'โปรแกรม'

หลาม

  1. ติดตั้งตัวแปล Python และส่วนขยายสำหรับ Visual Studio Code
  2. ตั้งค่าคุณสมบัติ 'type' เป็น 'python' ในไฟล์ launch.json ใหม่
  3. กำหนดค่าคุณสมบัติ 'คำขอ' เป็น 'เปิดใช้' หรือ 'แนบ'
  4. ระบุไฟล์ Python เพื่อเรียกใช้โดยใช้คุณสมบัติ 'โปรแกรม'
  5. คุณอาจต้องตั้งค่าคุณสมบัติ 'pythonPath' เพิ่มเติมเป็นเส้นทางของตัวแปล Python หากไม่ได้อยู่ในตำแหน่งเริ่มต้น

C# และ .NET Core

  1. ติดตั้งส่วนขยาย C# สำหรับ Visual Studio Code
  2. ในไฟล์ launch.json ใหม่ ให้ตั้งค่าคุณสมบัติ 'type' เป็น 'coreclr' สำหรับ .NET Core หรือ 'clr' สำหรับ .NET Framework
  3. กำหนดค่าคุณสมบัติ 'คำขอ' เป็น 'เปิดใช้' หรือ 'แนบ'
  4. ระบุไฟล์จุดเริ่มต้นโดยใช้คุณสมบัติ 'โปรแกรม'
  5. ตั้งค่าคุณสมบัติ 'cwd' เป็นไดเร็กทอรีการทำงานของโปรเจ็กต์ปัจจุบันหากจำเป็น

ชวา

  1. ติดตั้ง Java Extension Pack
  2. สร้างไฟล์ launch.json ใหม่ และตั้งค่าคุณสมบัติ 'type' เป็น 'java'
  3. กำหนดค่าคุณสมบัติ 'คำขอ' เป็น 'เปิดใช้' หรือ 'แนบ'
  4. ระบุคลาสหลักด้วยคุณสมบัติ 'mainClass'
  5. ตั้งค่าคุณสมบัติ “projectName” เป็นชื่อโปรเจ็กต์ Java ของคุณ
  6. กำหนดค่าคุณสมบัติ “classpath” เพื่อรวมไลบรารี Java ที่คุณจะใช้ระหว่างการพัฒนา Java

การดีบักสูตรการกำหนดค่า

ส่วนต่อไปนี้ครอบคลุมสูตรการกำหนดค่าการดีบักต่างๆ

วิธีแคปหน้าจอยาวๆ

การแนบดีบักเกอร์กับกระบวนการทำงาน

ในการแนบดีบักเกอร์กับกระบวนการที่กำลังทำงานอยู่:

  • ตั้งค่าคุณสมบัติ 'คำขอ' เป็น 'แนบ'
  • เลือก ID กระบวนการหรือตัวกรองเพื่อค้นหากระบวนการที่จะดีบัก

การดีบักแอปพลิเคชันระยะไกล

สำหรับการดีบักแอปพลิเคชันระยะไกล:

  • ใช้ประเภท 'ระยะไกล'
  • ระบุที่อยู่ พอร์ต และข้อมูลการรับรองความถูกต้องของโฮสต์เพื่อสร้างการเชื่อมต่อ

การทดสอบหน่วยการดีบักและชุดการทดสอบ

เมื่อแก้ไขการทดสอบหน่วยและชุดทดสอบ:

  • ใช้การกำหนดค่าที่มีเฟรมเวิร์กการทดสอบและการตั้งค่าเพื่อดีบักการทดสอบหน่วยและชุดทดสอบ
  • กำหนดชุดทดสอบหรือไฟล์ทดสอบแต่ละไฟล์ในคุณสมบัติ 'program' หรือ 'args' สำหรับการกำหนดเป้าหมายการทดสอบเฉพาะ

ส่งผ่านตัวแปรสภาพแวดล้อม

คุณสมบัติ “env” ใน launch.json สามารถส่งผ่านตัวแปรสภาพแวดล้อมไปยังแอปพลิเคชันของคุณในขณะทำการดีบัก คุณสมบัตินี้เป็นวัตถุที่มีคู่ของคีย์-ค่าสำหรับตัวแปรสภาพแวดล้อมที่คุณต้องการตั้งค่า

การดีบักขั้นสูง

มาสำรวจเทคนิคการดีบักขั้นสูงสำหรับผู้ใช้ที่ต้องการบีบพลังจากไฟล์ดีบั๊กเพิ่มขึ้นอีกเล็กน้อย

เบรกพอยต์แบบมีเงื่อนไขและล็อกพอยต์

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

  • คลิกขวาที่หมายเลขบรรทัดที่คุณต้องการกำหนดจุดพักหรือจุดตรวจสอบ
  • เลือก “เพิ่มจุดพักแบบมีเงื่อนไข” หรือ “เพิ่มจุดตรวจสอบ”
  • ป้อนเงื่อนไขหรือข้อความเพื่อเรียกการดำเนินการ

แผนที่แหล่งที่มา

ซอร์สแมปช่วยให้คุณสามารถดีบักโค้ดที่ถูกแปลงหรือย่อขนาด

  • ตั้งค่าคุณสมบัติ “sourceMap” เป็น “จริง” ในการกำหนดค่า launch.json เพื่อใช้ซอร์สแมป
  • ตรวจสอบให้แน่ใจว่ากระบวนการสร้างของคุณสร้างซอร์สแมปและโค้ดที่แปลงแล้ว

การรวมดีบักเกอร์ภายนอก

คุณสามารถรวมดีบักเกอร์และเครื่องมือภายนอก เช่น gdb หรือ lldb เข้ากับ VS Code ได้หากต้องการ

  • ติดตั้งส่วนขยายดีบักเกอร์ที่เลือก
  • กำหนดการตั้งค่าของดีบักเกอร์ในไฟล์ launch.json

การดีบักแอพพลิเคชั่นแบบมัลติเธรด

เมื่อทำการดีบักแอพพลิเคชั่นแบบมัลติเธรด คุณสามารถควบคุมการดำเนินการของแต่ละเธรดได้

  • ใช้มุมมอง 'เธรด' ในแถบด้านข้างดีบักเพื่อจัดการเธรดระหว่างเซสชันดีบัก
  • คุณสามารถหยุดชั่วคราว ดำเนินการต่อ หรือทำตามขั้นตอนการดำเนินการโค้ดสำหรับแต่ละเธรดแยกกัน

การดีบักหลายเป้าหมาย

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

วิธีเปิดเอกสารคำบนโทรศัพท์ Android

กำหนดค่าการเรียกใช้งานหลายรายการที่กำหนดเป้าหมายบริการ ฟังก์ชัน หรือจุดสิ้นสุดที่แตกต่างกันเพื่อดีบักไมโครเซอร์วิสและแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ ใช้การกำหนดค่าการเปิดตัวแบบผสมเพื่อเรียกใช้เป้าหมายเหล่านี้ร่วมกัน

สำหรับพื้นที่ทำงานหลายรูท ให้สร้างไฟล์ launch.json แยกต่างหากสำหรับแต่ละโฟลเดอร์ กำหนดการตั้งค่าการเรียกใช้สำหรับแต่ละโฟลเดอร์รูททีละรายการเพื่อดีบักโปรเจ็กต์แยกกันหรือพร้อมกันโดยใช้สารประกอบ

การแก้ไขปัญหา launch.json ทั่วไป

ในบางครั้ง การดีบักมีแนวโน้มที่จะเกิดชุดข้อบกพร่องของมันเอง มาดูปัญหาทั่วไปสองสามข้อและวิธีแก้ปัญหากัน

ข้อผิดพลาดในการตรวจสอบสคีมา

ข้อผิดพลาดในการตรวจสอบ Schema เกิดขึ้นเมื่อไฟล์ launch.json มีคุณสมบัติหรือค่าที่ไม่ถูกต้อง ในการแก้ไขข้อผิดพลาดของสคีมา:

  • ตรวจสอบข้อความแสดงข้อผิดพลาดจากแผงปัญหา
  • อัปเดตไฟล์ launch.json ตามข้อมูลจากข้อความแสดงข้อผิดพลาด

การดีบักล้มเหลว

การตั้งค่าการเรียกใช้ที่ไม่ถูกต้องอาจทำให้การดีบักล้มเหลว

  • ตรวจสอบการกำหนดค่าการเปิดใช้เพื่อหาเส้นทางไฟล์ที่ไม่ถูกต้อง
  • ตรวจสอบดีบักเกอร์หรือประเภทคำขอที่ขาดหายไปหรือไม่ถูกต้อง
  • อัปเดตการตั้งค่าตามต้องการ

การวินิจฉัยปัญหาการกำหนดค่าการเปิดใช้งาน

ในการวินิจฉัยปัญหาเกี่ยวกับการกำหนดค่าการเปิดใช้:

  • เปิดใช้งานการบันทึกการวินิจฉัยโดยการตั้งค่าคุณสมบัติ 'การติดตาม' เป็น 'รายละเอียด'
  • ตรวจสอบบันทึกที่สร้างขึ้นใน Debug Console เพื่อระบุและแก้ไขปัญหาใดๆ

เคล็ดลับสำหรับ launch.json

ใช้ launch.json อย่างเหมาะสมด้วยเคล็ดลับเหล่านี้:

  • ใช้ชื่อที่สื่อความหมายสำหรับการกำหนดค่าการเปิดใช้เพื่อให้ระบุได้ง่าย วิธีปฏิบัตินี้ช่วยให้คุณค้นหาการกำหนดค่าที่เหมาะสมได้อย่างรวดเร็วเมื่อทำงานกับสถานการณ์จำลองการดีบักหลายรายการ
  • แบ่งปันการกำหนดค่าการเปิดตัวกับทีมของคุณโดยรวมไฟล์ launch.json ไว้ในระบบควบคุมเวอร์ชันของโครงการ สมาชิกในทีมทุกคนสามารถเข้าถึงการกำหนดค่าและการตั้งค่าการดีบักแบบเดียวกันได้
  • ระบบควบคุมเวอร์ชันเช่น Git สามารถติดตามการเปลี่ยนแปลงไฟล์ launch.json ของคุณได้ คุณสามารถใช้การควบคุมเวอร์ชันเพื่อเปลี่ยนกลับเป็นการกำหนดค่าก่อนหน้าและทำงานร่วมกับสมาชิกในทีมคนอื่นๆ โดยแชร์การตั้งค่าที่แนะนำกับพวกเขา
  • ติดตั้งส่วนขยายที่รองรับภาษา ดีบักเกอร์ หรือเครื่องมือเฉพาะที่เหมาะกับความต้องการของโครงการ กำหนดค่าไฟล์ launch.json เพื่อใช้ส่วนขยายเหล่านี้และคุณลักษณะของส่วนขยายเหล่านี้ในระหว่างเซสชันการดีบัก

เปิดใช้การดีบัก

ด้วยการใช้พลังของ launch.json คุณสามารถปรับประสบการณ์การแก้จุดบกพร่องให้เหมาะกับสไตล์การเขียนโค้ดของคุณได้ดีที่สุด สิ่งนี้จะปรับปรุงคุณภาพและประสิทธิภาพของโค้ดของคุณ

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

บทความที่น่าสนใจ

ตัวเลือกของบรรณาธิการ

การไขปริศนาว่าทำไมเสือชีตาห์ถึงเร็วมากช่วยไขเบาะแสเกี่ยวกับความเร็วของไดโนเสาร์
การไขปริศนาว่าทำไมเสือชีตาห์ถึงเร็วมากช่วยไขเบาะแสเกี่ยวกับความเร็วของไดโนเสาร์
ตั้งแต่สมัยของไดโนเสาร์ สัตว์ที่ใหญ่ที่สุดก็ไม่ได้เร็วที่สุด แม้ว่าจะมีมวลกล้ามเนื้อเพิ่มขึ้นและพลังที่มีศักยภาพเพิ่มขึ้นก็ตาม อันที่จริง หลายคนช้าที่สุดในคลาสนั้น ๆ และในขณะที่คุณคาดหวังว่าสัตว์อสูรที่ตัดไม้จะ
Samsung Galaxy S7 ได้รับการอัพเกรด Always On Display ของ Note 7
Samsung Galaxy S7 ได้รับการอัพเกรด Always On Display ของ Note 7
Samsung Galaxy Note 7 อาจกลายเป็นเชิงอรรถอย่างรวดเร็วในประวัติศาสตร์ของ Samsung (แม้ว่าจะไม่เร็วเท่าที่นักบัญชีของบริษัทต้องการ) แต่อย่างน้อยก็มีองค์ประกอบอย่างน้อยหนึ่งองค์ประกอบที่จะเข้าร่วมในบริษัท
Kindle Fire ทำให้การแช่แข็ง - จะทำอย่างไร
Kindle Fire ทำให้การแช่แข็ง - จะทำอย่างไร
ไม่มีอะไรทำลายวันของคุณได้เหมือนแท็บเล็ตที่ถูกแช่แข็งโดยเฉพาะอย่างยิ่งเมื่อคุณพยายามทำสิ่งที่สำคัญให้ลุล่วง โดยทั่วไปแล้วแท็บเล็ต Fire ของ Amazon นั้นค่อนข้างน่าเชื่อถือ แต่ก็ไม่ได้รับผลกระทบจากความผิดพลาดการหยุดนิ่งและข้อผิดพลาด ถ้าคุณ'
ปิดใช้งานป้ายแถบงานใน Windows 10
ปิดใช้งานป้ายแถบงานใน Windows 10
หากคุณต้องการปิดใช้งานป้ายแถบงานสำหรับแอพ 'Universal' ของ Windows 10 คุณสามารถทำได้โดยคลิกเมาส์เพียงไม่กี่ครั้ง
วิธีปิดการใช้งานคีย์บอร์ดแล็ปท็อปใน Windows 11
วิธีปิดการใช้งานคีย์บอร์ดแล็ปท็อปใน Windows 11
ขั้นตอนง่ายๆ สำหรับวิธีปิดแป้นพิมพ์แล็ปท็อปขณะใช้ Windows 11 โซลูชันการปิดและล็อกชั่วคราวและถาวรพร้อมคำเตือนและเคล็ดลับ
เรขาคณิตรูปหลายเหลี่ยม: ห้าเหลี่ยม หกเหลี่ยม และสิบสองเหลี่ยม
เรขาคณิตรูปหลายเหลี่ยม: ห้าเหลี่ยม หกเหลี่ยม และสิบสองเหลี่ยม
เรียนรู้ลักษณะของรูปหลายเหลี่ยมพร้อมตัวอย่างทั่วไป เช่น สามเหลี่ยม รูปสี่เหลี่ยมขนมเปียกปูน รูปหกเหลี่ยม และรูปหลายเหลี่ยมล้านเหลี่ยม
วิธีซ่อนกิจกรรมของเกมใน Discord
วิธีซ่อนกิจกรรมของเกมใน Discord
เมื่อสำรวจโลกแฟนตาซีหรือไล่ตามศัตรูในสถานการณ์ FPS เกมเมอร์ชอบที่จะแชทกับเพื่อนร่วมทีมบน Discord อย่างไรก็ตาม บางครั้งการเล่นคนเดียวโดยไม่มีการขัดจังหวะนั้นไม่มีค่าเลย หากคุณต้องการเรียนรู้วิธีซ่อนกิจกรรมของคุณ