DOS-Box: Next Generation
Wer als Entwickler behauptet, er arbeitet unter Windows, der erntet von seinen Linux/MacOS Kollegen ein müdes lächeln. Die Ursache dafür scheint allein in der vernachlässigten Shell zu liegen. Bei den IDEs sah es bei Microsoft nie schlecht aus. Eher war die Windows Plattform hier Vorreiter, wenn man an Tools wie Visual Studio oder Eclipse in früheren Jahren denkt.
In einer Sache sind Linux und MacOS den Windows Besitzern immer noch
weit überlegen: Die Kommandozeile, Shell oder Terminal kann unter Linux / MacOS
einfach mehr. Zwar kann der Windows Besitzer cygwin installieren,
eine perfekte Integration ist das nicht (immer). Man denke nur
an die unterschiedlichen Pfade: ‘/’ statt ‘\’. Mit oder ohne /cygwin
Root.
Oder die Tools die doppelt installiert werden, z.B. git oder ssh.
Das hat mittlerweile auch Microsoft erkannt und rüstet
an dieser Front auf, um (mehr) Entwickler auf die Windows Plattform zu ziehen.
Eine der vielen Initiativen ist die Powershell. Ich bin kein Spezialist,
was Shell Skripte anbelangt, aber so richtig anfreunden konnte ich mich mit der
Powershell nie. Wenn ich Skripte unter Windows schreibe, dann
für die ‘bash’ Shell unter Verwendung von cygwin. Aber ich komme vom Thema ab.
Windows Terminal
Das neue Angebot an die Windows Entwickler heißt Windows-Terminal. Die Applikation befindet sich in der Betaphase. Funktioniert allerdings zuverlässig: Windows Terminal Preview.
oh-my-zsh
Die heißeste Killer-Shell unter Linux ist momentan oh-my-zsh
. Auch
unter cygwin verfügbar.
oh-my-zsh
bietet neben den visuellen Eindrücken interessante
Erweiterungen, die aus meiner Sicht, vor allem den Umgang mit GIT
betreffen.
oh-my-posh / posh-git
Inspiriert von der oh-my-zsh
Shell-Erweiterung, gibt es eine Variante
für die Powershell. oh-my-posh
bzw. posh-git.
oh-my-posh
wird zusammen mit posh-git
installiert. Bevor die Installation
gestartet werden kann, muss vermutlich eine Sicherheitseinstellung der Powershell
geändert werden. Dazu öffnet man als Administrator die Powershell und setzt den
folgenden Befehl ab:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Danach wechselt man wieder in die ‘normale’ Powershell (ohne Admin-Rechte) und kann die folgenden Befehle ausführen:
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
Im Anschluss wird das ‘Theme’ gesetzt:
Set-Theme Agnoster
Das ist mein Favorit. Weitere Themes finden sich auf der Projektseite von oh-my-posh/themes.
Damit oh-my-posh
bei jedem öffnen der Powershell gestartet wird, muss
die Konfiguration angepasst werden.
notepad $PROFILE
und dort die Zeilen
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Agnoster
eintragen. Und falls ihr in ein GIT Verzeichnis wechselt, wird euch auffallen, dass einige GIT-Repo Informationen farblich dargstellt werden. Falls ihr nicht den passenden Zeichensatz installiert und ausgewählt habt, werden einige Zeichen falsch dargestellt, so wie bei mir. Im Anschluss installiert man sich den passenden Zeichensatz, ergänzt um die sogenannten ‘Powerline’ Symbole.
Powerline Fonts
Auf GitHub findet sich ein Powerline
Repo. Das lokal auf die Platte
clonen:
git clone https://github.com/powerline/fonts.git
und im Anschluss
cd fonts
.\install.ps1
starten und warten, bis alle Zeichensätze installiert sind. Oder man pickt sich nur die geneigten Zeichensätze heraus und installiert diese.
Zeichensatz einstellen
In der Powershell mit rechts klick auf die Titelzeile, Eigenschaften auswählen und dann auf den Reiter ‘Schriftart’ wechseln. Dort z.B. den Zeichensatz
"Noto Mono For Powerline"
auswählen. Im Windows Terminal geht man ebenfalls in die Titelzeile und klickt auf das Symbol rechts von ‘+’. Dort ‘Settings’ auswählen und notepad öffnet sich. Dort den Abschnitt ‘fontFace’ aus dem Beispiel kopieren und an gleicher Stelle einfügen.
// 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":
[
{
// Make changes here to the powershell.exe profile
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false,
"fontFace": "Noto Mono For Powerline",
"fontSize": 12
},
{
// Make changes here to the cmd.exe profile
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "cmd",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
}
],
// 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": []
}
Fertig.

Links und Referenzen
- Oh-my-posh Themes
- Hyper.is
- ConEmu
- Windows Terminal aus dem Windows App Store Preview
- Moderne Kommandozeilen Werkzeuge
- fishshell.com
- Nerd-Fonts
- Scott Hanselman/Pretty Prompt
- Super Charging powershell
Keine Kommentare:
Kommentar veröffentlichen