Tags:
Node Thumbnail

ไมโครซอฟท์ออก Visual Studio Code 1.59 มีฟีเจอร์ที่น่าสนใจ (ยังเป็นฟีเจอร์ระดับพรีวิว) คือ automatic language detection ตรวจหาว่าโค้ดที่พิมพ์ลงไปเป็นโค้ดภาษาอะไร โดยใช้ machine learning เพื่อเซ็ตโหมดการทำงานให้ตรงกับภาษาโปรแกรมที่ใช้งาน

ปกติแล้ว IDE หรือ code editor ใช้วิธีดูนามสกุลไฟล์เพื่อดูว่าเป็นภาษาโปรแกรมใด แต่ในกรณีที่เป็นไฟล์ untitled (เช่น การนำโค้ดจากที่อื่นมาแปะในไฟล์ว่าง) จะมีความยากในการตรวจสอบกว่าเดิม

VS Code ใช้โมเดล ML ชื่อ Guesslang ของผู้ใช้ชื่อ @yoeo ที่เทรนด้วย Tensorflow.js มาวิเคราะห์ จากตัวอย่างของ VS Code ลองคัดลอกโค้ด Python จากในเว็บมาแปะ ก็พบว่าทำงานได้ถูกต้อง และ VS Code สามารถถามผู้ใช้ได้ว่าต้องการติดตั้งส่วนขยาย Python เพิ่มหรือไม่

หน้าจอตัวอย่าง language detection ทำงาน พบว่าเป็นโค้ด C#

No Description

ฟีเจอร์อื่นที่น่าสนใจของ VS Code 1.59

  • ปรับการแสดงผล Extension View ให้มีรายละเอียดของส่วนขยายมากขึ้น
  • Settings editor เพิ่มระบบ validation ตรวจสอบว่าใส่ค่าไม่ผิด
  • ย้ายมารองรับ Jupyter Notebooks ด้วยส่วนขยายตัวใหม่แบบ built-in แปลว่าดาวน์โหลด VS Code มาแล้วเปิดไฟล์ .ipynb ได้ทันที
  • รองรับการ drag and drop ตัวเทอร์มินัลข้ามไปมาระหว่างหน้าต่าง VS Code ได้
  • เทอร์มินัลแสดงผลฟอนต์ขีดเส้นใต้ (underline) และขีดฆ่า (strikethrough) แล้ว
  • รองรับภาษา TypeScript 4.4
  • ย้ายเวอร์ชัน Electron มาเป็นเวอร์ชัน 13

No Description

ที่มา - VS Code, InfoWorld

Get latest news from Blognone

Comments

By: deaknaew on 19 August 2021 - 10:32 #1220173

ถ้าใส่ แค่
{}
มันจะ detect เป็น JavaScript หรือ c# หรือ java หว่า

By: nununu
Windows Phone
on 19 August 2021 - 11:17 #1220182 Reply to:1220173

เบื้องหลัง ML อาจเป็นประมาณนี้ก็ได้ครับ 555
if ((./otherFile==javaScript)&&(lastFileSave==javaScript))
defaultLanguage = javaScript

By: mk
FounderAndroid
on 19 August 2021 - 11:37 #1220186 Reply to:1220173
mk's picture

ในต้นทางมีอธิบายเรื่อง no confidence อยู่ครับ ถ้าไม่มั่นใจก็ไม่ detect

By: langisser
In Love
on 19 August 2021 - 11:47 #1220187

เหมือนรู้ใจ ชอบๆ feature นี้

By: big50000
AndroidSUSEUbuntu
on 19 August 2021 - 19:33 #1220242
big50000's picture

ทำไม println() ไม่ใช้ PascalCase what

edit: อ๋อ มาจาก Java