Как запустить 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
Настройки в меню.
- Снимите флажок Показать панель сценариев
- Снимите флажок Показать командную надстройку
- Снимите флажок Показать панель инструментов
- Снимите флажки с других параметров по желанию