Как запустить Powershell ISE без открытого файла?

Когда я запускаю powershell_ise.exe по умолчанию используется открытый файл "Untitled.ps1". Есть ли механизм, чтобы попросить ISE запустить, показывая только приглашение?

То есть в тот момент, когда я запускаю Powershell ISE, я получаю следующее:

/images/3cb70c69550608a7cc095c3aae81099e75dae abb.png

тогда как я хочу следующее:

3 ответа

Очень старый вопрос на данный момент, но я просто отказался от @Windos, чтобы найти решение, которое работает для меня. Поскольку я использую ISE-стероиды, есть функция сохранения открытых файлов. Я не хотел закрывать все открытые файлы при запуске, только Untitled.

foreach($file in $psISE.CurrentPowerShellTab.Files) {
  if ($file.DisplayName -like "Untitled*.ps1"){
    $deleteMe = $file
  }
}
$psISE.CurrentPowerShellTab.Files.Remove($deleteMe)

Попытка удалить файл в цикле for приведет к ошибке перечисления. Если при запуске открываются несколько сценариев без названия, $deleteme может быть массивом, который добавляет несколько файлов со своим собственным foreach удалить их всех.

Сейчас это старый вопрос, но я пришел сюда в поисках ответа, так что решил дать результаты своих экспериментов.

E сть $psISE объект, который управляет настройками ISE, открытыми файлами и т. д. С этим можно многое сделать.

Была многообещающая функция:

$psISE.CurrentPowerShellTab.Files.Clear()

К сожалению, это просто закроет все открытые файлы (если они были сохранены), а затем откроет новый файл без названия.

Я закончил с этим:

$null = while ($psISE.CurrentPowerShellTab.Files -ne $null) {
    $file = $psISE.CurrentPowerShellTab.Files[0]
    $psISE.CurrentPowerShellTab.Files.Remove($file)
}

По сути, он продолжает проверять открытые файлы и закрывает их, пока не останется ни одного открытого. Если бы вы запустили это в интерактивном режиме, и у вас был открыт несохраненный документ, вы довольно быстро оказались бы залиты ошибкой, так как он не закрылся, а затем вернулся к попытке закрыть его снова.

Затем вы можете поместить это в свой профиль ISE (C: \ username \ WindowsPowerShell \ Microsoft.PowerShellISE_profile.ps1). Вот как выглядит мой профиль на данный момент:

$null = while ($psISE.CurrentPowerShellTab.Files -ne $null) {
    $file = $psISE.CurrentPowerShellTab.Files[0]
    $psISE.CurrentPowerShellTab.Files.Remove($file)
}

psEdit $PSScriptRoot\snips.ps1

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

нб это $null = там, чтобы подавить вывод, и это быстрее, чем обвязка Out-Null (что я считаю важным, когда вы ждете загрузки вашего редактора.)

Просто настройте свой View Настройки в меню.

  • Снимите флажок Показать панель сценариев
  • Снимите флажок Показать командную надстройку
  • Снимите флажок Показать панель инструментов
  • Снимите флажки с других параметров по желанию

https://i.st ack.imgur.com/Z7EXY.png

Другие вопросы по тегам