Powershell在这里缩进 - 字符串

时间:2017-07-25 06:07:25

标签: powershell

有人知道是否可以打算here-string。其实我要写:

  $someString = @"
                First line
                second line
  "@

如果在更深的缩进级别定义here-string,这会变得非常难看,因为结尾"@必须是该行的第一个字符。此外,有人可能会“修复”缺失的缩进并破坏脚本......

是否可以定义here-string之类的:

  $someString = @"
                First line
                second line
                "@

Thx

2 个答案:

答案 0 :(得分:3)

结束"@必须位于该行的开头。

我同意你的观点,这可能会使脚本文件难以阅读,但这是规则,据我所知,没有办法解决它。

您可以找到用户语音条目here,如果您觉得这对您很重要,您应该投票支持。目前看来并不是优先考虑,只有3票,但投票越多,PowerShell团队的优先级越高。

答案 1 :(得分:0)

迟到的答案(技术上是“解决方法”),我知道,但这是目前“PowerShell here-string indentation”的第一个搜索结果。

<块引用>

如果在更深的缩进级别上定义 here-string,这将变得非常难看

我同意。对于我们这些关心生成代码的美感的人,我在 this TechNet question 上找到了以下解决方法。

它绝对不是一个here-string(特别是,因为你仍然必须转义嵌入的引号),但至少对于许多多行用例,它会服务相同的目的,并允许您保持与代码块其余部分相同的缩进级别:

$somestring = (
    "First line",
    "Second line"
) -join "`r`n"