การใช้โค้ด Visual Studio สำหรับการพัฒนา PowerShell
Visual Studio Code (VS Code) เป็นตัวแก้ไขสคริปต์ข้ามแพลตฟอร์มโดย Microsoft เมื่อใช้ร่วมกับส่วนขยาย PowerShell แล้วจะมอบประสบการณ์การแก้ไขสคริปต์แบบโต้ตอบที่สมบูรณ์ ทำให้เขียนสคริปต์ PowerShell ที่เชื่อถือได้ได้ง่ายขึ้น Visual Studio Code ที่มีส่วนขยาย PowerShell เป็นตัวแก้ไขที่แนะนำสำหรับการเขียนสคริปต์ PowerShell
รองรับ PowerShell เวอร์ชันต่อไปนี้:
- PowerShell 7.2 และสูงกว่า (Windows, macOS และ Linux)
- Windows PowerShell 5.1 (Windows เท่านั้น) พร้อม .NET Framework 4.8
บันทึก
รหัส Visual Studio ไม่เหมือนกับ Visual Studio
เริ่มต้นใช้งาน
ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่า PowerShell มีอยู่ในระบบของคุณ สำหรับปริมาณงานสมัยใหม่บน Windows, macOS และ Linux โปรดดูลิงก์ต่อไปนี้:
- การติดตั้ง PowerShell บน Linux
- การติดตั้ง PowerShell บน macOS
- การติดตั้ง PowerShell บน Windows
สำหรับปริมาณงาน Windows PowerShell แบบเดิม โปรดดูการติดตั้ง Windows PowerShell
มันเป็นสิ่งสำคัญ
Windows PowerShell ISE ยังคงพร้อมใช้งานสำหรับ Windows อย่างไรก็ตาม ไม่ได้อยู่ในการพัฒนาฟีเจอร์อีกต่อไป ISE ใช้งานได้กับ PowerShell 5.1 และเก่ากว่าเท่านั้น เนื่องจากเป็นส่วนประกอบของ Windows จึงยังคงได้รับการสนับสนุนอย่างเป็นทางการสำหรับการรักษาความปลอดภัยและการแก้ไขการบริการที่มีลำดับความสำคัญสูง เราไม่มีแผนที่จะลบ ISE ออกจาก Windows
ติดตั้ง VS Code และส่วนขยาย PowerShell
ติดตั้งรหัส Visual Studio สำหรับข้อมูลเพิ่มเติม ดูภาพรวมการตั้งค่ารหัส Visual Studio
มีคำแนะนำในการติดตั้งสำหรับแต่ละแพลตฟอร์ม:
- การรันโค้ด Visual Studio บน Windows
- การรันโค้ด Visual Studio บน macOS
- การรันโค้ด Visual Studio บน Linux
ติดตั้งส่วนขยาย PowerShell
- เปิดแอป VS Code โดยพิมพ์
codeในคอนโซลหรือcode-insidersหากคุณติดตั้ง Visual Studio Code Insiders
- เปิดแอป VS Code โดยพิมพ์
- เปิด Quick Open บน Windows หรือ Linux โดยกด Ctrl+P บน macOS ให้กด Cmd+P
- ใน Quick Open ให้พิมพ์
ext install powershellแล้วกด Enter - มุมมองส่วนขยายจะเปิดขึ้นบนแถบด้านข้าง เลือกส่วนขยาย PowerShell จาก Microsoft
- คลิกปุ่ม ติดตั้ง บนส่วนขยาย PowerShell จาก Microsoft
- หลังการติดตั้ง หากคุณเห็นปุ่ม ติดตั้ง เปลี่ยนเป็น โหลดซ้ำ ให้คลิกที่ โหลดซ้ำ
- หลังจากโหลด VS Code อีกครั้ง คุณก็พร้อมสำหรับการแก้ไข
ตัวอย่างเช่น หากต้องการสร้างไฟล์ใหม่ ให้คลิก ไฟล์ > ใหม่ หากต้องการบันทึก ให้คลิก ไฟล์ > บันทึก จากนั้นระบุชื่อไฟล์ เช่น HelloWorld.ps1 หากต้องการปิดไฟล์ ให้คลิก X ถัดจากชื่อไฟล์ หากต้องการออกจาก VS Code ให้ ไฟล์ > ออก
การติดตั้งส่วนขยาย PowerShell บนระบบที่ถูกจำกัด
บางระบบได้รับการตั้งค่าให้ต้องมีการตรวจสอบความถูกต้องของลายเซ็นรหัสทั้งหมด คุณอาจได้รับข้อผิดพลาดต่อไปนี้:
Language server startup failed.
ปัญหานี้อาจเกิดขึ้นเมื่อนโยบายการดำเนินการของ PowerShell ถูกตั้งค่าโดย Windows Group Policy หากต้องการอนุมัติ PowerShell Editor Services และส่วนขยาย PowerShell สำหรับ VS Code ด้วยตนเอง ให้เปิดพร้อมท์ PowerShell และเรียกใช้คำสั่งต่อไปนี้:
Import-Module $HOME\.vscode\extensions\ms-vscode.powershell*\modules\PowerShellEditorServices\PowerShellEditorServices.psd1
คุณได้รับแจ้งว่า คุณต้องการเรียกใช้ซอฟต์แวร์จากผู้เผยแพร่ที่ไม่น่าเชื่อถือรายนี้หรือไม่ พิมพ์ A เพื่อเรียกใช้ไฟล์ จากนั้น เปิด VS Code และตรวจสอบว่าส่วนขยาย PowerShell ทำงานอย่างถูกต้อง หากคุณยังคงประสบปัญหาในการเริ่มต้น โปรดแจ้งให้เราทราบในปัญหา GitHub
การเลือกเวอร์ชันของ PowerShell ที่จะใช้กับส่วนขยาย
ด้วยการติดตั้ง PowerShell แบบเคียงข้างกันกับ Windows PowerShell ตอนนี้คุณสามารถใช้ PowerShell เวอร์ชันเฉพาะกับส่วนขยาย PowerShell ได้แล้ว คุณลักษณะนี้จะพิจารณาเส้นทางบางส่วนที่รู้จักกันดีบนระบบปฏิบัติการที่แตกต่างกันเพื่อค้นหาการติดตั้ง PowerShell
ใช้ขั้นตอนต่อไปนี้เพื่อเลือกเวอร์ชัน:
- เปิด Command Palette บน Windows หรือ Linux ด้วย Ctrl+Shift+P บน macOS ให้ใช้ Cmd+Shift+P
- ค้นหา เซสชัน
- คลิกที่ PowerShell: แสดงเมนูเซสชัน
- เลือกเวอร์ชันของ PowerShell ที่คุณต้องการใช้จากรายการ
หากคุณติดตั้ง PowerShell ในตำแหน่งที่ไม่ปกติ PowerShell อาจไม่แสดงในเมนูเซสชันในตอนแรก คุณสามารถขยายเมนูเซสชันได้โดยการเพิ่มเส้นทางที่คุณกำหนดเองตามที่อธิบายไว้ด้านล่าง
เมนูเซสชัน PowerShell ยังสามารถเข้าถึงได้จากไอคอน {} ที่มุมขวาล่างของแถบสถานะ การวางเมาส์เหนือหรือเลือกไอคอนนี้จะแสดงทางลัดไปยังเมนูเซสชันและไอคอนหมุดเล็กๆ หากคุณเลือกไอคอนหมุด หมายเลขเวอร์ชันจะถูกเพิ่มลงในแถบสถานะ หมายเลขเวอร์ชันเป็นทางลัดไปยังเมนูเซสชันที่ต้องการการคลิกน้อยลง
บันทึก
การปักหมุดหมายเลขเวอร์ชันจะจำลองการทำงานของส่วนขยายในเวอร์ชันของ VS Code ก่อน 1.65 VS Code รุ่น 1.65 เปลี่ยน API ที่ส่วนขยาย PowerShell ใช้ และสร้างมาตรฐานให้กับแถบสถานะสำหรับส่วนขยายภาษา
การตั้งค่าคอนฟิกูเรชันสำหรับ Visual Studio Code
ขั้นแรก หากคุณไม่คุ้นเคยกับวิธีเปลี่ยนการตั้งค่าใน VS Code เราขอแนะนำให้อ่านเอกสารการตั้งค่าของ Visual Studio Code
หลังจากอ่านเอกสารประกอบแล้ว คุณสามารถเพิ่มการตั้งค่าใน settings.json
{
"editor.renderWhitespace": "all",
"editor.renderControlCharacters": true,
"files.trimTrailingWhitespace": true,
"files.encoding": "utf8bom",
"files.autoGuessEncoding": true
}
หากคุณไม่ต้องการให้การตั้งค่าเหล่านี้มีผลกับไฟล์ทุกประเภท VS Code ก็อนุญาตการกำหนดค่าตามภาษาด้วย สร้างการตั้งค่าเฉพาะภาษาโดยใส่การตั้งค่าลงในช่อง [< language-name>] ตัวอย่างเช่น:
{
"[powershell]": {
"files.encoding": "utf8bom",
"files.autoGuessEncoding": true
}
}
คำแนะนำที่เป็นประโยชน์
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเข้ารหัสไฟล์ใน VS Code โปรดดูการทำความเข้าใจการเข้ารหัสไฟล์ นอกจากนี้ โปรดดูวิธีจำลองประสบการณ์ ISE ใน VS Code เพื่อดูเคล็ดลับอื่นๆ เกี่ยวกับวิธีกำหนดค่า VS Code สำหรับการแก้ไข PowerShell
การเพิ่มเส้นทาง PowerShell ของคุณเองลงในเมนูเซสชัน
คุณสามารถเพิ่มเส้นทางปฏิบัติการ PowerShell อื่นๆ ลงในเมนูเซสชันผ่านการตั้งค่าโค้ด Visual Studio: powershell.powerShellAdditionalExePaths
คุณสามารถทำได้โดยใช้ GUI:
- จาก ชุดคำสั่ง ให้ค้นหาและเลือก เปิดการตั้งค่าผู้ใช้ หรือใช้แป้นพิมพ์ลัดบน Windows หรือ Linux Ctrl+, บน macOS ให้ใช้ Cmd+,
- ในตัวแก้ไข การตั้งค่า ให้ค้นหา เส้นทาง Exe เพิ่มเติมของ PowerShell
- คลิกเพิ่มรายการ
- สำหรับ คีย์ (ใต้ รายการ) ให้ระบุชื่อที่คุณเลือกสำหรับการติดตั้ง PowerShell เพิ่มเติมนี้
- สำหรับ ค่า (ใต้ ค่า) ให้ระบุเส้นทางที่แน่นอนไปยังตัวปฏิบัติการเอง
คุณสามารถเพิ่มเส้นทางเพิ่มเติมได้มากเท่าที่คุณต้องการ รายการที่เพิ่มจะแสดงในเมนูเซสชันโดยมีคีย์ที่กำหนดเป็นชื่อ
หรือคุณสามารถเพิ่มคู่คีย์-ค่าให้กับออบเจ็กต์ powershell.powerShellAdditionalExePaths ใน settings.json ของคุณ:
{
"powershell.powerShellAdditionalExePaths": {
"Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
"Built PowerShell": "C:/Users/username/src/PowerShell/src/powershell-win-core/bin/Debug/net6.0/win7-x64/publish/pwsh.exe"
},
}
บันทึก
ก่อนส่วนขยายเวอร์ชัน 2022.5.0 การตั้งค่านี้คือรายการออบเจ็กต์ที่มีคีย์ที่จำเป็น exePath และ versionName มีการเปลี่ยนแปลงครั้งใหญ่เพื่อรองรับการกำหนดค่าผ่าน GUI หากคุณได้กำหนดการตั้งค่านี้ไว้ก่อนหน้านี้ โปรดแปลงเป็นรูปแบบใหม่ ขณะนี้ค่าที่กำหนดสำหรับ versionName คือ คีย์ และค่าที่กำหนดสำหรับ exePath คือ ค่า คุณสามารถดำเนินการนี้ได้ง่ายขึ้นโดยการรีเซ็ตค่าและใช้อินเทอร์เฟซการตั้งค่า
หากต้องการตั้งค่าเวอร์ชัน PowerShell เริ่มต้น ให้ตั้งค่า powershell.powerShellDefaultVersion เป็นข้อความที่แสดงในเมนูเซสชัน (ข้อความที่ใช้สำหรับคีย์):
{
"powershell.powerShellAdditionalExePaths": {
"Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
},
"powershell.powerShellDefaultVersion": "Downloaded PowerShell",
}
หลังจากที่คุณกำหนดการตั้งค่านี้แล้ว ให้รีสตาร์ท VS Code หรือโหลดหน้าต่าง VS Code ปัจจุบันอีกครั้งจาก Command Palette ให้พิมพ์ Developer: Reload Window
หากคุณเปิดเมนูเซสชัน คุณจะเห็นการติดตั้ง PowerShell เพิ่มเติมของคุณ
คำแนะนำที่เป็นประโยชน์
หากคุณสร้าง PowerShell จากแหล่งที่มา นี่เป็นวิธีที่ดีในการทดสอบ PowerShell บิวด์ในเครื่องของคุณ
การดีบักด้วยโค้ด Visual Studio
ไม่มีการดีบักพื้นที่ทำงาน
ใน VS Code เวอร์ชัน 1.9 (หรือสูงกว่า) คุณสามารถดีบักสคริปต์ PowerShell ได้โดยไม่ต้องเปิดโฟลเดอร์ที่มีสคริปต์ PowerShell
- เปิดไฟล์สคริปต์ PowerShell ด้วย ไฟล์ > เปิดไฟล์...
- ตั้งค่าเบรกพอยต์ - เลือกเส้นแล้วกด F9
- กด F5 เพื่อเริ่มการแก้ไขข้อบกพร่อง
คุณควรเห็นบานหน้าต่างการดำเนินการแก้ไขข้อบกพร่องปรากฏขึ้นเพื่อให้คุณสามารถเจาะเข้าไปในโปรแกรมแก้ไขข้อบกพร่อง ขั้นตอน ดำเนินการต่อ และหยุดการแก้ไขจุดบกพร่อง
การดีบักพื้นที่ทำงาน
การแก้ไขข้อบกพร่องของพื้นที่ทำงานหมายถึงการแก้ไขข้อบกพร่องในบริบทของโฟลเดอร์ที่คุณเปิดจากเมนู ไฟล์ โดยใช้ เปิดโฟลเดอร์... โดยทั่วไปโฟลเดอร์ที่คุณเปิดจะเป็นโฟลเดอร์โปรเจ็กต์ PowerShell หรือรูทของที่เก็บ Git ของคุณ การแก้ไขข้อบกพร่องในพื้นที่ทำงานช่วยให้คุณกำหนดการกำหนดค่าการแก้ไขข้อบกพร่องหลายรายการได้ นอกเหนือจากการแก้ไขข้อบกพร่องไฟล์ที่เปิดอยู่ในปัจจุบัน
ทำตามขั้นตอนเหล่านี้เพื่อสร้างไฟล์การกำหนดค่าการดีบัก:
เปิดมุมมอง Debug บน Windows หรือ Linux โดยกด Ctrl+Shift+D บน macOS ให้กด Cmd+Shift+D
คลิกลิงก์สร้างไฟล์ launch.json
จากข้อความแจ้ง เลือกสภาพแวดล้อม ให้เลือก PowerShell
เลือกประเภทของการแก้ไขที่คุณต้องการใช้:
- เปิดไฟล์ปัจจุบัน - เปิดและแก้ไขข้อบกพร่องของไฟล์ในหน้าต่างตัวแก้ไขที่ใช้งานอยู่ในปัจจุบัน
- สคริปต์เรียกใช้ - เรียกใช้และแก้ไขข้อบกพร่องของไฟล์หรือคำสั่งที่ระบุ
- เซสชันแบบโต้ตอบ - คำสั่งดีบักที่ดำเนินการจาก Integrated Console
- แนบ - แนบดีบักเกอร์กับกระบวนการโฮสต์ PowerShell ที่ทำงานอยู่
VS Code สร้างไดเร็กทอรีและไฟล์ .vscode\launch.json ในรูทของโฟลเดอร์เวิร์กสเปซของคุณเพื่อจัดเก็บการกำหนดค่าการดีบัก หากไฟล์ของคุณอยู่ในพื้นที่เก็บข้อมูล Git โดยทั่วไปคุณจะต้องการส่งไฟล์ launch.json เนื้อหาของไฟล์ launch.json ได้แก่:
{
"version": "0.2.0",
"configurations": [
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Launch (current file)",
"script": "${file}",
"args": [],
"cwd": "${file}"
},
{
"type": "PowerShell",
"request": "attach",
"name": "PowerShell Attach to Host Process",
"processId": "${command.PickPSHostProcess}",
"runspaceId": 1
},
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Interactive Session",
"cwd": "${workspaceRoot}"
}
]
}
ไฟล์นี้แสดงถึงสถานการณ์การตรวจแก้จุดบกพร่องทั่วไป เมื่อคุณเปิดไฟล์นี้ในตัวแก้ไข คุณจะเห็นปุ่ม เพิ่มการกำหนดค่า... คุณสามารถคลิกปุ่มนี้เพื่อเพิ่มการกำหนดค่าการตรวจแก้จุดบกพร่องของ PowerShell เพิ่มเติม การกำหนดค่าที่มีประโยชน์ประการหนึ่งที่ควรเพิ่มคือ PowerShell: Launch Script ด้วยการกำหนดค่านี้ คุณสามารถระบุไฟล์ที่มีอาร์กิวเมนต์เผื่อเลือกที่ใช้เมื่อใดก็ตามที่คุณกด F5 ไม่ว่าไฟล์ใดจะทำงานอยู่ในโปรแกรมแก้ไขก็ตาม
หลังจากสร้างการกำหนดค่าการดีบักแล้ว คุณสามารถเลือกการกำหนดค่าที่คุณต้องการใช้ในระหว่างเซสชันการดีบักได้ เลือกการกำหนดค่าจากเมนูแบบเลื่อนลงการกำหนดค่าการแก้ไขข้อบกพร่องในแถบเครื่องมือของมุมมอง การแก้ไขข้อบกพร่อง
การแก้ไขปัญหาส่วนขยาย PowerShell
หากคุณประสบปัญหาใดๆ ในการใช้ VS Code สำหรับการพัฒนาสคริปต์ PowerShell โปรดดูคำแนะนำการแก้ไขปัญหาบน GitHub
แหล่งข้อมูลที่เป็นประโยชน์
มีวิดีโอและบล็อกโพสต์บางส่วนที่อาจเป็นประโยชน์ในการเริ่มต้นใช้งานส่วนขยาย PowerShell สำหรับ VS Code:
วิดีโอ
- การใช้โค้ด Visual Studio เป็นตัวแก้ไข PowerShell เริ่มต้นของคุณ
- Visual Studio Code: เจาะลึกการดีบักสคริปต์ PowerShell ของคุณ
โพสต์ในบล็อก
- ส่วนขยาย PowerShell
- เขียนและดีบักสคริปต์ PowerShell ใน Visual Studio Code
- การดีบักคำแนะนำโค้ด Visual Studio
- การดีบัก PowerShell ในโค้ด Visual Studio
- เริ่มต้นใช้งานการพัฒนา PowerShell ใน Visual Studio Code
- คุณสมบัติการแก้ไขโค้ด Visual Studio สำหรับการพัฒนา PowerShell - ตอนที่ 1
- คุณสมบัติการแก้ไขโค้ด Visual Studio สำหรับการพัฒนา PowerShell - ตอนที่ 2
- การดีบักสคริปต์ PowerShell ใน Visual Studio Code - ตอนที่ 1
- การดีบักสคริปต์ PowerShell ใน Visual Studio Code - ตอนที่ 2
ซอร์สโค้ดโครงการส่วนขยาย PowerShell
ซอร์สโค้ดของส่วนขยาย PowerShell สามารถพบได้บน GitHub
หากคุณสนใจที่จะมีส่วนร่วม Pull Requests จะได้รับการชื่นชมอย่างมาก ปฏิบัติตามเอกสารประกอบสำหรับนักพัฒนาบน GitHub เพื่อเริ่มต้น