เมื่อฉันเปิดใช้powershell_ise.exe
มันจะมีค่าเริ่มต้นเป็นไฟล์ "Untitled.ps1" ที่เปิดอยู่ มีกลไกที่จะถาม ISE เพื่อให้แสดงเฉพาะพรอมต์หรือไม่?
นั่นคือในตอนที่ฉันเปิดตัว Powershell ISE ฉันได้รับสิ่งต่อไปนี้:
ในขณะที่ฉันต้องการต่อไปนี้:
เมื่อฉันเปิดใช้powershell_ise.exe
มันจะมีค่าเริ่มต้นเป็นไฟล์ "Untitled.ps1" ที่เปิดอยู่ มีกลไกที่จะถาม ISE เพื่อให้แสดงเฉพาะพรอมต์หรือไม่?
นั่นคือในตอนที่ฉันเปิดตัว Powershell ISE ฉันได้รับสิ่งต่อไปนี้:
ในขณะที่ฉันต้องการต่อไปนี้:
คำตอบ:
คำถามเก่า ๆ ในตอนนี้ แต่ฉันเพิ่งได้รับการสนับสนุนจาก@Windosเพื่อหาทางออกที่เหมาะกับฉัน เนื่องจากฉันใช้ ISE-เตียรอยด์จึงมีคุณสมบัติในการคงไฟล์ที่เปิดอยู่ ฉันไม่ต้องการที่จะปิดไฟล์ที่เปิดทั้งหมดเมื่อเริ่มต้นเพียงแค่ไม่มีชื่อ
foreach($file in $psISE.CurrentPowerShellTab.Files) {
if ($file.DisplayName -like "Untitled*.ps1"){
$deleteMe = $file
}
}
$psISE.CurrentPowerShellTab.Files.Remove($deleteMe)
การพยายามลบไฟล์ขณะอยู่ใน for for loop จะทำให้เกิดข้อผิดพลาดในการแจงนับ หากสคริปต์ที่ไม่มีชื่อหลายรายการเปิดเมื่อเริ่มต้น$deleteme
อาจเป็นรายการอาร์เรย์ที่เพิ่มไฟล์หลายไฟล์ด้วยตัวเองforeach
เพื่อลบสคริปต์ทั้งหมด
นี่เป็นคำถามเก่าตอนนี้ แต่ฉันมาที่นี่เพื่อหาคำตอบฉันจึงคิดว่าฉันจะให้ผลลัพธ์การทดลองของฉัน
มี$psISE
วัตถุที่ควบคุมการตั้งค่า ISE ไฟล์ที่เปิดเป็นต้นมีหลายสิ่งที่คุณสามารถทำได้
มีฟังก์ชั่นการค้นหาที่มีแนวโน้ม:
$psISE.CurrentPowerShellTab.Files.Clear()
น่าเสียดายที่สิ่งนี้จะปิดไฟล์ที่เปิดอยู่ทั้งหมด (หากบันทึกไว้) จากนั้นเปิดไฟล์ใหม่ที่ไม่มีชื่อ
ฉันลงเอยด้วยสิ่งนี้:
$null = while ($psISE.CurrentPowerShellTab.Files -ne $null) {
$file = $psISE.CurrentPowerShellTab.Files[0]
$psISE.CurrentPowerShellTab.Files.Remove($file)
}
โดยพื้นฐานแล้วมันจะทำการตรวจสอบไฟล์ที่เปิดอยู่และจะปิดจนกว่าจะไม่มีไฟล์ใดเหลืออยู่เปิด หากคุณต้องเปิดใช้งานการโต้ตอบนี้และเปิดเอกสารที่ไม่ได้บันทึกคุณจะถูกน้ำท่วมด้วยข้อผิดพลาดอย่างรวดเร็วเนื่องจากไม่สามารถปิดได้จากนั้นจึงวนกลับเพื่อพยายามปิดอีกครั้ง
จากนั้นคุณสามารถวางสิ่งนี้ลงในโปรไฟล์ ISE ของคุณ (C: \ ชื่อผู้ใช้ \ WindowsPowerShell \ Microsoft.PowerShellISE_profile.ps1) นี่คือสิ่งที่โปรไฟล์ของฉันดูเหมือนในขณะนี้:
$null = while ($psISE.CurrentPowerShellTab.Files -ne $null) {
$file = $psISE.CurrentPowerShellTab.Files[0]
$psISE.CurrentPowerShellTab.Files.Remove($file)
}
psEdit $PSScriptRoot\snips.ps1
ตั้งแต่นี้จะทำงานเมื่อเปิดตัว ISE มันจะปิดไฟล์ไม่มีชื่อเริ่มต้นและเปิดไฟล์สุ่มที่มีตัวอย่างเล็ก ๆ น้อย ๆ ที่ฉันต้องการอ้างถึงแทน คุณสามารถละเว้นบรรทัดสุดท้ายนั้นหรือเปลี่ยนเป็นไฟล์ใดก็ได้ที่คุณต้องการเปิด
หมายเหตุที่$null =
อยู่ที่นั่นเพื่อระงับเอาต์พุตและเร็วกว่าการไพพ์ถึงOut-Null
(ซึ่งฉันคิดว่าสำคัญเมื่อคุณรอให้ตัวแก้ไขโหลด)
เพียงปรับView
การตั้งค่าของคุณในเมนู