ข้อผิดพลาด “Visual Studio Code Error: The Window Terminated Unexpectedly” เกิดขึ้นเมื่อ VS Code ล้มเหลวระหว่างเปิดโปรแกรมหรือขณะทำงาน ข้อผิดพลาดนี้มักชี้ไปที่ข้อขัดแย้งกับ Chromium sandbox ซึ่งเป็นเลเยอร์ความปลอดภัยในตัวที่แยกกระบวนการเพื่อรักษาความปลอดภัยของแอปพลิเคชัน แม้จำเป็นต่อความปลอดภัย Sandbox ก็อาจก่อให้เกิดความไม่เสถียรบนบางระบบ นำไปสู่การปิดตัวอย่างไม่คาดคิด
สาเหตุอื่นที่เป็นไปได้รวมถึง การจัดสรร virtual memory ต่ำเกินไป, ไฟล์แคชที่เสียหาย, ส่วนขยาย (extensions) ติดตั้งมากเกินไป หรือ ข้อขัดแย้ง hardware acceleration ในกรณีที่หายาก การติดตั้ง VS Code ที่ล้าสมัยหรือเสียหายอาจเป็นสาเหตุด้วย
ด้านล่างคือวิธีแก้ไขที่พิสูจน์แล้วหลายวิธีสำหรับปัญหานี้
1. เปิด VS Code ด้วย –disable-chromium-sandbox
Chromium sandbox จำกัดการเข้าถึงทรัพยากรระบบของ VS Code เพื่อความปลอดภัย อย่างไรก็ตาม หากระบบหรือไดรเวอร์ของคุณไม่รองรับอย่างเต็มที่ เอดิเตอร์อาจล้มเหลวระหว่างเริ่มต้น การเปิด VS Code ด้วย flag --disable-chromium-sandbox จะข้ามข้อจำกัดนี้และอนุญาตให้แอปพลิเคชันทำงานโดยไม่มี sandbox
⚠️ คำเตือน: การปิด Chromium sandbox ลดเลเยอร์ความปลอดภัยที่แยกกระบวนการของ VS Code ใช้วิธีนี้เพื่อ troubleshooting หรือเป็น workaround ชั่วคราวเท่านั้น ขอแนะนำให้อัปเดตระบบและไดรเวอร์อย่างสม่ำเสมอ เพื่อให้ VS Code ทำงานกับ sandbox เปิดอยู่ได้
- ปิด Visual Studio Code ให้หมด
- กด Win + R, พิมพ์ cmd, และกด Enter
- พิมพ์คำสั่งด้านล่างและกด Enter:
code --disable-chromium-sandbox
- หาก VS Code เปิดได้โดยไม่ล้มเหลว ให้พิจารณาอัปเดต OS และไดรเวอร์ หากจำเป็น อาจรัน VS Code ในโหมดนี้เป็น workaround ชั่วคราว
2. เพิ่ม Virtual Memory (Paging File)
VS Code โหลดกระบวนการหลายอย่าง ส่วนขยาย และคอมโพเนนต์ rendering ลงในหน่วยความจำ หาก RAM จริงของระบบไม่พอ Windows จะพึ่งพา virtual memory (paging file) หากการจัดสรรนี้ต่ำเกินไป VS Code อาจถูกยกเลิกอย่างไม่คาดคิด การเพิ่ม paging file รับประกันว่ามีหน่วยความจำเพียงพอระหว่างเริ่มต้น
- กด Win + R, พิมพ์ sysdm.cpl, และกด Enter
- ไปที่แท็บ Advanced และภายใต้ Performance คลิก Settings
- ใน Performance Options ไปที่แท็บ Advanced และคลิก Change ภายใต้ Virtual memory
- ยกเครื่องหมายถูก Automatically manage paging file size for all drives ออก
- เลือกดิสก์ระบบ (ปกติ C:) เลือก Custom size และป้อนค่า:
- Initial size: ใช้ค่า recommended ที่แสดง
- Maximum size: ตั้งสูงกว่า (เช่น 4096 MB หรือมากกว่า)
- คลิก Set, แล้ว OK, และรีสตาร์ทระบบ
3. ล้าง VS Code Cache และ Backup Data
VS Code เก็บข้อมูลเซสชันแคช สถานะส่วนขยาย และไฟล์สำรองภายใต้โฟลเดอร์โปรไฟล์ หากไฟล์เหล่านี้เสียหาย (เนื่องจากอัปเดตล้มเหลว ล้มเหลว หรือข้อขัดแย้ง) เอดิเตอร์อาจล้มเหลวตอนเปิด การลบโฟลเดอร์แคชเหล่านี้จะบังคับให้ VS Code สร้างใหม่ ซึ่งมักแก้ปัญหาได้
- ปิดหน้าต่าง VS Code ทั้งหมด
- กด Win + R, พิมพ์เส้นทางด้านล่าง, และกด Enter:
%APPDATA%\Code
- ลบโฟลเดอร์ย่อยต่อไปนี้:
Cache CachedData Code Cache GPUCache
- รีสตาร์ท VS Code และตรวจสอบว่าปัญหายังคงอยู่หรือไม่
4. ปิดใช้งาน Extensions และ Hardware Acceleration
Hardware acceleration อนุญาตให้ VS Code โหลดงาน rendering ให้ GPU ทำ แม้เพิ่มประสิทธิภาพ แต่ก็อาจก่อให้เกิด crash หากไดรเวอร์ GPU ไม่เสถียร เช่นเดียวกัน extensions แก้ไขพฤติกรรมของ VS Code โดยตรง และส่วนขยายที่ผิดปกติหรือล้าสมัยอาจป้องกันไม่ให้เอดิเตอร์เริ่มต้นได้ การรัน VS Code ด้วยทั้งสองอย่างปิดจะช่วยระบุสาเหตุราก
4.1 ปิดใช้งาน Extensions
- กด Win + R, พิมพ์ cmd, และกด Enter
- รันคำสั่งต่อไปนี้:
code --disable-extensions
- หาก VS Code เปิดได้สำเร็จ แสดงว่าส่วนขยายตัวหนึ่งเป็นสาเหตุ ให้เปิดใช้งานทีละตัวเพื่อหาตัวที่ผิดปกติ
4.2 ปิดใช้งาน Hardware Acceleration
- กด Ctrl+Shift+P เพื่อเปิด Command Palette
- ค้นหาและเลือก Preferences: Open Settings (JSON)
- เพิ่มบรรทัดต่อไปนี้ในไฟล์ JSON:
"disable-hardware-acceleration": true
- รีสตาร์ท VS Code ตอนนี้จะใช้ CPU rendering แทน GPU
5. ติดตั้ง Visual Studio Code ใหม่
หากทุกวิธีล้มเหลว การติดตั้ง VS Code ใหม่จะรับประกันว่าไฟล์หลักที่เสียหายหรือการติดตั้งที่แตก ถูกแทนที่ด้วยสำเนาใหม่ นี่เป็นวิธีที่น่าเชื่อถือที่สุดเพื่อแยกสาเหตุระดับการติดตั้ง
- กด Win + R, พิมพ์ appwiz.cpl, และกด Enter
- ค้นหา Visual Studio Code, คลิกขวา, และเลือก Uninstall
- ดาวน์โหลดเวอร์ชันล่าสุดจากเว็บไซต์ VS Code อย่างเป็นทางการ
- รันตัวติดตั้งและทำให้การตั้งค่าเสร็จสมบูรณ์
- เปิด VS Code เพื่อยืนยันว่าข้อผิดพลาดหายไป
ABOUT THE AUTHOR
ABOUT THE AUTHOR Hamza Mohammad Anwar Hamza Mohammad Anwar เป็นนักพัฒนาเว็บ JavaScript ระดับกลาง ที่เน้นพัฒนาแอปพลิเคชันประสิทธิภาพสูงด้วยเทคโนโลยี MERN ชุดทักษะรวมถึงความเชี่ยวชาญใน ReactJS, MongoDB, Express NodeJS และเทคโนโลยีที่เกี่ยวข้อง Hamza ยังเป็นผู้เชี่ยวชาญ IT ที่ได้รับการรับรองจาก Google ซึ่งเน้นความสามารถด้านสนับสนุน IT ในฐานะนักแก้ปัญหาที่กระตือรือร้น เขาสร้างข้อผิดพลาดซ้ำบนคอมพิวเตอร์ของตัวเองเพื่อ troubleshoot และหาวิธีแก้ไขปัญหาทางเทคนิคต่างๆ