คุณแสดงความคิดเห็นรหัสใน PowerShell ได้อย่างไร


938

คุณแสดงความคิดเห็นรหัสในPowerShell (1.0 หรือ 2.0) ได้อย่างไร


24
หมายเหตุ '#' เป็นความคิดเห็นในหลายภาษาของเชลล์และสคริปต์: bash, python, php, ruby ​​และตอนนี้ Powerhell
yzorg

61
นี่คือว่าทำไมผมคิดว่า#ไม่ได้เป็นความคิดเห็นในภาษาสคริปต์ Windows หรือไมโครซอฟท์ตาม
René Nyffenegger

2
นั่นเป็นเพราะเห็นได้ชัดว่าไม่เหมือนเทคโนโลยีอื่น ๆ ทั้งหมดของพวกเขา MS ไม่ได้ให้การอ้างอิงที่ดี ฉันไม่พบที่ใดก็ได้
dudeNumber4

5
@ dudeNumber4 PowerShell มีการอ้างอิงภาษาใดภาษาหนึ่งที่ครอบคลุมที่สุด เพื่อที่จะเพิ่มสถานที่ให้กับภาษานั้นจะต้องมีhelpเอกสารที่ครอบคลุมพร้อมกับตัวอย่างวิธีการและรายชื่อสมาชิก ฯลฯ
TylerH

คำตอบ:


1250

ใน PowerShell V1 มีเพียง#การสร้างข้อความหลังจากความคิดเห็น

# This is a comment in Powershell

ใน PowerShell V2 <# #>สามารถใช้สำหรับความคิดเห็นบล็อกและอื่น ๆ โดยเฉพาะสำหรับความคิดเห็นความช่วยเหลือ

#REQUIRES -Version 2.0

<#
.SYNOPSIS
    A brief description of the function or script. This keyword can be used
    only once in each topic.
.DESCRIPTION
    A detailed description of the function or script. This keyword can be
    used only once in each topic.
.NOTES
    File Name      : xxxx.ps1
    Author         : J.P. Blanc (jean-paul_blanc@silogix-fr.com)
    Prerequisite   : PowerShell V2 over Vista and upper.
    Copyright 2011 - Jean Paul Blanc/Silogix
.LINK
    Script posted over:
    http://silogix.fr
.EXAMPLE
    Example 1
.EXAMPLE
    Example 2
#>
Function blabla
{}

สำหรับคำอธิบายเพิ่มเติมเกี่ยวกับ.SYNOPSISและ.*เห็นabout_Comment_Based_Help

หมายเหตุ: ความคิดเห็นฟังก์ชั่นเหล่านี้ถูกใช้โดยGet-HelpCmdLet และสามารถใส่ไว้ข้างหน้าคำหลักFunctionหรือภายใน{}โค้ดก่อนหรือหลังตัวเอง


45
ไม่ทราบเกี่ยวกับความคิดเห็นบล็อก <# #> ดี
Dennis G

3
คุณสามารถค้นหาไวยากรณ์สำหรับ PowerShell v3 ที่นี่: microsoft.com/en-us/download/details.aspx?id=36389 B.1.2 Commentsดูที่ส่วน
james.garriss

ฉันใช้ฟังก์ชัน Send-MailMessage โดยมี backticks ใส่ paremeter แต่ละอันบนบรรทัดใหม่และคอมเม้นต์หนึ่งในนั้น (-Bcc) และทำให้เกิดข้อผิดพลาดในบรรทัดถัดไป (-Body: คำว่า '-Body' คือ ไม่ได้รับการยอมรับว่าเป็นชื่อของ cmdlet ... ) ดังนั้นจึงดูเหมือนว่าไม่สามารถแสดงความคิดเห็นสายในช่วงกลางของการเรียกไปยังฟังก์ชั่น บางทีมันอาจเป็นความต่อเนื่องของสายบางทีอาจเป็นอย่างอื่นไม่ว่าฉันจะคาดหวังว่ามันจะทำงานอย่างไร
Davos

การแสดงความคิดเห็นเช่นนั้นจะเป็นแบบอินไลน์ คำสั่งของคุณจะถูกแยกวิเคราะห์เช่น Send-MailMessage -To bob@bob.com # นี่คือความคิดเห็น - หัวข้อ "Help Me!" ฯลฯ
CitizenRon

ฉันพบว่ามันน่าเชื่อถือมากขึ้นในการแสดงความคิดเห็นฟังก์ชั่นทันทีหลังจากการเปิด{( ภายในฟังก์ชั่น) โดยเฉพาะฉันมีปัญหาในการทำงานนอกด้วยฟังก์ชั่นโมดูลสคริปต์
jpmc26



36

ความคิดเห็นบรรทัดเดียวเริ่มต้นด้วยสัญลักษณ์แฮชทุกสิ่งทางด้านขวา#จะถูกละเว้น:

# Comment Here

ใน PowerShell 2.0 และสูงกว่าสามารถใช้ข้อคิดเห็นแบบบล็อกหลายบรรทัดได้:

<# 
  Multi 
  Line 
#> 

คุณสามารถใช้ความคิดเห็นบล็อกเพื่อฝังข้อความความคิดเห็นภายในคำสั่ง:

Get-Content -Path <# configuration file #> C:\config.ini

หมายเหตุ:เนื่องจาก PowerShell รองรับการสร้างแท็บเสร็จคุณจึงต้องระมัดระวังเกี่ยวกับการคัดลอกและวางSpace + TABก่อนความคิดเห็น


3
+1 สำหรับการแสดงความคิดเห็นการใช้บล็อกรูปแบบภายในบรรทัดเดียว ฉันมาที่นี่เพื่อหาวิธีแสดงความคิดเห็นชั่วคราวแต่ละองค์ประกอบของอาร์เรย์ทั้งหมดที่ประกาศในหนึ่งบรรทัด
Chris Oldwood

17

ที่นี่

# Single line comment in Powershell

<# 
--------------------------------------
Multi-line comment in PowerShell V2+ 
-------------------------------------- 
#>

11
สิ่งนี้จะเพิ่มคำตอบที่มีอยู่?
TZHX

5
เพียงทำให้มันง่ายและตรงไปตรงมา
Vic

1
ฉันคิดว่าคำตอบจำนวนมากลืมไปว่าภาษาอังกฤษไม่ใช่ภาษาแรกเสมอไป คำตอบนี้สมบูรณ์แบบรับตัวอย่างโดยตรงที่เรากำลังมองหา
Geoff Griswald

15

ภายใน PowerShell ISE คุณสามารถกดCtrl+ Jเพื่อเปิดเมนูเริ่ม Snipping และเลือกบล็อกความคิดเห็น :

ป้อนคำอธิบายรูปภาพที่นี่


สิ่งนี้จะแทรกความคิดเห็นบล็อกใหม่ มันไม่ได้ใส่เครื่องหมายบรรทัดที่มีอยู่
TylerH

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.