这很奇怪。
我知道tab是PowerShell ISE中的命令完成,所以很好。但是,它也会破坏编辑窗格。
这样做:
档案>新的(Untitled1.ps1
打开)
按Tab键(一切正常,你得到一个缩进)
输入enter,#
(评论),然后按Tab键
预期:哈希之后会有缩进
实际:一个得到哈希替换为$PSVersionTable
或者命令提示符在其历史记录中的任何内容! (标签和Shift-tab圈选那些)
这是否意味着没有人在PowerShell脚本中的注释中使用制表符,或者没有人在PowerShell脚本中使用注释?
我可以在任何地方关闭此行为吗?
此外,行为似乎不一致。如果我键入##
,有时标签不会完成(它也不会输入标签)。
其他人可以重现这个吗?
系统: Windows 8.1专业版 PowerShell ISE
答案 0 :(得分:5)
要回答主要问题,您可以输入 Alt + 09 (使用数字小键盘)输入<Tab>
。
对于所描述的行为,我将此视为预期的行为。您可以通过键入#
和上一个命令的一部分来获得历史记录完成,然后重复按 Tab 将在匹配历史记录中向后循环。单独键入#
将匹配从最后一个命令开始的所有历史记录。
Does this mean no-one uses tabs within comments in PowerShell scripts?
轶事,但我从未在单行评论中使用标签,但我经常在多行注释中使用标签,这些标注由<#
和#>
括起来。例如。
<#
Functions
Get-Foo
Get-Bar
Variables
$Foo
$Bar
#>
Function Get-Foo { ...
使用多行注释时,自动完成不会成为问题。
, or that no-one uses comments in PowerShell scripts?
我不知道为什么行为会暗示这一点;我总是使用一个空格来开始评论。
我在开发脚本时发现这很有用,因为我经常在命令窗格中尝试表达式,如果我不确定该行为,那么如果表达式有效,则将表达式添加到脚本中。
所以,我的工作流程是:
#<Tab>
,该行将添加到脚本中。