- WSL2 ermöglicht es Ihnen, ein komplettes Linux-System innerhalb von Windows zu nutzen und es mit Zsh zu kombinieren, um ein leistungsstarkes und modernes Terminal zu erstellen.
- Windows Terminal, Nerd Fonts und Oh My Zsh verbessern das visuelle und funktionale Erlebnis durch benutzerdefinierte Designs, Symbole, Plugins und Aliase.
- Bootstrap-Skripte, Dotfiles und Dev-Container erleichtern die Automatisierung und Versionierung der Entwicklungsumgebung für ein gesamtes Entwicklerteam.
- Die Integration mit VS Code und Tools wie NVM, Conda, BAT, LSD oder FZF schafft einen soliden und reproduzierbaren Workflow.
Wenn Sie unter Windows mit Node.js oder Python entwickeln und die Vorteile von Linux nutzen möchten, ohne auf Ihre Spiele, Ihre gewohnten Tools oder Ihren Workflow verzichten zu müssen, sind WSL2 und Zsh wahrscheinlich genau die Kombination, nach der Sie gesucht haben. Eine vollwertige Linux-Distribution mit einem leistungsstarken Terminal und vollständiger Automatisierung macht die Einrichtung einer Entwicklungsumgebung zum Kinderspiel und erspart Ihnen stundenlanges Abtippen von Befehlen.
In dieser Anleitung erfahren Sie detailliert, wie Sie eine WSL2-Umgebung mit Zsh und Oh My Zsh vollständig automatisieren , sie in Windows Terminal und Visual Studio Code integrieren und das Ganze in Skripte und Konfigurationsdateien verpacken, sodass Sie (oder Ihr Teammitglied) die gleiche Einrichtung innerhalb weniger Minuten wiederherstellen können. So verbringen Sie weniger Zeit mit der Konfiguration und mehr Zeit mit dem eigentlichen Programmieren.
Was ist WSL2 und warum lohnt es sich, es mit Zsh zu verwenden?
WSL (Windows-Subsystem für Linux) ermöglicht es, Linux innerhalb von Windows ohne umständliche virtuelle Maschinen oder Dual-Boot auszuführen. Mit WSL2 geht Microsoft noch einen Schritt weiter: Es führt einen vollständigen Linux-Kernel mithilfe von Hyper-V aus , mit sehr geringem Ressourcenverbrauch und einer Leistung, die einer nativen Installation sehr nahe kommt.
Dank dieser Möglichkeit können Sie Distributionen wie Ubuntu, Debian, Kali oder Alpine direkt aus dem Microsoft Store oder mithilfe von PowerShell-Befehlen installieren und ein Linux-Dateisystem, apt-Pakete, Entwicklungswerkzeuge und natürlich fortgeschrittene Shells wie Zsh mit Oh My Zsh und seinen Plugins nutzen.
Lange Zeit war die Programmierung unter Windows unattraktiv : Ohne Bash, mit einem umständlichen Dateisystem und wenigen nativen Entwicklerwerkzeugen migrierten die meisten zu Linux oder macOS. Mit WSL2 ändert sich dies grundlegend: Man bleibt unter Windows, arbeitet aber wie unter einer Linux-Distribution und kann nahezu den gesamten Konfigurationsprozess automatisieren.
Der Reiz der Kombination von WSL2 mit Zsh liegt darin, dass Zsh ein Terminal-Erlebnis bietet, das dem klassischen Bash weit überlegen ist : erweiterte Autovervollständigung, Vorschläge, Themes, Git-Integration, NVM-Plugins, Aliase, Syntaxhervorhebung und vieles mehr, was man, wenn man es einmal ausprobiert hat, nur schwer wieder missen möchte.

WSL2 unter Windows 10 oder 11 installieren und vorbereiten
Bevor wir uns mit der Feinabstimmung der Automatisierung befassen, benötigen Sie WSL2 aktiviert und eine Linux-Distribution installiert . Der Vorgang ist heutzutage deutlich einfacher als in früheren Versionen, und fast alles lässt sich mit einem einzigen Befehl erledigen.
In neueren Windows 10-Versionen (Version 2004 oder höher) oder Windows 11 öffnen Sie PowerShell einfach als Administrator (suchen Sie im Startmenü danach, klicken Sie mit der rechten Maustaste und wählen Sie „Als Administrator ausführen“) und starten Sie es:
wsl --install
Dieser Befehl aktiviert die erforderlichen optionalen Funktionen , lädt den Linux-Kernel herunter , legt WSL2 als Standardversion fest und installiert Ubuntu als Standarddistribution . Nach Abschluss des Vorgangs werden Sie vom System aufgefordert, Ihren Computer neu zu starten, um die Änderungen zu übernehmen.
Falls Sie eine andere Distribution bevorzugen, können Sie diese im Befehl selbst angeben, beispielsweise um Debian zu installieren:
wsl --install -d Debian
Sie können den Status der installierten Distributionen und deren Versionen jederzeit mit folgendem Befehl überprüfen:
wsl -l -v
Und wenn Sie die Distribution wechseln oder eine nicht mehr verwendete Distribution entfernen möchten, haben Sie verschiedene Möglichkeiten, z. B. die verfügbaren Distributionen online aufzulisten oder eine bestimmte Installation zu deinstallieren:
wsl -l -o
wsl --unregister Ubuntu-20.04
Beim ersten Start Ihrer Distribution erscheint ein textbasierter Assistent, der Sie dazu auffordert… Erstellen Sie einen UNIX-Benutzer und dessen Passwort.Das wird Ihr Hauptbenutzer innerhalb von WSL sein, mit seinem typischen HOME-Verzeichnis. /home/tuusuarioEs ist wichtig, dass Sie Ihren Benutzernamen und Ihr Passwort notieren, da Sie diese für administrative Aufgaben benötigen. sudo.
Windows Terminal für die Verwendung mit WSL2 konfigurieren
Sobald WSL2 eingerichtet und betriebsbereit ist, liegt der nächste logische Schritt darin, Ihre Befehlszeilenerfahrung in Windows mithilfe des Windows Terminals zu verbessern . Diese Anwendung unterstützt Registerkarten, Bedienfelder, Designs, Transparenzen, distributionsspezifische Profile, Symbolschriftarten und vieles mehr.
Installieren Sie Windows Terminal aus dem Microsoft Store . Nach dem Öffnen wird standardmäßig ein PowerShell- oder CMD-Profil angezeigt. Über den Dropdown-Pfeil können Sie Ihre WSL-Distribution (Ubuntu, Debian usw.) auswählen und in einem neuen Tab öffnen.
Für Ubuntu oder die jeweilige Distribution, die Sie in WSL verwenden, wird standardmäßig immer geöffnet.Sie können die Einstellungen bearbeiten. Windows Terminal speichert seine Einstellungen in einer JSON-Datei, die über das Einstellungsmenü zugänglich ist. Suchen Sie das Feld "defaultProfile" und legen Sie die Ubuntu-Profil-GUID (Sie werden es in der Liste sehen) profiles) als Wert.
Darüber hinaus können Sie Passen Sie Farbthemen an und fügen Sie Acrylglas-Transparenz hinzu. um ihm einen moderneren Touch zu verleihen. Zum Beispiel im Teil von "defaults" Für die Profile können Sie beispielsweise Folgendes definieren:
"defaults": {
"useAcrylic": true,
"acrylicOpacity": 0.4
}
Wenn Sie die Farben noch weiter verfeinern möchten, können Sie Folgendes hinzufügen: benutzerdefiniertes Schema en la sección "schemes" Aus dem JSON werden Hintergrundfarben, Vordergrundfarben und die grundlegende Terminalpalette definiert. Ein typisches Beispiel wäre ein Solarized-Theme, dem Sie dann mithilfe der entsprechenden Eigenschaft ein WSL-Profil zuordnen können. "colorScheme" : "wsl" im entsprechenden Profil.

Installation und Automatisierung von Zsh + Oh My Zsh in WSL2
Nachdem die Grundlage für WSL und das Windows Terminal geschaffen ist, wird es Zeit, die Shell deutlich aufzurüsten. Zsh ist eine wesentlich leistungsfähigere Alternative zu Bash und wird in Kombination mit Oh My Zsh zu einem wahren Alleskönner für die Arbeit mit Git, Node.js, Python und praktisch allem anderen im Terminal.
Beginnen Sie auf Ihrer WSL-Distribution (z. B. Ubuntu) mit der Aktualisierung der Paketquellen und der Installation der minimal erforderlichen Pakete :
sudo apt update
sudo apt install git zsh -y
Installieren Sie anschließend Oh My Zsh mithilfe des offiziellen Skripts. Nutzen Sie dazu curl, um den Installer herunterzuladen und ihn direkt auszuführen:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Während der Installation werden Sie gefragt, ob Sie Zsh als Standard-Shell festlegen möchten ; bestätigen Sie dies. Falls Sie dies jemals manuell tun müssen, können Sie Folgendes verwenden:
chsh -s /bin/zsh
Nach Abschluss des Vorgangs wird im Home-Verzeichnis eine Konfigurationsdatei mit dem Namen „“ generiert. ~/.zshrcwo alles gesteuert wird: Plugins, Theme, Aliase, Umgebung, Routen…
Ein sehr beliebtes Thema für Oh My Zsh ist Agnoster, konzentriert sich auf die übersichtliche Darstellung von Git-Informationen. Um dies zu aktivieren, bearbeiten Sie die Datei ~/.zshrc mit Ihrem bevorzugten Editor (zum Beispiel vi ~/.zshrc o nano ~/.zshrc) und stellen Sie sicher, dass die Betreffzeile wie folgt aussieht:
ZSH_THEME="agnoster"
Es wird außerdem empfohlen, sowohl in Bash als auch in Zsh, Erzwinge den Start der Shell in deinem Linux-Home-Verzeichnis. (nicht im Windows-Benutzerordner), da WSL im nativen Dateisystem der Distribution deutlich besser funktioniert. Fügen Sie einfach Folgendes am Ende hinzu: ~/.zshrc eine einfache Zeile:
cd ~
Nerd Fonts und Powerline: Symbole und Ästhetik im Terminal
Damit die Zsh- und Oh My Zsh-Themes wie gewünscht aussehen, benötigen Sie eine Schriftart, die spezielle Symbole und Icons unterstützt (sogenannte Nerd- oder Powerline-Schriftarten). Andernfalls werden in den erweiterten Eingabeaufforderungen seltsame Quadrate oder fehlerhafte Zeichen angezeigt.
Sie haben zwei gängige Möglichkeiten: Installieren Sie ein klassisches Powerline-Schriftpaket oder entscheiden Sie sich für eine spezielle Nerd-Schriftart wie MesloLGS NF oder Hack Nerd Font . Eine schnelle Methode besteht darin, das Powerline-Schriftarten-Repository über PowerShell in Windows zu klonen. Navigieren Sie dazu zunächst zu einem leeren Ordner.
git clone https://github.com/powerline/fonts.git
cd fonts
.\install.ps1
Das Installationsskript fügt dem System automatisch eine Reihe von Schriftarten hinzu. Wählen Sie anschließend in den Windows Terminal-Einstellungen eine der installierten Schriftarten für das WSL-Profil aus, zum Beispiel:
"fontFace": "DejaVu Sans Mono for Powerline"
Wenn Sie etwas noch Moderneres bevorzugen, können Sie eine bestimmte Nerd-Schriftart (z. B. MesloLGS NF Regular.ttf ) von der Nerd Fonts-Website herunterladen, sie unter Windows durch Doppelklicken und Auswahl von „Installieren“ installieren und sie dann im Windows Terminal-Profil als Schriftart auswählen.
Bei Verwendung erweiterter Themes wie Powerlevel10k wird die Nutzung von Nerd Fonts dringend empfohlen. Um dieses Theme zu installieren, gehen Sie in Ihrem WSL-Benutzerkonto wie folgt vor:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >> ~/.zshrc
Nach dem Neuladen von Zsh (zsh oder schließen und öffnen Sie das Terminal), wird ein geführter Assistent gestartet (p10k configure) um die Eingabeaufforderung nach Ihren Wünschen anzupassen, und eine Datei zu generieren ~/.p10k.zsh mit allen Einstellungen.

Nützliche Plugins für Zsh: Sofortige Produktivität
Einer der größten Vorteile von Oh My Zsh ist die einfache Integration von Plugins zur Optimierung Ihres Workflows. Einige der am häufigsten verwendeten Plugins in WSL2-Entwicklungsumgebungen sind unten aufgeführt.
Das Git- Plugin ist standardmäßig aktiviert und zeigt direkt in der Eingabeaufforderung an , in welchem Branch Sie sich befinden, ob Änderungen ausstehen, ob nicht gespeicherte Änderungen vorhanden sind usw. Es eignet sich perfekt, um den Status Ihres Repositorys beim Durchsuchen im Blick zu behalten.
Ein weiterer Klassiker ist zsh-autosuggestions , das Befehle basierend auf Ihrem Verlauf grau vorschlägt. Sie können den Vorschlag mit einem Tastendruck bestätigen und vermeiden so das wiederholte Eintippen derselben langen Tastenkombinationen . Installation:
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
Ebenfalls sehr empfehlenswert ist zsh-syntax-highlighting , das die Befehle je nach Rechtschreibung, Existenz der angegebenen Dateien usw. farblich hervorhebt und Ihnen so hilft, Syntaxfehler vor dem Drücken der Eingabetaste zu erkennen :
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting
Aktivieren Sie diese Plugins und fügen Sie Folgendes am Ende Ihrer Datei hinzu. ~/.zshrc so etwas wie:
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
Ein weiteres sehr praktisches Extra ist das Oh My Zsh sudo-Plugin , mit dem Sie beispielsweise durch Drücken einer Tastenkombination schnell „sudo“ vor den zuletzt ausgeführten Befehl einfügen können. Sie können es hier herunterladen:
mkdir -p ~/.zsh/sudo-plugin && cd ~/.zsh/sudo-plugin
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/sudo/sudo.plugin.zsh
Und aktivieren Sie es, indem Sie es zu Ihrem hinzufügen ~/.zshrc:
source ~/.zsh/sudo-plugin/sudo.plugin.zsh
Erweiterte Kommandozeilen-Tools (BAT, LSD, FZF, HTTPie)
Da du das Terminal anpasst, lohnt es sich, einige zu installieren. Moderne Alternativen zu klassischen Versorgungsunternehmen als cat o lssowie Suchwerkzeuge und benutzerfreundliche HTTP-Clients.
BAT Es handelt sich um eine „Pro“-Version von catTraumer Syntaxhervorhebung, Nummerierung, Git-Integration…Ideal zum direkten Lesen von Code-Dateien im Terminal. Sie können es installieren, indem Sie das entsprechende Paket von GitHub herunterladen (und es an Ihre Architektur anpassen):
wget https://github.com/sharkdp/bat/releases/download/v0.20.0/bat_0.20.0_amd64.deb
sudo dpkg -i bat_0.20.0_amd64.deb
Um es in Ihren Workflow zu integrieren, können Sie Aliase erstellen in ~/.zshrc also beim Schreiben cat Ich habe tatsächlich BAT aufgerufen, aber die Tastenkombinationen für das traditionelle Dienstprogramm beibehalten:
alias cat='/bin/bat'
alias catn='/bin/cat'
alias catnl='/bin/bat --paging=never'
Für seinen Teil, LSD ersetzt ls mit Farben, Symbole und eine wesentlich besser lesbare AusgabeDie Installation erfolgt ähnlich wie bei BAT:
wget https://github.com/Peltoche/lsd/releases/download/0.21.0/lsd_0.21.0_amd64.deb
sudo dpkg -i lsd_0.21.0_amd64.deb
Anschließend können Sie gängige Aliase neu definieren, um Verzeichnisse zu sortieren, Details anzuzeigen, auszublenden usw., zum Beispiel:
alias ll='lsd -lh --group-dirs=first'
alias la='lsd -a --group-dirs=first'
alias l='lsd --group-dirs=first'
alias lla='lsd -lha --group-dirs=first'
alias ls='lsd --group-dirs=first'
Für interaktive Suchen im Terminal ist FZF nahezu unverzichtbar: Es startet eine inkrementelle Suchmaschine , die Verlauf, Pfade und andere Befehle integriert. Die Installation erfolgt durch Klonen des Repositorys und Ausführen des Installationsskripts.
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
Der Installer wird Folgendes hinzufügen: ~/.zshrc el source entsprechend (etwas wie [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh) sodass alles bereit ist. Es wird mit Tastenkombinationen wie diesen aktiviert: STRG + T.
Abschließend noch ein Hinweis für alle, die mit APIs arbeiten: HTTPie Es bietet ein wesentlich komfortableres Erlebnis als curlTraumer farbige Ausgabe und gut lesbare SyntaxSie können es installieren, indem Sie sein Repository hinzufügen und es verwenden. apt:
curl -SsL https://packages.httpie.io/deb/KEY.gpg | apt-key add -
curl -SsL -o /etc/apt/sources.list.d/httpie.list https://packages.httpie.io/deb/httpie.list
apt update
apt install httpie
apt upgrade httpie
Node.js, NVM, Python und andere Tools in WSL2
Einer der Hauptgründe für die Einrichtung dieses Systems ist eine robuste Umgebung für Node.js, Python und andere Technologien mit einfacher und reproduzierbarer Versionskontrolle. Hier kommen NVM für Node und Tools wie Conda für Python zum Einsatz.
Im Fall von Node.js ist die ideale Lösung die Verwendung von NVM (Node Version Manager) . Damit können Sie mehrere Versionen installieren und mit wenigen Befehlen zwischen ihnen wechseln. Auf Ihrem WSL2-Server können Sie NVM wie folgt installieren:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh
Installieren Sie anschließend Node (die aktuelle stabile Version oder eine bestimmte Version):
nvm install node
nvm install 18.17.0
Wenn Sie überprüfen möchten, ob alles in Ordnung ist, stehen Ihnen die üblichen Versionsverifizierungsbefehle zur Verfügung, die gültige Werte zurückgeben sollten:
node --version
npm --version
Bei Verwendung von Zsh wird NVM beim Öffnen des Terminals manchmal nicht automatisch geladen. Dies lässt sich auf zwei Arten beheben: die notwendigen Variablen manuell hinzufügen ~/.zshrc oder mithilfe des Plugins zsh-nvm von Oh My Zsh. Die manuelle Variante könnte etwa so aussehen:
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
Wenn Sie das Plugin auswählen, öffnen Sie es. ~/.zshrcSuchen Sie die Plugin-Zeile (zum Beispiel plugins=(git)) und fügt hinzu zsh-nvm Fügen Sie es der Liste hinzu. Nach dem Speichern und Neustarten des Terminals sollte NVM problemlos geladen werden.
Für Python bietet sich Conda (oder Miniconda) als sehr leistungsstarke Option an. Damit lassen sich isolierte Umgebungen erstellen, Abhängigkeiten verwalten und Python-Versionen handhaben, ohne in das globale System einzugreifen. Es gibt automatisierte Skripte, die Conda, GPU-Treiber und weitere Komponenten innerhalb eines WSL-Konfigurations-Repositorys nahezu transparent installieren.
Automatisieren Sie die Konfiguration mit Skripten, Dotfiles und Entwicklungscontainern.
Bisher haben wir gesehen, wie man alles manuell konfiguriert. Der Schlüssel zu einer guten Arbeitsumgebung, insbesondere in Teams, liegt jedoch in der Automatisierung des Onboardings und der Versionsverwaltung der Konfiguration . WSL2 eignet sich dafür perfekt, da es die Integration von der Installation bis zur Shell-Anpassung ermöglicht.
Ein sehr gängiger Ansatz ist, dass man Bootstrap-Skript (Beispiel: install.sh o setup.sh) in einem Team-Repository, das nacheinander Aufgaben wie die folgenden ausführt:
- Voraussetzungen prüfen (Windows-Version, aktives WSL2, ggf. Vorhandensein von Docker Desktop usw.).
- Installieren oder aktualisieren Sie die WSL-Distribution.Grundlegende Pakete, Zsh, Oh My Zsh, NVM, Conda usw.
- Klonen und Punktdateien anwenden (
.zshrc,.bashrc,.gitconfig, Themendateien, gemeinsam genutzte Aliase…). - Installieren Sie die Projekt-Stack-Tools (Node, Python, Datenbanken, spezifische CLIs).
- Validierungsskripte konfigurieren als
make check-envum zu überprüfen, ob alles korrekt ist.
Diese Skripte müssen idempotentDas heißt, sie sollten mehrfach ausgeführt werden können, ohne dass etwas kaputt geht, und es ist ratsam, alle Umgebungsvariablen in einer Datei wie dieser zu dokumentieren. .env.example sodass jeder seine Umgebung individuell anpassen kann, ohne das Hauptskript berühren zu müssen.
Eine weitere sehr wirkungsvolle Ebene ist die VS Code Entwicklungscontainer (.devcontainerSie bestehen aus deklarativen Beschreibungen der Umgebung (Dockerfile, VS Code-Konfiguration, Erweiterungen, Ports usw.), die Folgendes ermöglichen: Jedes Projekt hat seinen eigenen Entwicklungscontainer.In Kombination mit WSL2, dank der Erweiterung Fernbedienung – WSLSie können ein Repository in einem Linux-Container innerhalb von WSL öffnen und so sicherstellen, dass alle die gleichen Versionen und Tools verwenden.
Parallel dazu erleichtert die Pflege eines Repositorys versionierter Konfigurationsdateien (z. B. auf GitHub) das Teilen und Synchronisieren von Shell-Konfigurationen, Aliasen, Themes und Programmen auf mehreren Rechnern oder sogar auf verschiedenen Rechnern desselben Entwicklers. Tools wie Chezmoi oder einfache symbolische Kopierskripte werden häufig für diesen Zweck verwendet.
Integration von WSL2 und Zsh mit Visual Studio Code
Das Benutzererlebnis wird deutlich verbessert, wenn Sie diese gesamte Umgebung mit einem schlanken, aber dennoch leistungsstarken Editor wie Visual Studio Code integrieren . Die Idee ist, dass VS Code direkt mit dem WSL-Dateisystem arbeitet , wodurch Leistungs- und Berechtigungsprobleme vermieden werden.
Installieren Sie zunächst VS Code unter Windows von der offiziellen Website. Öffnen Sie anschließend im Editor den Tab „Erweiterungen“ (Tastenkombination Strg + Umschalt + X ) und suchen Sie nach der Erweiterung „Remote – WSL“ . Installieren Sie diese. Mit dieser Erweiterung können Sie Ordner und Projekte Ihrer Linux-Distribution öffnen, wobei die gesamte Logik innerhalb von WSL ausgeführt wird.
Nach der Installation können Sie folgenden Befehl in Ihrem Ubuntu-Terminal ausführen:
code .
Dadurch wird VS Code geöffnet, verbunden mit der WSL-Umgebung und mit vollem Zugriff auf die dort installierten Tools. Um die visuelle Integration zu vervollständigen, können Sie das integrierte VS Code-Terminal so konfigurieren , dass es dieselbe Nerd-Schriftart verwendet, die Sie im Windows-Terminal ausgewählt haben, damit die Symbole ebenfalls gut aussehen.
{
"terminal.integrated.fontFamily": "DejaVu Sans Mono for Powerline"
}
In der Datei settings.json In VS Code können Sie auch Ihr Ubuntu-Terminal in WSL als Standard-Windows-Terminal festlegen, indem Sie ein Profil wie folgt konfigurieren:
"terminal.integrated.profiles.windows": {
"Ubuntu (WSL)": {
"path": "C:\\Windows\\System32\\wsl.exe",
"args": ["-d", "Ubuntu"]
}
},
"terminal.integrated.defaultProfile.windows": "Ubuntu (WSL)"
Und wenn Sie schon dabei sind, können Sie auch die automatische Formatierung beim Speichern, die farbliche Kennzeichnung von Klammerpaaren und andere kleine Verbesserungen aktivieren , die die tägliche Nutzung des Editors angenehmer machen.
Automatisierte Skripte und vollständige WSL2-Konfigurationsrepositorys
Sie können zwar Ihre eigene Skriptinfrastruktur aufbauen, aber auch auf vorgefertigte Repositories zurückgreifen, die einen Großteil der Arbeit automatisieren . Einige dieser Repositories enthalten Linux-Anleitungen, Skripte zur Installation von Terminalprogrammen (Oh My Zsh, Plugins, Themes), Conda, GPU-Treiber und andere wichtige Komponenten für eine Data-Science- oder Webentwicklungsumgebung.
Die Idee hinter diesen Repositories ist klar: Mit einem einzigen Befehl wird ein Bash-Skript ausgeführt , das die Distribution aktualisiert, bei Bedarf curl und Node.js installiert, sich um NVM kümmert, Schriftarten wie Nerd Fonts herunterlädt, Zsh mit einem Theme und einer sinnvollen Auswahl an Plugins und Aliasen konfiguriert und das Terminal einsatzbereit hinterlässt.
Während der Ausführung dieser Skripte werden Sie an mehreren Stellen aufgefordert, … Ihr Administratorpasswort aufgrund der Verwendung von sudoDas ist völlig normal, da Pakete installiert, Systempfade geändert und Dateien an geschützte Orte kopiert werden.
In einigen Fällen werden sie Sie bitten, Wählen Sie die gewünschte Version von Tools wie BAT oder LSD. (Beispiel: bat_0.25.0_amd64.deb o lsd_1.1.5_amd64.deb), was sowohl von der auf GitHub verfügbaren Version als auch von der Architektur Ihres Rechners abhängt (heutzutage ist üblicherweise Folgendes zu beachten: amd64Achten Sie darauf, die richtige Version auszuwählen, um Kompatibilitätsfehler zu vermeiden.
Das Ergebnis eines solchen Skripts ist eine Umgebung, in der Zsh hat bereits eine Datei .zshrc sehr komplettMit einem Theme, Plugins, Aliasen für `cat`/`ls`, Gitmoji-Integration für Commits mit Symbolen, wenn einem die Inspiration fehlt, Syntaxhervorhebung, Oh My Zsh-Autovervollständigung und weiteren nützlichen Funktionen. Wow, das ist eines dieser Terminals, die man am liebsten den ganzen Tag auf dem Bildschirm behalten möchte.
Um die Anpassung abzuschließen, können Sie sogar Passen Sie die Designs so an, dass nur der Benutzername angezeigt wird (und der Hostname ausgeblendet wird). direktes Ändern bestimmter Themendateien, wie zum Beispiel agnoster.zsh-theme in der Route ~/.oh-my-zsh/themesÄndern Sie die entsprechende Zeile etwa so:
prompt_segment green black "%(!.%{%F{yellow}%}.)%n"
Mit all dem erreichen Sie, dass jeder Entwickler im Team das Konfigurations-Repository klonen, einen Befehl ausführen und innerhalb weniger Minuten die gleiche Umgebung wie alle anderen haben kann: die gleiche Shell, das gleiche Theme, die gleichen Versionen der Basistools und das gleiche Terminalverhalten, ohne dass es zu Ausrutschern wie „Es funktioniert auf meinem PC“ oder „Ich erinnere mich nicht, was ich an dem Tag installiert habe“ kommt.
Letztendlich erfordert die Einrichtung und Automatisierung einer WSL2- und Zsh-Umgebung die Kombination mehrerer Komponenten: eine Linux-Basis innerhalb von Windows, ein gut konfiguriertes Terminal wie das Windows Terminal, eine erweiterte Shell mit Oh My Zsh und seinen Plugins, moderne Tools wie BAT, LSD oder FZF, Versionskontrolle mit NVM oder Conda, die Integration mit VS Code über Remote-WSL sowie Skripte und Konfigurationsdateien, die eine zuverlässige Replikation all dieser Komponenten ermöglichen. Mit etwas Zeitaufwand für die Feinabstimmung erhalten Sie ein Ökosystem, in dem Sie innerhalb von Minuten komfortabel programmieren können, anstatt ganze Nachmittage mit der manuellen Neuinstallation von Komponenten zu verbringen.
