Windows Terminal Setup — Tabs · Splits · WSL/PowerShell + Oh My Posh
Windows Terminal wie macOS iTerm anfühlen lassen. Profile / Keybindings / Theme in einer settings.json festhalten.
Windows-Entwicklung beginnt mit Windows Terminal. WSL, PowerShell und die Eingabeaufforderung als Tabs und Splits in einem Fenster bündeln und die gesamte Konfiguration in einer einzelnen JSON-Datei (settings.json) einfrieren. Mit einem guten Setup erhält man eine Arbeitsumgebung, die macOS iTerm + tmux nahezu ebenbürtig ist.
Ich glaube, was Windows Terminal heute von der alten cmd.exe unterscheidet, ist nicht nur das moderne Aussehen, sondern die Tatsache, dass die gesamte Konfiguration in einer einzigen JSON-Datei liegt — weil das bedeutet, dass man die Terminal-Einrichtung als Code behandeln kann, statt sie auf jedem neuen Gerät von Hand zusammenzuklicken. Früher war das Windows-Terminal das schwächste Glied im Dev-Workflow-Vergleich mit macOS; heute ist es ein vollwertiger Ersatz, da WSL-Integration und JSON-Konfiguration den Abstand deutlich verringert haben.
Dieser Leitfaden richtet sich an Windows 11 / Windows Terminal 1.21+. Er ist der abschließende Terminal-Einrichtungsschritt nach der Windows-Ersteinrichtung und dem WSL-Tuning.
TL;DR
- Windows Terminal aus dem Microsoft Store installieren (in Win11 eingebaut)
Strg+,(oder ▼ → Einstellungen) → JSON-Bearbeitungsmodus- Die
settings.example.jsondieses Leitfadens herunterladen und für die eigene Maschine anpassen - JetBrains Mono Font + dunkles Theme + Acryl-Transparenz
- Oh My Posh zur Verschönerung des PowerShell-Prompts
Voraussetzungen
- Windows 11 (10 funktioniert auch; einige Acryl-Effekte unterscheiden sich)
- WSL2 installiert — WSL-Tuning
- (Optional) PowerShell 7 (
winget install Microsoft.PowerShell)
settings.json herunterladen
Die von devAlice empfohlene Basiskonfiguration — GUIDs von der eigenen Maschine einfügen und fertig.
settings.json# 1. Herunterladen
Invoke-WebRequest `
-Uri https://devalice.jaceclub.com/assets/windows/windows-terminal-setup/settings.example.json `
-OutFile settings.json
# 2. SHA-256 prüfen (Windows PowerShell)
Get-FileHash settings.json -Algorithm SHA256
# Erwartet (Hash): BBDEBB16B68F5BBD9041DBE4FEFEC8BA5F30B497325F2A11B922C1DAEDB8525F
# (kleinschreibung: bbdebb16b68f5bbd9041dbe4fefec8ba5f30b497325f2a11b922c1daedb8525f)
# 3. Inspizieren
notepad settings.json
# 4. An tatsächlichen Ort kopieren (Windows Terminal Stable)
$dst = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
Copy-Item settings.json $dst -Force⚠️ Die vier
guid-Felder durch die Maschinenwerte ersetzen. Windows Terminal einmal öffnen und die automatisch generierten GUIDs im Menü nachsehen.
1. Windows Terminal installieren — 1 Min.
In Win11 eingebaut. Andernfalls:
winget install Microsoft.WindowsTerminalMit Win + T oder Startmenü → „Terminal" öffnen.
Standard-Shortcuts (vor der Anpassung)
| Taste | Aktion |
|---|---|
Strg+, | Einstellungen |
Strg+Umschalt+T | Neuer Tab |
Strg+Tab | Nächster Tab |
Strg+Umschalt+W | Tab schließen |
Alt+Umschalt++ | Rechts teilen |
Alt+Umschalt+- | Unten teilen |
2. settings.json direkt bearbeiten — 5 Min.
Die GUI hat Grenzen. Direkt JSON verwenden.
Strg+, (Einstellungen) → unten links ⚙ JSON-Datei öffnen → settings.json öffnet sich im Standard-Editor.
Pfad:
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
Windows Terminal Preview verwendet denselben Pfad unter
Microsoft.WindowsTerminalPreview_.... Eine andere Datei.
Fünf wichtige Einstellungen
{
"$schema": "https://aka.ms/terminal-profiles-schema",
// Standardprofil (GUID)
"defaultProfile": "{2c4de342-...}", // z.B. Ubuntu WSL
// Beim Markieren kopieren — iTerm-Stil
"copyOnSelect": true,
"copyFormatting": "none", // nur Klartext (keine Farbe/Format)
// Theme
"theme": "dark"
}3. Profile — WSL + PowerShell 7 + Ausgeblendet — 10 Min.
3.1 Ubuntu (WSL)-Profil
{
"guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", // Maschinenwert
"name": "Ubuntu (WSL)",
"source": "Windows.Terminal.Wsl",
"commandline": "wsl.exe -d Ubuntu",
"startingDirectory": "//wsl$/Ubuntu/home/%USERNAME%",
"colorScheme": "One Half Dark",
"icon": "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png"
}startingDirectory auf das WSL-Home zeigen lässt jeden neuen Tab bei ~/ öffnen.
3.2 PowerShell 7-Profil
{
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", // Maschinenwert
"name": "PowerShell 7",
"commandline": "pwsh.exe -NoLogo",
"startingDirectory": "%USERPROFILE%",
"colorScheme": "Campbell Powershell",
"icon": "ms-appx:///ProfileIcons/pwsh.png"
}
-NoLogoblendet das PowerShell-Willkommensbanner aus. Muss man nicht jedes Mal sehen.
3.3 Nicht verwendete Profile ausblenden
Wenn man die Eingabeaufforderung, Azure Cloud Shell oder Windows PowerShell (5.1) nicht verwendet:
{
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"hidden": true
}4. Font + Theme — 5 Min.
4.1 JetBrains Mono installieren
winget install JetBrains.JetBrainsMono
# Oder: scoop bucket add nerd-fonts; scoop install JetBrainsMono-NFNach der Installation ab- und anmelden (Font-Cache-Aktualisierung).
4.2 Font-Standardeinstellungen anwenden
"profiles": {
"defaults": {
"fontFace": "JetBrains Mono",
"fontSize": 12,
"fontWeight": "normal",
"useAcrylic": true,
"acrylicOpacity": 0.85,
"cursorShape": "filledBox",
"antialiasingMode": "cleartype",
"padding": "10",
"scrollbarState": "hidden",
"snapOnInput": true,
"historySize": 50000
},
// Liste...
}defaults gilt für jedes Profil; profilspezifische Überschreibungen sind möglich.
4.3 Zusätzliche Themes (optional)
Paletten zum schemes-Array hinzufügen. JSON von Windows Terminal Themes kopieren.
5. Keybindings — Mac-Standard nachahmen — 5 Min.
Zu actions hinzufügen. Das herunterladbare Asset enthält bereits:
"actions": [
{ "command": "find", "keys": "ctrl+shift+f" },
{ "command": "paste", "keys": "ctrl+shift+v" },
{ "command": "copy", "keys": "ctrl+shift+c" },
{ "command": { "action": "splitPane", "split": "right" }, "keys": "alt+shift+plus" },
{ "command": { "action": "splitPane", "split": "down" }, "keys": "alt+shift+minus" },
{ "command": "closePane", "keys": "ctrl+shift+w" },
{ "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
{ "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },
{ "command": { "action": "newTab" }, "keys": "ctrl+shift+t" },
{ "command": { "action": "nextTab" }, "keys": "ctrl+tab" }
]Eine natürliche Zuordnung für Umsteiger von iTerm / Terminal.app.
6. Oh My Posh — PowerShell-Prompt aufwerten — 10 Min.
PS C:\Users\u> ist informationsarm. Git-Branch, Exit-Code, verkürzte Pfade hinzufügen.
6.1 Installation
winget install JanDeDobbeleer.OhMyPoshNeues Terminal öffnen.
6.2 Im PowerShell-Profil anwenden
notepad $PROFILE
# Falls fehlend: New-Item -Path $PROFILE -ItemType File -ForceInhalt:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" | Invoke-ExpressionSofortige Wirkung in einem neuen PowerShell-Fenster.
6.3 Theme wechseln
Get-PoshThemes # alle Themes vorschauen
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\powerlevel10k_rainbow.omp.json" | Invoke-ExpressionDas gewählte Theme in $PROFILE speichern, um es dauerhaft zu machen.
6.4 Auf bash/zsh in WSL anwenden (optional)
# Innerhalb von WSL bash/zsh
curl -s https://ohmyposh.dev/install.sh | bash -s
echo 'eval "$(oh-my-posh init bash --config ~/.poshthemes/jandedobbeleer.omp.json)"' >> ~/.bashrc7. Tägliche Muster
7.1 Schnelles Teilen + anderer Befehl
Alt+Umschalt++ zum rechts Teilen → neues Fenster führt wsl -d Ubuntu aus. Links ist PowerShell, rechts ist WSL — Mac-iTerm + tmux-Feeling.
7.2 tmux innerhalb von WSL
Windows Terminal teilt nur Fenster — echte Sitzungsverwaltung (Trennen/Wiederverbinden) lebt in tmux innerhalb von WSL:
# In WSL bash
sudo apt install tmux
tmux new -s dev # neue Sitzung
# Arbeiten, dann Strg+B → D (trennen)
tmux attach -t dev # wiederverbindenDas Schließen von Windows Terminal beendet die tmux-Sitzung nicht.
7.3 settings.json in Git halten
$src = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
$dst = "$HOME\dotfiles\windows-terminal\settings.json"
mkdir "$HOME\dotfiles\windows-terminal" -ErrorAction SilentlyContinue
Copy-Item $src $dst -Force
cd "$HOME\dotfiles"
git add windows-terminal/settings.json
git commit -m "feat: windows terminal settings"Das Kopieren auf einer neuen Maschine umkehren für sofortige Synchronisierung.
8. Fehlerbehebung
Font nicht angewendet
Font-Cache muss nach der JetBrains Mono-Installation aktualisiert werden. Ab- und anmelden oder neu starten.
Acryl-Transparenz fehlt
Windows 11 deaktiviert Acryl im Akkuschonmodus oder wenn Transparenzeffekte deaktiviert sind. Einstellungen → Personalisierung → Farben → Transparenzeffekte aktivieren.
WSL-Profil startingDirectory ignoriert
Muss mit //wsl$/... beginnen (zwei Schrägstriche). \\wsl$\\... bricht in einigen Umgebungen.
PowerShell 7-Prompt-Glyphen defekt
Einige Oh My Posh-Themes benötigen einen Nerd Font. Font auf eine Nerd-Variante wechseln:
winget install JetBrains.JetBrainsMono # Basis
# Nerd Font-Variante über https://www.nerdfonts.com/ oder scoopWas kommt als Nächstes
- Windows-Ersteinrichtung — Windows 11 + WSL
- WSL-Tuning — Arbeitsspeicher/CPU/Netzwerk
- PowerShell-Profil —
$PROFILE-Start - Scoop vs. Winget — Paketmanager-Vergleich
Referenzen
Changelog
- 2026-05-12 — Erster Entwurf (devAlice M2 Seed-Erweiterung)