ไทย

ปลดล็อกศักยภาพของ VS Code ด้วยการเรียนรู้สร้างส่วนขยายของคุณเอง คู่มือนี้จะแนะนำทุกขั้นตอนตั้งแต่การตั้งค่าไปจนถึงการเผยแพร่ เพื่อให้คุณปรับปรุงสภาพแวดล้อมการเขียนโค้ดและแบ่งปันผลงานของคุณให้โลกได้รับรู้

เชี่ยวชาญการพัฒนาส่วนขยาย VS Code: คู่มือฉบับสมบูรณ์สำหรับนักพัฒนาทั่วโลก

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

ทำไมต้องพัฒนาส่วนขยาย VS Code?

การพัฒนาส่วนขยาย VS Code มอบประโยชน์มากมาย ทั้งสำหรับนักพัฒนาแต่ละคนและองค์กร:

ข้อกำหนดเบื้องต้น

ก่อนที่จะเริ่มพัฒนาส่วนขยาย ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งสิ่งต่อไปนี้แล้ว:

การตั้งค่าสภาพแวดล้อมการพัฒนาของคุณ

เมื่อมีข้อกำหนดเบื้องต้นครบแล้ว คุณก็พร้อมที่จะตั้งค่าสภาพแวดล้อมการพัฒนาของคุณ:

  1. สร้างโปรเจกต์ส่วนขยายใหม่: เปิดเทอร์มินัลของคุณและรันคำสั่งต่อไปนี้เพื่อเริ่มตัวสร้างส่วนขยาย:
  2. yo code
  3. ตอบคำถาม: ตัวสร้างจะถามคำถามหลายข้อเกี่ยวกับส่วนขยายของคุณ นี่คือรายละเอียดของคำถามทั่วไปและคำตอบที่แนะนำ:
    • คุณต้องการสร้างส่วนขยายประเภทใด? เลือก "New Extension (TypeScript)" สำหรับส่วนขยายที่ใช้ TypeScript ซึ่งเป็นแนวทางที่แนะนำ
    • ส่วนขยายของคุณชื่ออะไร? เลือกชื่อที่สื่อความหมายและไม่ซ้ำใครสำหรับส่วนขยายของคุณ ตัวอย่าง: "Code Spell Checker", "JavaScript Snippets", "Python Autocomplete"
    • ตัวระบุของส่วนขยายของคุณคืออะไร? นี่คือตัวระบุที่ไม่ซ้ำกันสำหรับส่วนขยายของคุณ โดยปกติจะอยู่ในรูปแบบ `publisher.extension-name` เลือกชื่อผู้เผยแพร่ (เช่น ชื่อผู้ใช้ GitHub หรือชื่อบริษัทของคุณ)
    • คำอธิบายของส่วนขยายของคุณคืออะไร? ให้คำอธิบายที่กระชับและให้ข้อมูลเกี่ยวกับสิ่งที่ส่วนขยายของคุณทำ
    • เริ่มต้น git repository หรือไม่? เลือก "Yes" เพื่อเริ่มต้น Git repository สำหรับการควบคุมเวอร์ชัน
    • คุณต้องการใช้ eslint เพื่อตรวจสอบโค้ดหรือไม่? เลือก "Yes" เพื่อบังคับใช้รูปแบบโค้ดที่สอดคล้องกัน
  4. เปิดโปรเจกต์ใน VS Code: เมื่อตัวสร้างทำงานเสร็จสิ้น ให้เปิดโฟลเดอร์โปรเจกต์ที่สร้างขึ้นใหม่ใน VS Code

ทำความเข้าใจโครงสร้างโปรเจกต์

ตัวสร้างส่วนขยายจะสร้างโครงสร้างโปรเจกต์พื้นฐานพร้อมไฟล์สำคัญดังต่อไปนี้:

การเขียนส่วนขยายแรกของคุณ

มาเริ่มด้วยการสร้างส่วนขยายง่ายๆ ที่แสดงข้อความ "Hello World" เมื่อมีการรันคำสั่ง:

  1. เปิด `src/extension.ts`: ไฟล์นี้มีฟังก์ชัน `activate` ซึ่งจะถูกเรียกเมื่อส่วนขยายของคุณถูกเปิดใช้งาน
  2. แก้ไขฟังก์ชัน `activate`: แทนที่โค้ดที่มีอยู่ด้วยโค้ดต่อไปนี้:
  3. import * as vscode from 'vscode';
    
    export function activate(context: vscode.ExtensionContext) {
    	console.log('Congratulations, your extension \"my-extension\" is now active!');
    
    	let disposable = vscode.commands.registerCommand('my-extension.helloWorld', () => {
    		vscode.window.showInformationMessage('Hello World from My Extension!');
    	});
    
    	context.subscriptions.push(disposable);
    }
    
    export function deactivate() {}
  4. คำอธิบาย:
    • `vscode.commands.registerCommand('my-extension.helloWorld', ...)`: ลงทะเบียนคำสั่งด้วย ID `my-extension.helloWorld` คำสั่งนี้จะพร้อมใช้งานใน command palette ของ VS Code
    • `vscode.window.showInformationMessage('Hello World from My Extension!')`: แสดงข้อความข้อมูลในหน้าต่าง VS Code
    • `context.subscriptions.push(disposable)`: เพิ่มคำสั่งไปยัง subscriptions ของส่วนขยาย เพื่อให้แน่ใจว่ามันจะถูกกำจัดอย่างถูกต้องเมื่อส่วนขยายถูกปิดใช้งาน
  5. แก้ไข `package.json`: เพิ่มข้อมูลต่อไปนี้ในส่วน `contributes` เพื่อกำหนดคำสั่ง:
  6. "contributes": {
    		"commands": [{
    			"command": "my-extension.helloWorld",
    			"title": "Hello World"
    		}]
    	}
  7. คำอธิบาย:
    • `"commands"`: กำหนดคำสั่งที่ส่วนขยายของคุณมีส่วนร่วม
    • `"command": "my-extension.helloWorld"`: ระบุ ID ของคำสั่งที่ตรงกับ ID ที่ใช้ใน `extension.ts`
    • `"title": "Hello World"`: ตั้งค่าชื่อที่แสดงสำหรับคำสั่งใน command palette

การทดสอบส่วนขยายของคุณ

ตอนนี้ถึงเวลาทดสอบส่วนขยายของคุณแล้ว:

  1. กด F5: การทำเช่นนี้จะเปิดหน้าต่าง VS Code ใหม่พร้อมกับส่วนขยายของคุณที่ติดตั้งอยู่ นี่คือ "Extension Development Host"
  2. เปิด Command Palette: กด `Ctrl+Shift+P` (หรือ `Cmd+Shift+P` บน macOS) เพื่อเปิด command palette
  3. พิมพ์ "Hello World": คุณควรเห็นคำสั่งของคุณปรากฏใน command palette
  4. เลือก "Hello World": การคลิกที่คำสั่งจะรันและแสดงข้อความ "Hello World" ในหน้าต่าง VS Code

การดีบักส่วนขยายของคุณ

การดีบักเป็นสิ่งสำคัญสำหรับการระบุและแก้ไขปัญหาในส่วนขยายของคุณ VS Code ให้การสนับสนุนการดีบักที่ยอดเยี่ยม:

  1. ตั้งค่า Breakpoints: คลิกที่ขอบด้านซ้ายของเอดิเตอร์ถัดจากหมายเลขบรรทัดเพื่อตั้งค่า breakpoints ในโค้ดของคุณ
  2. กด F5: การทำเช่นนี้จะเปิด Extension Development Host ในโหมดดีบัก
  3. เรียกใช้ส่วนขยายของคุณ: รันคำสั่งหรือการกระทำที่เรียกใช้โค้ดที่คุณต้องการดีบัก
  4. ตรวจสอบตัวแปรและ Call Stack: ดีบักเกอร์ของ VS Code จะหยุดการทำงานชั่วคราวที่ breakpoints ของคุณ ทำให้คุณสามารถตรวจสอบตัวแปร, ไล่โค้ดทีละขั้น, และตรวจสอบ call stack ได้

การทำงานกับ VS Code API

VS Code API มีอินเทอร์เฟซและฟังก์ชันมากมายสำหรับโต้ตอบกับเอดิเตอร์ นี่คือบางส่วนที่สำคัญของ API:

ตัวอย่าง: การสร้างส่วนขยาย Code Snippet

มาสร้างส่วนขยายที่เพิ่ม code snippet สำหรับการสร้าง React component พื้นฐานกัน:

  1. สร้างโฟลเดอร์ `snippets`: สร้างโฟลเดอร์ใหม่ชื่อ `snippets` ในรากของโปรเจกต์ของคุณ
  2. สร้างไฟล์ Snippet: สร้างไฟล์ชื่อ `react.json` ภายในโฟลเดอร์ `snippets`
  3. เพิ่มคำจำกัดความ Snippet: เพิ่ม JSON ต่อไปนี้ลงใน `react.json`:
  4. {
    	"React Component": {
    		"prefix": "reactcomp",
    		"body": [
    			"import React from 'react';",
    			"",
    			"interface Props {\n\t[key: string]: any;\n}",
    			"",
    			"const ${1:ComponentName}: React.FC = (props: Props) => {\n\treturn (\n\t\t
    \n\t\t\t${2:Content}\n\t\t
    \n\t);\n};", "", "export default ${1:ComponentName};" ], "description": "Creates a basic React component" } }
  5. คำอธิบาย:
    • `"React Component"`: ชื่อของ snippet
    • `"prefix": "reactcomp"`: คำนำหน้าที่เรียกใช้ snippet การพิมพ์ `reactcomp` แล้วกด `Tab` จะแทรก snippet เข้าไป
    • `"body"`: อาร์เรย์ของสตริงที่แทนบรรทัดของโค้ดใน snippet
    • `${1:ComponentName}`: tab stop ที่ช่วยให้คุณเปลี่ยนชื่อคอมโพเนนต์ได้อย่างรวดเร็ว
    • `"description"`: คำอธิบายของ snippet
  6. แก้ไข `package.json`: เพิ่มข้อมูลต่อไปนี้ในส่วน `contributes`:
  7. "contributes": {
    		"snippets": [{
    			"language": "javascriptreact",
    			"path": "./snippets/react.json"
    		}]
    	}
  8. คำอธิบาย:
    • `"snippets"`: กำหนด snippets ที่ส่วนขยายของคุณมีส่วนร่วม
    • `"language": "javascriptreact"`: ระบุภาษาที่ snippet นี้ใช้ได้
    • `"path": "./snippets/react.json"`: ระบุพาธไปยังไฟล์ snippet
  9. ทดสอบ Snippet ของคุณ: เปิดไฟล์ `.jsx` หรือ `.tsx` แล้วพิมพ์ `reactcomp` กด `Tab` เพื่อแทรก snippet

เทคนิคการพัฒนาส่วนขยายขั้นสูง

เมื่อคุณเชี่ยวชาญพื้นฐานแล้ว คุณสามารถสำรวจเทคนิคการพัฒนาส่วนขยายขั้นสูงเพิ่มเติมได้:

การทำให้เป็นสากลและการแปลเป็นภาษาท้องถิ่น (i18n และ L10n)

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

การเผยแพร่ส่วนขยายของคุณ

เมื่อส่วนขยายของคุณพร้อมแล้ว คุณสามารถเผยแพร่ไปยัง VS Code Marketplace เพื่อให้ผู้อื่นใช้งานได้:

  1. สร้างองค์กร Azure DevOps: คุณจะต้องมีองค์กร Azure DevOps เพื่อเผยแพร่ส่วนขยายของคุณ หากคุณยังไม่มี ให้สร้างบัญชีฟรีบนเว็บไซต์ Azure DevOps
  2. ติดตั้งเครื่องมือ `vsce`: VS Code Extension Manager (`vsce`) เป็นเครื่องมือบรรทัดคำสั่งสำหรับแพ็กเกจและเผยแพร่ส่วนขยาย ติดตั้งแบบ global โดยใช้ npm:
  3. npm install -g vsce
  4. สร้าง Publisher: publisher คือตัวตนที่เป็นเจ้าของส่วนขยายของคุณใน Marketplace สร้าง publisher โดยใช้คำสั่ง `vsce create-publisher` คุณจะต้องระบุชื่อ publisher และ personal access token (PAT) จาก Azure DevOps
  5. สร้าง Personal Access Token (PAT): ใน Azure DevOps ไปที่ "User Settings" -> "Personal Access Tokens" และสร้าง PAT ใหม่ที่มีขอบเขต "Marketplace (Publish)"
  6. แพ็กเกจส่วนขยายของคุณ: ใช้คำสั่ง `vsce package` เพื่อแพ็กเกจส่วนขยายของคุณเป็นไฟล์ `.vsix`
  7. เผยแพร่ส่วนขยายของคุณ: ใช้คำสั่ง `vsce publish` เพื่อเผยแพร่ส่วนขยายของคุณไปยัง Marketplace คุณจะต้องระบุชื่อ publisher และ PAT ของคุณ

แนวทางปฏิบัติที่ดีที่สุดสำหรับการพัฒนาส่วนขยาย

ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเหล่านี้เพื่อสร้างส่วนขยาย VS Code ที่มีคุณภาพสูงและบำรุงรักษาง่าย:

แหล่งข้อมูลในชุมชน

นี่คือแหล่งข้อมูลที่มีค่าบางส่วนสำหรับการเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาส่วนขยาย VS Code:

บทสรุป

การพัฒนาส่วนขยาย VS Code เป็นวิธีที่ทรงพลังในการปรับแต่งสภาพแวดล้อมการเขียนโค้ดของคุณ, เพิ่มผลิตภาพ, และแบ่งปันโซลูชันของคุณกับชุมชนนักพัฒนาทั่วโลก โดยการปฏิบัติตามคู่มือฉบับสมบูรณ์นี้ คุณจะสามารถเชี่ยวชาญศิลปะการพัฒนาส่วนขยายและสร้างเครื่องมือที่เป็นนวัตกรรมที่ช่วยยกระดับประสบการณ์ VS Code สำหรับตัวคุณเองและผู้อื่น อย่าลืมที่จะเปิดรับชุมชน, มีส่วนร่วมในโปรเจกต์โอเพนซอร์ส, และเรียนรู้และสำรวจโลกที่พัฒนาอยู่เสมอของการพัฒนาส่วนขยาย VS Code อย่างต่อเนื่อง ขอให้โชคดีและมีความสุขกับการเขียนโค้ด!