
я виделэтот вопросчто не совсем одно и то же. У меня установлен Powershell Core 6. Обычно я открываю Powershell сочетанием клавиш Windows+ X, а затем I. Теперь я хочу, чтобы это сочетание клавиш открывало Powershell Core 6 вместо старого Powershell 5. Это возможно?
решение1
Или просто воспользуйтесь новым терминалом Windows и добавьте все, что пожелаете.
Windows Terminal (предварительная версия)
Windows Terminal — это новое, современное, быстрое, эффективное, мощное и производительное терминальное приложение для пользователей инструментов командной строки и оболочек, таких как Command Prompt, PowerShell и WSL. Его основные функции включают в себя несколько вкладок, поддержку символов Unicode и UTF-8, ускоренный GPU-движок рендеринга текста и пользовательские темы, стили и конфигурации.
Это проект с открытым исходным кодом, и мы приветствуем участие сообщества. Чтобы принять участие, посетитеhttps://github.com/microsoft/terminal
Обновление на основе комментариев, полученных на данный момент.
Вы не можете сделать то, что вам нужно, изначально. Вам нужно взломать реестр, чтобы изменить это.
Но зачем прилагать все эти усилия, если можно просто закрепить ярлык pwsh на первой позиции на панели задач, а затем просто нажать клавишу Win + 1 (или там, где вы его поместили на позицию 9) на панели задач.
Например, на моей панели задач в позициях 1,2,3,4,5,6 расположены Windows Terminal, pwsh, powershell, powershell_ISE, VSCode, PowerShellStudio.
Итак, нажатие Win+# запускает приложение. Не требуется взлома реестра и 2 нажатия клавиш вместо 3. Можно даже отказаться от pwsh, так как он включен в качестве опции в Windows Terminal, если у вас установлены Windows Terminal и pswh.
решение2
Используйте этот инструмент, который позволяет редактировать меню Win+X: https://winaero.com/download-winx-menu-editor-allows-you-to-add-or-remove-winx-menu-items
Здесь есть несколько групп. Добавьте его в любую группу, которая вам нравится, используя кнопку добавления программы. А затем нажмите «Перезапустить проводник» (ПРИМЕЧАНИЕ: это закроет все окна проводника!)
решение3
Другим вариантом предложения @vssher было бы использованиеConEmuилиТерминал Майкрософт.
Чтобы установить в качестве терминала по умолчанию:
- Терминал Microsoft: Настройки Windows→Конфиденциальность и безопасность→Для разработчиков→Терминал
- ConEmuНастройки:
+ Alt+ P→Интеграция→Срок по умолчанию:
- Использовать ConEmu в качестве терминала по умолчанию для консольных приложений
Главный выключатель - Регистрация при запуске ОС
Запускать автоматически при входе в систему через реестр - Агрессивный режим
Для подключения новых процессов не требуется работающий экземпляр ConEmu,explorer.exe
достаточно одного уже подключенного процесса [ ] - Список связанных исполняемых файлов или имен классов окон:
explorer.exe
ConEmu устанавливается как терминал по умолчанию черезкрючкив пределахОболочка Windows[explorer.exe
] и/или любая другая программа, разделенная|
[pipe]:
(Приложение «Параметры» Windows не имеет никакого отношения к установке ConEmu в качестве терминала ОС по умолчанию из-за хуков)explorer.exe|devenv.exe|totalcmd.exe|TaskManagerWindow|codeblocks.exe|lazarus.exe|gdb.exe
- Использовать ConEmu в качестве терминала по умолчанию для консольных приложений
Чтобы настроить горячую клавишу для запуска Pwsh.exe
в ConEmu:
- Настройки→Запускать→Задания:Предопределенные задачи (группа команд)
- +значок или используйте значок ConEmu по умолчанию [
Shells::PowerShell Core
]- Имя (показывает
Group <#>
):Powershell::Pwsh
- Горячая клавиша:Выберите то, что вам нравится
- Задача по умолчанию для новой консоли:Оболочка по умолчанию при каждом открытии ConEmu
- Списки переходов на панели задач:Добавляет эту задачу в список переходов на панели задач ConEmu.
- Оболочка по умолчанию (Win+X):
- Windows 10:Делает это значением по умолчанию в меню Win+X
- Windows 11:Не влияет на Win+ Xменю
- Хотя меню Win«+» Xможно было бы изменить вручную в Win <11, в 11 оно приводит к повреждению (если кто-то знает способ, не приводящий к повреждению, пожалуйста, напишите в комментариях, и я внесу изменения).
- Параметры задачи:Ничего не требуется, но можно настроить
- Команды:
pwsh.exe -NoExit -Command "Import-Module C:\Users\<username>\WindowsPowerShell\profile.ps1" -new_console:t:"Pwsh"
- Для запуска в качестве терминала администратора добавьте
a:
передt:
:-new_console:a:t:"Pwsh"
-Import-Module
необязательно, но позволяет настраивать подсказку вprofile.ps1
:# # =========================================================== ##::[[--- Powershell PS1 Profile ---]]::## # =========================================================== # Microsoft.PowerShell_profile.ps1 || Profile.ps1: # %UserProfile%\Documents\WindowsPowerShell # $env:UserProfile\Documents\WindowsPowerShell # ================================================================ # Variables #---------------------------------------------------------------- # ANSI: $ESC = [char]27 # Host.PrivateData: $PD = $($Host.PrivateData) # Colors: $Host.UI.RawUI.BackgroundColor = ($bckgrnd = 'Black') $Host.UI.RawUI.ForegroundColor = 'Gray' $PD.ErrorForegroundColor = 'Red' $PD.ErrorBackgroundColor = $bckgrnd $PD.WarningForegroundColor = 'Magenta' $PD.WarningBackgroundColor = $bckgrnd $PD.DebugForegroundColor = 'Yellow' $PD.DebugBackgroundColor = $bckgrnd $PD.VerboseForegroundColor = 'Green' $PD.VerboseBackgroundColor = $bckgrnd $PD.ProgressForegroundColor = 'Yellow' $PD.ProgressBackgroundColor = $bckgrnd #================================================================ # Functions #---------------------------------------------------------------- # Prompt: Function set-prompt { Param ( [Parameter(Position=0)] [ValidateSet("Default","Test")] $Action ) switch ($Action) { "Default" { Function global:prompt { if (test-path variable:/PSDebugContext) { '[DBG]: ' } write-host " " write-host ("$ESC[48;2;40;40;40m$ESC[38;2;170;210;0m$(Get-Location) $ESC[0m $ESC[0m") if ( $host.UI.RawUI.WindowTitle -match "Administrator" ) { $Host.UI.RawUI.ForegroundColor = 'Red' $(if ($nestedpromptlevel -ge 1) { write-host ('PS $$ ') -ForegroundColor Red -NoNewLine } else { write-host ('PS $ ') -ForegroundColor Red -NoNewLine }) } else { $(if ($nestedpromptlevel -ge 1) { write-host ('PS $$ ') -ForegroundColor Blue -NoNewLine } else { write-host ('PS $ ') -ForegroundColor Blue -NoNewLine }) } return " " } } } } set-prompt Default # Relaunch as Admin: function Relaunch-Admin { Start-Process -Verb RunAs wt } Set-Alias psa Relaunch-Admin
- Для запуска в качестве терминала администратора добавьте
- Имя (показывает
- Save settings
Чтобы импортироватьConEmu.xml
Конфигурация, которую я использую:
решение4
Это обходной путь, которым я сейчас пользуюсь.
Если вы используете PowerShell $PROFILE
, вы можете вставить строку pwsh.exe
в начало скрипта. Любые ярлыки Windows для запуска PowerShell будут эффективно подключаться кPowerShell6косвенно как дочерний процессPowerShell5.