TerminalNarzędzie NR.13 Microsoft słucha i wie, że wiele programistów chce lepszego terminala do systemu Windows. Jak np. korzystałem jak do tej pory z Cmder, który jak pisałem dawno temu był i być może nadal jest wierszem poleceń naszych marzeń.
Pomyśl ile rzeczy robimy dziś w wierszu poleceń. Git, AngularCLR, NPM, a nawet jak pamiętasz są polecenia dla środowiska .NET.
Wiersz poleceń będą zawsze potrzebne i można nawet powiedzieć, że bum na proste aplikację programistyczne z interfejsem się skończył jakieś 5 lat temu. Teraz klep polecenia w wierszu poleceń.
Microsoft wysłucha modlitwy i postanowił wypuścić nowy terminal. Zobaczmy jak możesz go przystosować do pracy.
Zainstaluj Windows Terminal
Najlepiej pobrać go ze sklepu Microsoft
https://www.microsoft.com/en-us/p/windows-terminal-preview
Będziesz zawsze mógł go zaktualizować. Kto wie może w przyszłości sklep Microsoftu przestanie istnieć i będziemy instalować programy w wierszu poleceń przy pomocy Chocolatey
A tak na serio, jeśli masz zainstalowane Chocolatey to możesz instalować aplikację na Windows w taki sposób:
choco install microsoft-windows-terminal --pre
Więcej info : https://chocolatey.org/packages/microsoft-windows-terminal
Pracujesz z Git o to, co musisz zainstalować
Chciałbyś aby praca z Gitem była przyjemna i miała ciekawe ikonki
Nie ma problemu musisz tylko zainstalować odpowiednie moduły do PowerShell-a.
Install-Module posh-git
Install-Module oh-my-posh
Te dwa moduły sprawią, że będziesz miał podpowiedzi do komend GIT oraz fajny pokaz statusów swojego projektu w folderze.
Aby te moduły działały poprawnie warto mieć wersje PowerShell 6.2.3 lub wyżej. Zawsze może zrobić aktualizację PowerShell tutaj https://github.com/PowerShell/PowerShell
W trakcie instalacji zostaniesz zapytany o to, czy na pewno chcesz te moduły zainstalować. Wybierasz opcję Tak.
Później uruchom "notepad $PROFILE" i dodaj te linijki kodu:
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox
Ostatnia linijka deklaruje styl PowerShell. Masz do wyboru wiele z innych jak np. Agnoster
https://github.com/agnoster/agnoster-zsh-theme
Fonty do Terminala
Microsoft także wypuścił lekki font "Cascadia Code" stworzony z myślą o programowaniu. Ewentualnie ma on zostać domyślnie dodany do Windows Terminal, ale na razie trzeba tego fonta ściągnąć i zainstalować.
https://github.com/microsoft/cascadia-code
Dlaczego chcesz korzystać z tej czcionki w terminale Windows Terminal?
O ile Cascadia Code nie ma wszystkich znaków specjalnych czy tam glyphs-ów to posiada wystarczający zakres symboli, aby ten tekst w terminale :
Zamienił się na taki:
Oczywiście nie musisz koniecznie korzystać z tej czcionki. Istnieje cała grupa fontów dla programistów jak fontów stworzonych z myślą o terminalach i fajnych symbolach
Znajdziesz je na stronie https://www.nerdfonts.com/
Radzę samemu poszukać i wybrać font, który najbardziej Ci pasuje
Ustawienie fonta
Jeżeli widzisz jakieś kwadraty to odpowiedź jest prosta. Sama instalacja fonta "Cascadia Code" to za mało. Trzeba go jeszcze ustawić.
W Windows Terminal klikasz na ikonkę ▼ 'daszka w dół' . Wybierasz opcję "Settings".
Teraz domyślny edytor dla plików .json otworzy ci plik z ustawieniami. Tam możesz zmienić czcionkę / font. Oto jak ja to zrobiłem.
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"profiles": {
"defaults": {
// Put settings here that you want to apply to all profiles
},
"list": [
{
// Make changes here to the powershell.exe profile
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false,
"fontFace": "Cascadia Code PL"
//"fontFace": "BitStreamVeraSansMono Nerd Font Mono"
//"fontFace": "BigBlue_TerminalPlus NF"
},
{
// Make changes here to the cmd.exe profile
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "cmd",
"commandline": "cmd.exe",
"hidden": false,
"fontFace": "Cascadia Code PL"
},
{
"guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
"hidden": false,
"name": "Ubuntu-18.04",
"source": "Windows.Terminal.Wsl",
"fontFace": "Cascadia Code PL"
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure",
"fontFace": "Cascadia Code PL"
},
{
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
"hidden": false,
"name": "PowerShell",
"source": "Windows.Terminal.PowershellCore",
"fontFace": "Cascadia Code PL"
}
]
},
// Add custom color schemes to this array
"schemes": [],
// Add any keybinding overrides to this array.
// To unbind a default keybinding, set the command to "unbound"
"keybindings": []
}
To wszystko?
Jeszcze dodałem sobie do pliku $Profile funkcje pomocnicze :
function U
{
param
(
[int] $Code
)
if ((0 -le $Code) -and ($Code -le 0xFFFF))
{
return [char] $Code
}
if ((0x10000 -le $Code) -and ($Code -le 0x10FFFF))
{
return [char]::ConvertFromUtf32($Code)
}
throw "Invalid character code $Code"
}
function ShowCharts
{
Write-Host "$(U 0xE0B0) $(U 0x00B1) $(U 0xE0A0) $(U 0x27A6) $(U 0x2718) $(U 0x26A1) $(U 0x2699)"
}
function GotoGit
{
Set-Location d:\github
}
function Theme1
{
Set-Theme Paradox
}
function Theme2
{
Set-Theme darkblood
}
Analogicznie możesz stworzyć swoje funkcję, które później uruchomisz w WindowsTerminal
Teraz twój Windows Terminal jest gotowy do pracy. Konsola PowerShell jest gotowa do pracy z Git