ค้นหาเว็บไซต์

การใช้โค้ด 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

  1. ติดตั้งรหัส Visual Studio สำหรับข้อมูลเพิ่มเติม ดูภาพรวมการตั้งค่ารหัส Visual Studio

    มีคำแนะนำในการติดตั้งสำหรับแต่ละแพลตฟอร์ม:

    • การรันโค้ด Visual Studio บน Windows
    • การรันโค้ด Visual Studio บน macOS
    • การรันโค้ด Visual Studio บน Linux
  2. ติดตั้งส่วนขยาย PowerShell

    1. เปิดแอป VS Code โดยพิมพ์ code ในคอนโซลหรือ code-insiders หากคุณติดตั้ง Visual Studio Code Insiders
    2. เปิด Quick Open บน Windows หรือ Linux โดยกด Ctrl+P บน macOS ให้กด Cmd+P
    3. ใน Quick Open ให้พิมพ์ ext install powershell แล้วกด Enter
    4. มุมมองส่วนขยายจะเปิดขึ้นบนแถบด้านข้าง เลือกส่วนขยาย PowerShell จาก Microsoft
    5. คลิกปุ่ม ติดตั้ง บนส่วนขยาย PowerShell จาก Microsoft
    6. หลังการติดตั้ง หากคุณเห็นปุ่ม ติดตั้ง เปลี่ยนเป็น โหลดซ้ำ ให้คลิกที่ โหลดซ้ำ
    7. หลังจากโหลด 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

ใช้ขั้นตอนต่อไปนี้เพื่อเลือกเวอร์ชัน:

  1. เปิด Command Palette บน Windows หรือ Linux ด้วย Ctrl+Shift+P บน macOS ให้ใช้ Cmd+Shift+P
  2. ค้นหา เซสชัน
  3. คลิกที่ PowerShell: แสดงเมนูเซสชัน
  4. เลือกเวอร์ชันของ 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:

  1. จาก ชุดคำสั่ง ให้ค้นหาและเลือก เปิดการตั้งค่าผู้ใช้ หรือใช้แป้นพิมพ์ลัดบน Windows หรือ Linux Ctrl+, บน macOS ให้ใช้ Cmd+,
  2. ในตัวแก้ไข การตั้งค่า ให้ค้นหา เส้นทาง Exe เพิ่มเติมของ PowerShell
  3. คลิกเพิ่มรายการ
  4. สำหรับ คีย์ (ใต้ รายการ) ให้ระบุชื่อที่คุณเลือกสำหรับการติดตั้ง PowerShell เพิ่มเติมนี้
  5. สำหรับ ค่า (ใต้ ค่า) ให้ระบุเส้นทางที่แน่นอนไปยังตัวปฏิบัติการเอง

คุณสามารถเพิ่มเส้นทางเพิ่มเติมได้มากเท่าที่คุณต้องการ รายการที่เพิ่มจะแสดงในเมนูเซสชันโดยมีคีย์ที่กำหนดเป็นชื่อ

หรือคุณสามารถเพิ่มคู่คีย์-ค่าให้กับออบเจ็กต์ 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

  1. เปิดไฟล์สคริปต์ PowerShell ด้วย ไฟล์ > เปิดไฟล์...
  2. ตั้งค่าเบรกพอยต์ - เลือกเส้นแล้วกด F9
  3. กด F5 เพื่อเริ่มการแก้ไขข้อบกพร่อง

คุณควรเห็นบานหน้าต่างการดำเนินการแก้ไขข้อบกพร่องปรากฏขึ้นเพื่อให้คุณสามารถเจาะเข้าไปในโปรแกรมแก้ไขข้อบกพร่อง ขั้นตอน ดำเนินการต่อ และหยุดการแก้ไขจุดบกพร่อง

การดีบักพื้นที่ทำงาน

การแก้ไขข้อบกพร่องของพื้นที่ทำงานหมายถึงการแก้ไขข้อบกพร่องในบริบทของโฟลเดอร์ที่คุณเปิดจากเมนู ไฟล์ โดยใช้ เปิดโฟลเดอร์... โดยทั่วไปโฟลเดอร์ที่คุณเปิดจะเป็นโฟลเดอร์โปรเจ็กต์ PowerShell หรือรูทของที่เก็บ Git ของคุณ การแก้ไขข้อบกพร่องในพื้นที่ทำงานช่วยให้คุณกำหนดการกำหนดค่าการแก้ไขข้อบกพร่องหลายรายการได้ นอกเหนือจากการแก้ไขข้อบกพร่องไฟล์ที่เปิดอยู่ในปัจจุบัน

ทำตามขั้นตอนเหล่านี้เพื่อสร้างไฟล์การกำหนดค่าการดีบัก:

  1. เปิดมุมมอง Debug บน Windows หรือ Linux โดยกด Ctrl+Shift+D บน macOS ให้กด Cmd+Shift+D

  2. คลิกลิงก์สร้างไฟล์ launch.json

  3. จากข้อความแจ้ง เลือกสภาพแวดล้อม ให้เลือก PowerShell

  4. เลือกประเภทของการแก้ไขที่คุณต้องการใช้:

    • เปิดไฟล์ปัจจุบัน - เปิดและแก้ไขข้อบกพร่องของไฟล์ในหน้าต่างตัวแก้ไขที่ใช้งานอยู่ในปัจจุบัน
    • สคริปต์เรียกใช้ - เรียกใช้และแก้ไขข้อบกพร่องของไฟล์หรือคำสั่งที่ระบุ
    • เซสชันแบบโต้ตอบ - คำสั่งดีบักที่ดำเนินการจาก 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 เพื่อเริ่มต้น

บทความที่เกี่ยวข้อง