PG IJUDGE
เขียนโค้ด กดส่ง IJUDGE แล้วดูผล pass / not pass ได้ใน VS Code ที่เดียว ไม่ต้องสลับไปเปิดเว็บ
Extension สำหรับ IJUDGE ของคณะ IT สจล. — เรียกดูโจทย์, รันทดสอบกับตัวอย่างในเครื่อง, ส่งขึ้นระบบ, และดูผลตัดสินราย testcase โดยไม่ต้องออกจากโปรแกรมแก้โค้ด
เริ่มใน 30 วินาที
- กด Enter License Key ใส่ key ที่ได้รับ (
PGIJ-XXXX-XXXX-XXXX-XXXX)
- กด Login ใส่บัญชี IJUDGE (เช่น
it6507XXXX)
- เลือกคอร์ส → คลิกขวาที่โจทย์ → Create Solution File
- เขียนโค้ด →
Ctrl+Alt+R ทดสอบกับตัวอย่าง → Ctrl+Alt+S ส่ง
ต้องมี license key ที่ใช้งานได้ ตัว extension ทำงานผ่านเซิร์ฟเวอร์กลาง (ตั้งค่าไว้ให้แล้ว ไม่ต้องกรอก URL เอง)
รหัสผ่านและ key เก็บใน VS Code SecretStorage ของเครื่องคุณเท่านั้น · cookie ของ IJUDGE ไม่เคยออกจากเครื่อง
ปุ่มลัดที่ใช้บ่อย
| ปุ่ม |
ทำอะไร |
Ctrl+Alt+S |
ส่งไฟล์ปัจจุบันขึ้น IJUDGE แล้วรอผลตัดสิน |
Ctrl+Alt+R |
รันกับตัวอย่างของโจทย์ ในเครื่อง ดูว่าผ่านกี่ข้อ |
(Mac ใช้ Cmd แทน Ctrl)
ฟีเจอร์
เขียน–ทดสอบ–ส่ง ครบในที่เดียว
- สร้างไฟล์คำตอบจากโจทย์ ในคลิกเดียว ตั้งชื่อ นามสกุลภาษา และใส่โค้ดตั้งต้นให้อัตโนมัติ
- เลือกโจทย์อัตโนมัติจากไฟล์ที่เปิด — สลับไปแก้ไฟล์ไหน หน้าโจทย์นั้นเด้งขึ้นข้างๆ และ
Ctrl+Alt+S ส่งเข้าข้อที่ถูกเสมอ
- รันทดสอบก่อนส่ง เทียบผลแบบเดียวกับ judge บอกบรรทัดแรกที่ต่าง แยกกรณีตอบผิด / timeout / error ให้ชัด
- ดู ผลตัดสินราย testcase พร้อมเวลาที่ใช้ และโค้ดที่ส่งไป
กันพลาด
- เตือนคำต้องห้าม/บังคับก่อนส่ง — โจทย์ที่ห้ามใช้บางคำ (เช่นห้ามใช้
max) จะถูกเช็คให้ก่อน ไม่เสียการส่งฟรี
- เตือนเมื่อภาษาของไฟล์ไม่ตรงกับที่โจทย์กำหนด
- บล็อกการส่งเข้าโจทย์ที่ผู้สอนปิดรับ
หน้าตาใช้งานง่าย
- ปุ่มลัดในหน้าโจทย์ — สร้างไฟล์ / รันกับตัวอย่าง / ส่ง / ดูประวัติ / เปิดบน GitHub กดได้จากในหน้าเลย
- จัดกลุ่มโจทย์ ตามสถานะหรือกำหนดส่ง (ปุ่ม
… บนหัวแถบข้าง)
- หน้าผลตัดสิน เห็นทั้งชุด testcase ในบรรทัดเดียว รู้ทันทีว่าตกข้อที่เท่าไร
- แถบข้าง ติด
☁ ที่ข้อซึ่งเก็บขึ้น GitHub แล้ว
- โจทย์ที่ปิดไปแล้วยังอยู่ในคอร์ส ขึ้นป้าย "ปิดแล้ว" เปิดอ่านและดูโค้ดเดิมได้ แต่ส่งไม่ได้
จัดการงานทั้งคอร์ส
- หน้าสรุปความคืบหน้า — ผ่านกี่ข้อ, ข้อที่ค้าง, เรียงตามกำหนดส่ง
- ป้ายความยาก จากอัตราคนผ่านจริงของทั้งชั้น (● ง่าย / ◆ ปานกลาง / ▲ ยาก)
- นับถอยหลังกำหนดส่ง ข้อที่ใกล้หมดเวลาและยังไม่ผ่านจะเด่นขึ้นมา
- ค้นหาโจทย์ ข้ามทุกคอร์สด้วยชื่อหรือรหัสข้อ
- กรองเฉพาะข้อที่ยังไม่ผ่าน
- สร้างไฟล์รวดเดียวทุกข้อที่ค้าง
- เทียบกับโค้ดที่เคยส่ง เปิด diff คู่กับไฟล์ปัจจุบัน
เก็บทุกอย่างไว้บน GitHub ของตัวเอง
- เชื่อมบัญชี GitHub ครั้งเดียว — สั่ง
GitHub: เชื่อมบัญชี & เลือก repo จะสร้าง repo แบบ private ให้ (หรือเลือก repo เดิม) ไม่ต้องกรอก token
(VS Code ที่ build เอง / VSCodium ไม่มีตัวเชื่อมบัญชีในตัว — จะสลับไปเชื่อมด้วยโค้ด 8 ตัวบน github.com ให้อัตโนมัติ)
- ส่งผ่านแล้ว push ให้อัตโนมัติ — ตัวโจทย์ + โค้ด + ผลตัดสิน กลายเป็น Markdown ที่เปิดอ่านสวย ๆ บน github.com ได้เลย
- โจทย์ที่ปิดไปแล้วก็ยังอ่านได้ เพราะสำเนาอยู่ใน repo ของคุณเอง
- เก็บย้อนหลังทั้งคอร์สได้ ด้วย
GitHub: เก็บโจทย์ที่ส่งแล้วทั้งหมดขึ้น repo (1 คอร์ส = 1 commit)
ijudge-vault/
├─ README.md ← สรุปทุกคอร์ส ผ่านกี่ข้อ
└─ courses/2568-1-Comprog/
├─ README.md ← ตารางของคอร์ส
└─ 3014-Milk/
├─ README.md ← ตัวโจทย์ + ตัวอย่าง + เฉลย (พับไว้)
├─ solution.py
└─ submissions.md ← ประวัติการส่งทุกครั้ง
repo ถูกสร้างเป็น private เสมอ — โจทย์ของรายวิชาและคำตอบไม่ควรเปิดสาธารณะ
ปิด/เปลี่ยนจังหวะการ push ได้ที่ pgIjudge.github.autoPush
ภาษาที่รองรับ (รันในเครื่อง)
Python · C · C++ · Java · JavaScript · Go · Rust · C#
(ต้องมีตัวคอมไพเลอร์/ตัวรันของภาษานั้นติดตั้งในเครื่องอยู่แล้ว)
การตั้งค่าที่น่าสนใจ
| Setting |
ค่าเริ่มต้น |
ความหมาย |
pgIjudge.autoDetectProblem |
true |
สลับโจทย์ตามไฟล์ที่เปิดอยู่ |
pgIjudge.autoOpenProblem |
true |
เปิดหน้าโจทย์ให้อัตโนมัติ (ไม่แย่งโฟกัส) |
pgIjudge.solutionsFolder |
"" |
โฟลเดอร์เก็บไฟล์ที่สร้าง |
pgIjudge.defaultLanguage |
auto |
ภาษาตอนส่ง (auto = ตามที่โจทย์กำหนด) |
pgIjudge.autoSaveBeforeSubmit |
true |
บันทึกไฟล์ก่อนส่ง |
pgIjudge.groupProblemsBy |
none |
จัดกลุ่มโจทย์ในแถบข้าง (status / deadline) |
pgIjudge.github.autoPush |
accepted |
เก็บขึ้น GitHub เมื่อไร (accepted / always / off) |
pgIjudge.github.repoName |
ijudge-vault |
ชื่อ repo ที่เสนอตอนสร้างใหม่ |
ดูทั้งหมดได้ที่ Settings → ค้น pgIjudge
คำถามที่พบบ่อย
เปิดโจทย์แล้วรูปไม่ขึ้น?
รูปในโจทย์โหลดจากเซิร์ฟเวอร์ IJUDGE ต้องล็อกอินอยู่และเชื่อมเน็ตในเครือข่ายที่เข้า IJUDGE ได้
กด Run แล้วขึ้นว่าหาโปรแกรมไม่เจอ?
extension เรียกใช้ตัวรันของภาษานั้นในเครื่อง (เช่น python, g++) ต้องติดตั้งและอยู่ใน PATH ก่อน
ส่งแล้วรอผลนานไป?
ปรับ pgIjudge.pollTimeoutMs ได้ หรือกดดูผลในเว็บโดยตรงจากปุ่มที่แจ้งเตือน
คอร์สที่ลงทะเบียนไม่ขึ้น?
คอร์สสอบที่ยังไม่ถึงเวลาจะถูกซ่อนไว้และโผล่เองเมื่อเปิด เปิดดูทั้งหมดได้ที่ pgIjudge.showClosedCourses
ข้อควรทราบ
เครื่องมือนี้เชื่อมต่อกับ IJUDGE ในนามบัญชีของคุณเอง เพื่อความสะดวกในการทำโจทย์ หากรายวิชาใดมีข้อกำหนดเรื่องการส่งงานผ่านเครื่องมือภายนอก โปรดตรวจสอบกับผู้สอนก่อนใช้งาน