Deprecated: Use https://github.com/otonii/meu-terminal, esse carinha aqui não será mais atualizado.
Antes de atualizar o PowerShellGet, você sempre deve instalar o provedor do NuGet mais recente. Em uma sessão do PowerShell com privilégios elevados, execute os comandos a seguir.
Install-PackageProvider -Name NuGet -Force
Exit
Para instalar o PowerShellGet no Windows 10, no Windows Server 2016, em qualquer sistema com o WMF 5.0 ou 5.1 instalado ou em qualquer sistema com o PowerShell 6, execute os comandos a seguir em uma sessão do PowerShell com privilégios elevados.
Install-Module -Name PowerShellGet -Force
Exit
Use o Update-Module
para obter versões mais recentes.
Update-Module -Name PowerShellGet
Exit
Eu precisei liberar a execução para ele poder carregar os arquivos de configurações q alguns comando que usaremos a seguir.
# Liberar para todos os usuários
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
# ou liberar para o usuário atual
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Instale posh-git e oh-my-posh:
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -RequiredVersion 2.0.496 -Force -Scope CurrentUser
Ative o Prompt
# Iniciando configurações iniciais
Set-Prompt
# Alterando o tema
Set-Theme Agnoster
Caso esteja executando no PS Core, instale também a nova versão do PSReadLine
Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck
Para habilitar o engine, edite seu perfil do PowerShell
# Cria o arquivo
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
# Abre o arquivo para alterações
notepad $PROFILE
# ou você pode alterar direto no code
code $PROFILE
Adicione essas linhas ao seu arquivo de configurações
# Importando módulos
Import-Module posh-git
Import-Module oh-my-posh
Import-Module PSReadLine
# Definindo o tema
Set-Theme Agnoster
# Autocomplete - Teclas de atalho
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
# Intellisense - Funcionamento
Set-PSReadLineOption -ShowToolTips
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -HistoryNoDuplicates
# Configurando cores do prompt
Set-PSReadLineOption -Colors @{
# The color of the continuation prompt.
ContinuationPrompt = [ConsoleColor]::White
# The emphasis color. For example, the matching text when searching history.
Emphasis = [ConsoleColor]::Cyan
# The error color. For example, in the prompt.
Error = [ConsoleColor]::Red
# The color to highlight the menu selection or selected text.
Selection = [ConsoleColor]::White
# The default token color.
Default = [ConsoleColor]::White
# The comment token color.
Comment = [ConsoleColor]::DarkGreen
# The keyword token color.
Keyword = [ConsoleColor]::Green
# The string token color.
String = [ConsoleColor]::Yellow
# The operator token color.
Operator = [ConsoleColor]::DarkGray
# The variable token color.
Variable = [ConsoleColor]::Red
# The command token color.
Command = [ConsoleColor]::Green
# The parameter token color.
Parameter = [ConsoleColor]::Cyan
# The type token color.
Type = [ConsoleColor]::White
# The number token color.
Number = [ConsoleColor]::DarkYellow
# The member name token color.
Member = [ConsoleColor]::White
# The intellisense color.
InlinePrediction = [ConsoleColor]::DarkGray
}
Esse é o tema que eu utilizo, alterei um dos temas padrões do oh-my-posh.
Para ativar o tema, basta copiar o arquivo otonii.pms1
na pasta indicada em $ThemeSettings.MyThemesLocation
(a pasta padrão é a ~\Documents\WindowsPowerShell\PoshThemes
)
Depois basta atualizar no seu arquivo de configurações.
Set-Theme otonii
Tem duas formas de fazer a remoção, uma é adicionar o comando Clear-Host
no inicio do arquivo de configurações.
# Limpando Console
Clear-Host
# Importando módulos
...
A segunda forma é adicionar a flag -nologo
na invocação do PowerShell.
// Arquivo de configuração do windows-terminal (https://github.com/microsoft/terminal)
{
// ...
"profiles": {
"defaults": {
"useAcrylic": true,
"acrylicOpacity": 0.7,
"cursorShape": "filledBox",
"colorScheme": "Dracula",
"fontFace": "Fira Code",
"startingDirectory": ".",
"fontSize": 14,
"padding": "8, 8, 8, 8"
},
"list": [
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe -nologo", // flag -nologo aqui
"hidden": false
}
// ...
]
},
// ...
"schemes": [
{
"name": "Dracula",
"background": "#272935",
"black": "#21222C",
"blue": "#BD93F9",
"cyan": "#8BE9FD",
"foreground": "#F8F8F2",
"green": "#50FA7B",
"purple": "#FF79C6",
"red": "#FF5555",
"white": "#F8F8F2",
"yellow": "#FFB86C",
"brightBlack": "#6272A4",
"brightBlue": "#D6ACFF",
"brightCyan": "#A4FFFF",
"brightGreen": "#69FF94",
"brightPurple": "#FF92DF",
"brightRed": "#FF6E6E",
"brightWhite": "#F8F8F2",
"brightYellow": "#FFFFA5"
}
]
}
Copie o arquivo powerls.psm1
para pasta Scripts no diretório do arquivo profile com o seguinte conteúdo. E adicione o código abaixo no arquivo de configurações. Preferencialmente no final do arquivo
$ROOT = Split-Path -Parent $MyInvocation.MyCommand.Path
# Sobrescrevendo a função ls
Import-Module $ROOT\Scripts\powerls.psm1
Set-Alias -Name ls -Value PowerLS -Option AllScope
show de bola cara!! ficou lindao