2

Если я использую 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?

1 ответ1

1

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

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

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


ОБНОВИТЬ

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .