Можно ли использовать многострочную функцию или сегмент потока управления в консоли редактора PowerShellFar

1518
Justin Dearing

Если я использую farmanager с FarNet и PowerShellFar, я могу вызвать консоль, выбрав F11 | .NET PowerShell | Консоль редактора . Эта консоль основана на дальнем редакторе. Я могу вставить фрагменты сценариев 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?

2
PowerShellFar 5.0.51 поддерживает многострочные команды в консолях редактора, см. Мой обновленный ответ. Roman Kuzmin 10 лет назад 0

1 ответ на вопрос

1
Roman Kuzmin

Это просто ограничение функции консоли редактора PSF. Консоль редактора в первую очередь предназначена для настоящих однострочных команд.

Многострочные команды в любом случае не подходят для консольного интерфейса: даже если вы можете ввести и выполнить такую ​​команду, вы не сможете легко вернуть ее для изменения и запуска.

Но вы все равно можете скопировать / вставить / вызвать фрагмент. Скопируйте, вставьте, затем выделите его текст в консоли редактора и выполните: F11 | PowerShellFar | Вызвать выбранный код . Это немного неловко, но это работает.


ОБНОВИТЬ

PowerShellFar 5.0.51 поддерживает многострочные команды в консолях редактора:

  • Как и в ISE, ShiftEnterпросто добавляет новую строку без вызова команды.
  • Enter в любой позиции последней командной области вызывается весь код области.
  • В результате можно вставить многострочный код и вызвать его Enter.