GitHub ประกาศเปิดบริการ GitHub Copilot Free ให้ผู้ใช้ทุกคนใช้งาน AI ช่วยเขียนโค้ดฟรีใน Visual Studio Code โดยมีข้อจำกัดดังนี้
บริการฟรีสามารถเลือกได้ทั้งโมเดล Claude 3.5 Sonnet หรือ GPT-4o โดยช่วงปีใหม่จะเพิ่มโมเดล GPT-4 o1 และ Gemini เข้ามาด้วย
วิธีใช้งานเพียงต้องล็อกอินบัญชี GitHub และเปิดฟีเจอร์นี้ ข้อมูลจากในเอกสารของ VS Code
Visual Studio Code เปิดตัวฟีเจอร์ Copilot Edits พิมพ์สั่งให้ปัญญาประดิษฐ์ของ GitHub Copilot ช่วยแก้โค้ดให้เห็นกันชัดๆ ใน editor เลย
ก่อนหน้านี้ VS Code รองรับฟีเจอร์ปัญญาประดิษฐ์ช่วยแก้โค้ดได้ 2 ทาง อย่างแรกคือการช่วยเติมโค้ด completion ในหน้าต่าง editor อย่างที่สองคือการแชทคุยถามตอบเรื่องโค้ดในแถบ chat sidebar
Copilot Edits เป็นวิธีการที่สาม ซึ่งผสมผสานจากสองวิธีแรก นั่นคือเราสามารถลากไฟล์ใส่ช่องแชท แล้วพิมพ์สั่งให้แก้โค้ดตามที่ต้องการ จากนั้นเราจะเห็นหน้าจอ editor นำเสนอว่าจะแก้โค้ดอย่างไรบ้าง ก่อนกด Accept/Discard เพื่อเลือกว่าจะรับการเปลี่ยนแปลงในโค้ดหรือไม่ (ดูวิดีโอประกอบได้จากต้นทาง)
Visual Studio Code ออกเวอร์ชัน 1.91 อัพเดตรอบเดือนมิถุนายน 2024 มีของใหม่ที่น่าสนใจดังนี้
Source Control view ปรับวิธีการแสดงผล visualization ว่าโค้ดมีการเปลี่ยนแปลงอย่างไร (incoming and outgoing changes) โดยแสดงเป็นเส้นกราฟให้เห็นชัดเจน ตอนนี้ยังมีสถานะเป็นพรีวิว
Eclipse Foundation ประกาศออก Theia IDE (อ่านว่า "ธีอา") เวอร์ชัน 1.50 ซึ่งนับเป็นรุ่นเสถียรรุ่นแรก ปลดป้าย Beta ออก และแนะนำให้คนทั่วไปใช้งาน
Eclipse Theia เป็นการนำซอร์สโค้ดของ Visual Studio Code มาพัฒนาต่อ โดยรองรับทั้งการรันบนเดสก์ท็อปและผ่านเบราว์เซอร์ ตัวโครงการเริ่มทำมาตั้งแต่ปี 2017 โดยแบ่งเป็น 2 ส่วนคือ Theia platform ที่เป็นแพลตฟอร์มสำหรับให้องค์กรอื่นๆ นำไปสร้าง IDE แบบคัสตอม (เช่น Red Hat CodeReady Workspaces และ Arm Mbed Studio) กับตัว Theia IDE ที่เป็น IDE มาตรฐานของ Eclipse Theia เอง (เดิมชื่อว่า Theia Blueprint)
Posit บริษัทผู้พัฒนา RStudio ซอฟต์แวร์ IDE สำหรับภาษา R ที่นิยมกันในวงการ ล่าสุดออกซอฟต์แวร์ IDE ตัวใหม่ที่พัฒนาจาก Visual Studio Code ชื่อว่า Positron
Positron นิยามตัวเองว่าเป็น IDE สำหรับวงการ data science รองรับการเขียนโปรแกรมหลายภาษา ออกแบบมาสำหรับกลุ่มผู้ใช้ VS Code หรือ Jupyterlab ที่ทำงาน data science ด้วยภาษา Python หรือ R แต่ยังไม่พอใจกับคุณสมบัติของซอฟต์แวร์ที่ใช้อยู่ อยากได้ฟีเจอร์ระดับสูงหรือความสามารถในการปรับแต่งที่มากขึ้น
ไมโครซอฟท์ค่อยๆ ผลักดัน .NET MAUI (อ่านว่า เมาอิ) ชุดเครื่องมือสร้าง UI ข้ามแพลตฟอร์มด้วย C# มาอย่างช้าๆ หลังจาก Visual Studio ตัวเต็มรองรับแล้วในปี 2022 ก็ต้องใช้เวลาอีก 2 ปีกว่าจะมาถึง VS Code
ระบบส่วนขยาย (Extension) ของ VS Code เขียนด้วย TypeScript/JavaScript แต่ช่วงหลังไมโครซอฟท์ก็เริ่มรองรับ WebAssembly (WASM) เพื่อให้รันไบนารีที่คอมไพล์จากภาษาอื่น เช่น C/C++ หรือ Rust ได้ด้วย ตัวอย่างการใช้งานคือ Visual Studio Code for Education ที่ฝังไบนารีของ Python interpreter (CPython ซึ่งเขียนด้วย C แล้วแปลงเป็น WASM) เพื่อให้ประมวลผลโค้ดภาษา Python บนเว็บได้
Visual Studio Code อัพเดตเวอร์ชัน 1.86 รอบเดือนมกราคม 2024 มีฟีเจอร์ใหม่ที่สำคัญคือการรองรับคำสั่งเสียง "Hey Code" เพื่อเรียก Copilot Chat มาช่วยงานเราได้
การประมวลผลเสียงจะเกิดขึ้นในเครื่องของเราเอง ไม่ถูกส่งออกไปยังเซิร์ฟเวอร์ภายนอก ส่วน GitHub Copilot Chat ก็มีความสามารถหลากหลาย ทั้งแปลภาษา ช่วยสรุปหรืออธิบายโค้ดในจุดนั้นๆ เป็นต้น
การใช้ฟีเจอร์นี้จำเป็นต้องติดตั้งส่วนขยาย GitHub Copilot Chat, VS Code Speech และตั้งค่าโหมด accessibility.voice.keywordActivation ให้ทำงานตามที่เราต้องการ มีทั้งการพูดคุยแบบ inline ในตัว editor เลย และเปิด Chat view ขึ้นมาแยกต่างหาก
GitHub ประกาศว่าบริการ Copilot Chat ตอนนี้เปิดให้ใช้งานสำหรับองค์กรและผู้ใช้งานทุกคนแล้ว หลังจากทดสอบในกลุ่มจำกัดสถานะเบต้าก่อนหน้านี้
GitHub Copilot Chat รองรับการใช้งานทั้งบน Visual Studio Code และ Visual Studio สำหรับผู้ใช้งานและองค์กรทุกแผนที่สมัคร ตลอดจนกลุ่มผู้ใช้งานด้านการศึกษา และโครงการโอเพนซอร์สที่ยืนยันตัวตน
Visual Studio Code ออกเวอร์ชัน 1.85 อัพเดตรอบเดือนพฤศจิกายน 2023 มีของใหม่ที่โปรแกรมเมอร์หลายๆ คนน่าจะอยากได้คือ floating editor windows หรือการลากแท็บ editor ออกมาเป็นหน้าต่างใหม่ต่างหาก
หน้าต่าง editor ที่แยกออกมาจะมีแต่ editor และแท็บเท่านั้น (ด้านขวาในภาพ) ไม่มีแถบเครื่องมือด้านซ้ายแบบเดียวกับหน้าต่างหลักของ VS Code (ด้านซ้ายในภาพ) แต่หน้าต่าง editor สามารถจัดเลย์เอาท์ภายในได้ตามต้องการ เช่น มี terminal หรือผลการค้นหาได้
ไมโครซอฟท์เปิดตัว Windows AI Studio เป็นส่วนขยายของ VS Code ช่วยให้การรันโมเดลในเครื่องพีซีทำได้สะดวกขึ้น
ยุคสมัยนี้เราอาจคุ้นกับคำว่า Large Language Model (LLM) แต่ไมโครซอฟท์บอกว่ายังมีโมเดลขนาดเล็ก Small Language Model (SLM) ที่ขนาดเล็กพอสำหรับรันในเครื่องพีซี ตัวอย่างที่เปิดตัวมาพร้อมกันคือโมเดล Phi ของไมโครซอฟท์เอง ที่แยกย่อยเป็น Phi-1.5 (1.3B) และ Phi-2 (2.7B) รวมถึงโมเดลยอดนิยมจากบริษัทอื่นๆ อย่าง Llama 2-7B, Llama 2-7B, Mistral-7B, Falcon-7B, Stable Diffusion XL
Oracle ออกส่วนขยาย Oracle Java Platform Extension ให้กับ Visual Studio Code ซึ่งถือเป็นส่วนขยายอย่างเป็นทางการของ Java ตัวแรกบน VS Code
Oracle บอกว่าแนวโน้มของวงการนักพัฒนาเปลี่ยนไป จากเดิมที่ใช้ IDE เฉพาะทางของภาษานั้นๆ เปลี่ยนมาใช้ IDE ที่รองรับทุกภาษาแบบ VS Code กันมากขึ้น ความคาดหวังของนักพัฒนาคือ VS Code ทำงานได้ดีกับทุกภาษาโปรแกรม จึงเห็นโอกาสตรงนี้ออกส่วนขยายมาซัพพอร์ตแพลตฟอร์ม Java ให้ดีขึ้นกว่าเดิม
ไมโครซอฟท์ปล่อย C# Dev Kit ส่วนขยายสำหรับ VSCode ใช้สำหรับการพัฒนาโครงการ C# เต็มรูปแบบ ทำให้ฟีเจอร์รวมใกล้เคียง Visual Studio มากขึ้น อย่างไรก็ดีส่วนขยายนี้ไม่ได้ฟรีทั้งหมด แต่มีการจำกัดรูปแบบการใช้งานแบบเดียวกับ Visual Studio
C# Dev Kit มี Solution Explorer ในตัวสามารถเปิดไฟล์ .csproj
ได้ และเมื่อแก้ไขไฟล์ C# ก็มีฟีเจอร์ IntelliCode มาให้ และสามารถจัดการชุดทดสอบซอฟต์แวร์ได้ในตัว
ไมโครซอฟท์ออกอัพเดตส่วนขยาย Python Extension for Visual Studio Code มีการเปลี่ยนแปลงสำคัญคือปลด Python 3.7 เข้าสถานะล้าสมัย (deprecated) แล้ว
Python 3.7 ที่ออกในปี 2018 เพิ่งหมดระยะซัพพอร์ตในเดือนมิถุนายน 2023 ทำให้ไมโครซอฟท์ปรับสถานะเป็น deprecated ตามไปด้วย ในการใช้งานจริงคงไม่มีอะไรเปลี่ยนแปลง โค้ดน่าจะยังทำงานได้ไปอีกนาน แต่ก็ไม่มีอะไรการันตีว่าจะไม่พังแล้ว
GitHub เปิดให้บริการ Copilot Chat แชทถามตอบคำถามโปรแกรมมิ่งจากในแอพ Visual Studio และ VS Code โดยตรง
GitHub Copilot เวอร์ชันแรกเปิดตัวในปี 2021 เป็นการใช้ AI ช่วยเติมโค้ดที่เขียน (code completion) แต่ไม่สามารถสนทนาได้ ภายหลัง GitHub ได้อัพเกรดระบบเป็น Copilot X ช่วงต้นปี 2023 เพิ่มความสามารถอีกหลายอย่าง หนึ่งในนั้นคือแชท
ไมโครซอฟท์เปิดตัว Python Editor ตัวแก้ไขโค้ดภาษา Python ในโปรแกรม Excel โดยมีรูปแบบเป็นส่วนเสริม (add-in) ของ Excel
Python Editor เป็นฟีเจอร์เสริมของ Python in Excel ที่เปิดตัวไปแล้ว โดยความสามารถของมันคือเป็น code editor เต็มรูปแบบ รันในแถบ sidebar ด้านข้าง มีพื้นที่แสดงโค้ดได้ยาวมากขึ้น ตัว editor ใช้เอนจินเดียวกับ VS Code และมีฟีเจอร์หลายอย่างยกมาด้วย เช่น IntelliSense, formatting, code completion, syntax highlighting
Python Editor ยังมีสถานะเป็นฟีเจอร์ทดลอง (experimental) ผ่านระบบ Excel Labs ที่ทดลองฟีเจอร์ใหม่ๆ ก่อนออกตัวจริง การใช้งานจำเป็นต้องเพิ่มส่วนเสริม Excel Labs ก่อนแล้วจึงค่อยเปิดฟีเจอร์ Python Editor ในภายหลัง
Visual Studio Code ออกเวอร์ชัน 1.82 อัพเดตรอบเดือนสิงหาคม 2023 มีฟีเจอร์น่าสนใจคือรองรับการทำ port forwarding ช่วยให้เราสามารถรัน VS Code ในเครื่องโลคัล แล้วแชร์ให้คนอื่นเข้ามาใช้งานแบบรีโมทจากอินเทอร์เน็ตได้
การทำ port forwarding จะตั้งค่าเป็น private โดยดีฟอลต์ ผู้เข้ามาใช้งานจำเป็นต้องล็อกอินบัญชี GitHub อันเดียวกับที่ตั้งค่า port forwarding เพื่อความปลอดภัย แต่สามารถเปลี่ยนค่าเป็น public เพื่อไม่ต้องล็อกอินได้เช่นกัน (รายละเอียด)
Microsoft ประกาศข่าวใหญ่สำหรับนักพัฒนา .NET ที่ใช้ Mac ว่าจะเลิกพัฒนา Visual Studio for Mac แล้ว โดยเวอร์ชันสุดท้ายคือ 17.6 ที่ปล่อยออกมาเมื่อเดือนมิถุนายนจะได้รับแพทช์ไปอีก 12 เดือน หรือวันที่ 31 สิงหาคม 2024 ซึ่ง Microsoft แนะนำให้นักพัฒนาย้ายไปใช้ส่วนขยาย C# Dev Kit บน VS Code แทน รวมถึงนักพัฒนา .NET MAUI และ Unity ก็มีส่วนขยายบน VS Code ให้ใช้เช่นกัน
หากนักพัฒนาที่ใช้ Mac ยังต้องการใช้ Visual Studio ก็สามารถรัน Windows VM บนเครื่องตัวเองเพื่อใช้ Visual Studio หรืออีกทางเลือกคือไปใช้ Microsoft Dev Box ซึ่งเป็น VM บนคลาวด์สำหรับการพัฒนาซอฟต์แวร์โดยเฉพาะ
ความนิยมของ VS Code ทำให้เกิดส่วนขยาย (extension) จำนวนมาก จนถึงขั้นฟอร์แมตส่วนขยายของ VS Code กลายเป็นมาตรฐานของวงการ และมี IDE ตัวอื่นนำไปใช้งาน โดยเฉพาะ IDE ที่ดัดแปลงต่อยอดมาจาก VS Code เช่น Code-OSS (VS Code เวอร์ชันไม่มีแบรนด์ไมโครซอฟท์), Eclipse Theia, Gitpod, Salesforce Code Builder, SAP Business Application Studio เป็นต้น
ช่วงกลางปี 2022 ไมโครซอฟท์เคยมีดราม่าหลังประกาศแนวทางส่วนขยาย C# ของ VS Code ว่าจะขยับไปใช้ชิ้นส่วนที่ไม่โอเพนซอร์ส ตอนนี้ส่วนขยายตัวใหม่ที่ว่าเปิดตัวแล้วในชื่อ C# Dev Kit
เดิมที ชุมชนผู้ใช้ VS Code สร้างส่วนขยายสำหรับภาษา C# ในชื่อโครงการ OmniSharp ซึ่งไมโครซอฟท์นำไปใช้งานต่อเป็น C# Extension
Visual Studio Code เวอร์ชัน 1.78 รอบเดือนเมษายน 2023 มีของใหม่หลายอย่าง ที่สำคัญคือธีมใหม่ Dark Modern และ Light Modern ที่มาแทนธีมดีฟอลต์ของเดิม Dark+ และ Light+
GitHub ออกส่วนขยาย GitHub Actions ให้กับ VS Code (เชื่อมจักรวาลไมโครซอฟท์ด้วยกันเอง) ช่วยให้นักพัฒนาสามารถจัดการเวิร์คโฟลว์ต่างๆ ได้จากตัว IDE โดยตรง
GitHub Actions เป็นบริการเวิร์คโฟลว์สำหรับสั่งงานอัตโนมัติตามเงื่อนไขที่กำหนด เปิดตัวครั้งแรกในปี 2018 และอาศัยฐานนักพัฒนาจำนวนมากของ GitHub ขยายมาสู่บริการ CI/CD ได้อย่างรวดเร็ว ตัวอย่างการใช้งานที่พบบ่อยคือแก้โค้ด สั่ง push ขึ้น Git แล้วสั่งให้รัน unit/integration test ทุกครั้ง
ไมโครซอฟท์ออก Visual Studio Code เวอร์ชัน 1.75 อัพเดตรอบเดือนมกราคม 2023 ของใหม่ที่สำคัญคือระบบ Profile เพื่อให้นักพัฒนาเซฟการตั้งค่า ส่วนขยาย ของตัว IDE ฯลฯ และสลับไปมาระหว่างโปรไฟล์ได้ (เช่น ตั้งเป็น Work, Demo)
Profile ยังสามารถ import/export ไปใช้ในเครื่องอื่นๆ ได้ รวมถึงการช่วยเพื่อนร่วมงานสร้าง Profile ที่เหมาะสมกับงานโปรเจคนั้น แล้วแชร์ให้กันได้
ฟีเจอร์ใหม่อย่างอื่นของ VS Code 1.75 คือ การบังคับส่วนขยายใน VS Marketplace ต้อง sign เป็นดีฟอลต์เพื่อความปลอดภัย, ปรับปรุงการใช้งานร่วมกับ screen reader, ลากมุมเพื่อปรับขนาด multiple views ได้พร้อมกัน, รองรับ TypeScript 5.0, ธีมใหม่ Dark+ V2 และ Light+ V2 เป็นต้น
โลกของ Visual Studio Code มี Language Server ใช้รองรับภาษาโปรแกรมต่างๆ ให้ทำงานร่วมกับ IDE ได้ดีขึ้น ซึ่งภายหลัง Language Server Protocol เริ่มได้รับการยอมรับในวงการ มี IDE ตัวอื่นนำไปใช้งานบ้าง เช่น Eclipse Che
ไมโครซอฟท์ออกอัพเดต Visual Studio Code เวอร์ชัน 1.69 ซึ่งได้ปรับปรุงโปรแกรมไปหลายรายการและยังมาพร้อมฟีเจอร์ใหม่อย่าง Command Center และ 3-way merge editor ที่เริ่มเปิดให้ทดลองใช้งานในเวอร์ชันนี้
ฟีเจอร์ที่เปิดให้ทดลองอย่างแรกคือ UI ชุดใหม่ที่มีชื่อเรียกว่า Command Center เป็นแถบเมนูสำหรับใช้ค้นหาไฟล์ภายในโปรเจ็กต์หรือใช้พิมพ์คำสั่งต่างๆ ของ VS Code แบบเดียวกันกับ Command Palette เดิมที่ผู้ใช้ VS Code น่าจะคุ้นเคยกับการเรียกใช้งานผ่านคีย์ลัด Ctrl+Shift+P
สิ่งที่ Command Center แตกต่างไปคือการเปลี่ยนไปแสดงผล UI อยู่ในบริเวณ title bar ตลอดเวลาทำให้เข้าถึงด้วยเมาส์ได้สะดวกกว่า