
eu tenho vistoessa questãoo que não é exatamente a mesma coisa. Eu tenho o Powershell Core 6 instalado. Normalmente abro o Powershell com o atalho Windows+ Xe depois I. Agora eu gostaria que esse atalho abrisse o Powershell Core 6 em vez do antigo Powershell 5. Isso é possível?
Responder1
Ou apenas use o novo Terminal do Windows e adicione o que quiser.
Terminal do Windows (visualização)
O Terminal do Windows é um aplicativo de terminal novo, moderno, rápido, eficiente, poderoso e produtivo para usuários de ferramentas de linha de comando e shells como Prompt de Comando, PowerShell e WSL. Seus principais recursos incluem várias guias, suporte a caracteres Unicode e UTF-8, um mecanismo de renderização de texto acelerado por GPU e temas, estilos e configurações personalizados.
Este é um projeto de código aberto e aceitamos a participação da comunidade. Para participar acessehttps://github.com/microsoft/terminal
Atualização com base nos comentários até agora.
Você não pode fazer o que deseja nativamente. Você tem que hackear o registro para mudar isso.
No entanto, por que fazer todo esse esforço, quando você pode simplesmente fixar o atalho pwsh na primeira posição da barra de tarefas e, em seguida, pressionar a tecla Win + 1 (ou onde você o colocou na posição 9) na barra de tarefas.
Por exemplo, na minha barra de tarefas, tenho Windows Terminal, pwsh, powershell, powershell_ISE, VSCode, PowerShellStudio na posição 1,2,3,4,5,6.
Então, pressionando Win+#, inicia o aplicativo. Não é necessário hackear o registro e 2 pressionamentos de tecla versus 3. Pode-se até descartar o pwsh, pois ele está incluído como uma opção no Terminal do Windows se você tiver o Terminal do Windows e o pswh instalados.
Responder2
Use esta ferramenta que permite editar o menu Win+X: https://winaero.com/download-winx-menu-editor-permite-você-adicionar-ou-remover-winx-menu-items
Aqui, existem alguns grupos. Adicione-o a qualquer grupo de sua preferência usando o botão Adicionar um programa. E então, pressione Reiniciar Explorer (NOTA: Isso fechará todas as janelas do explorador de arquivos!)
Responder3
Outra opção à sugestão de @vssher seria usarConEmuouTerminal Microsoft.
Para definir como terminal padrão:
- Terminal da Microsoft: Configurações do Windows→privacidade e segurança→Para desenvolvedores→terminal
- ConEmuConfigurações:
+ Alt+ P→Integração→Prazo padrão:
- Forçar o ConEmu como terminal padrão para aplicativos de console
Interruptor principal - Registre-se na inicialização do sistema operacional
Iniciar automaticamente no logon via registro - Modo Agressivo
Uma instância do ConEmu em execução não é necessária para conectar novos processos, um processo já conectado [explorer.exe
] é suficiente - Lista de executáveis viciados ou nomes de classes de janelas:
explorer.exe
ConEmu é definido como terminal padrão viaganchosdentro doConcha do Windows[explorer.exe
] e/ou qualquer outro programa, delimitado por|
[pipe]:
(O aplicativo Configurações do Windows não tem influência sobre o ConEmu ser definido como o terminal padrão do sistema operacional devido a ganchos)explorer.exe|devenv.exe|totalcmd.exe|TaskManagerWindow|codeblocks.exe|lazarus.exe|gdb.exe
- Forçar o ConEmu como terminal padrão para aplicativos de console
Para configurar a tecla de atalho para iniciar Pwsh.exe
no ConEmu:
- Configurações→Comece→Tarefas:Tarefas predefinidas (grupo de comando)
- +ícone ou use o padrão do ConEmu [
Shells::PowerShell Core
]- Nome (mostra
Group <#>
):Powershell::Pwsh
- Tecla de atalho:Selecione o que você quiser
- Tarefa padrão para o novo console:Shell padrão sempre que você abre o ConEmu
- Listas de atalhos da barra de tarefas:Adiciona esta tarefa à lista de atalhos da barra de tarefas do ConEmu
- Concha padrão (Win+X):
- Janelas 10:Torna isso o padrão no menu Win+X
- Janelas 11:Não afeta Win+ Xmenu
- Embora o menu Win+ Xtambém possa ser modificado manualmente no Win <11, ele causa corrupção no 11 (se alguém souber de uma maneira que não resulte em corrupção, comente e eu modificarei isso)
- Parâmetros da tarefa:Nenhum é necessário, mas pode ser personalizado
- Comandos:
pwsh.exe -NoExit -Command "Import-Module C:\Users\<username>\WindowsPowerShell\profile.ps1" -new_console:t:"Pwsh"
- Para iniciar como um terminal de administração, adicione
a:
antest:
:-new_console:a:t:"Pwsh"
-Import-Module
é opcional, mas permite a personalização do prompt emprofile.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
- Para iniciar como um terminal de administração, adicione
- Nome (mostra
- Save settings
Para importar oConEmu.xml
configuração que eu uso:
Responder4
Esta é uma solução alternativa que estou usando atualmente.
Se você usar o PowerShell $PROFILE
, poderá inserir uma linha pwsh.exe
no início do script. Quaisquer atalhos do Windows para iniciar o PowerShell serão efetivamente conectadosPowerShell 6indiretamente como um processo filho dePowerShell5.