我可以使用多行函数或控制流段进入 PowerShellFar 编辑器控制台吗

我可以使用多行函数或控制流段进入 PowerShellFar 编辑器控制台吗

如果我使用 FarNet 和 PowerShellFar 运行 farmanager,我可以通过选择F11 | .NET PowerShell | 编辑器控制台。这个控制台基于 far 编辑器。我可以将 powershell 脚本的片段粘贴到这个控制台中并进行编辑。

唯一的问题是,如果我想在控制台中使用多行函数或控制流段。如果我将其粘贴进去,则不会产生任何效果。如果我尝试输入一个,则会收到类似以下的错误:

ERROR: IncompleteParseException:
Missing closing '}' in statement block.
At line:1 char:42
+ foreach ($number in 1..10 ) { $number * 7 <<<<
    + CategoryInfo          : ParserError: (CloseBraceToken:TokenId) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingEndCurlyBrace

这仅仅是 PowerShellFar 的一个限制吗?

答案1

这只是 PSF 编辑器控制台功能的一个限制。编辑器控制台首先是为真正的单行命令而设计的。

无论如何,多行命令不适合类似控制台的 UI:即使您可以输入并运行这样的命令,也无法轻松地将其带回来修改并再次运行。

但您仍然可以复制/粘贴/调用代码片段。复制、粘贴,然后在编辑器控制台中选择其文本并执行以下操作:F11 | PowerShellFar | 调用选定的代码。虽然有点别扭,但还是有效。


更新

PowerShellFar 5.0.51 支持编辑器控制台中的多行命令:

  • 与 ISE 类似,ShiftEnter只需添加新行而不调用命令。
  • Enter在最后一个命令区域的任意位置调用整个区域代码。
  • 因此,可以粘贴多行代码并通过 调用它Enter

相关内容