Tauscht PowerShell-Bloecke (function, filter, workflow, configuration, class, enum) live im Editor aus der Zwischenablage aus – mit Diff-Vorschau, Kommentar-Erhalt, automatischer Einrückung und Sicherung.
- PowerShell-Datei (
.ps1,.psm1) im Editor öffnen. - Einen Block kopieren – z. B. eine ganze Funktion mit Strg+C.
Strg+Alt+Vdrücken (oder Befehlspalette → „CodeBlock: Funktion aus Zwischenablage einfügen").
Das Plugin:
- Erkennt den Block (Name, Klammern, Kommentare)
- Sucht nach einem gleichnamigen Block in der geöffneten Datei
- Zeigt ein Diff-Fenster (alt ↔ neu) mit „Übernehmen / Verwerfen"
- Ersetzt den Block inklusive vorherigem Kommentarblock (z. B.
<# .SYNOPSIS … #>) - Passt die Einrückung automatisch an die Zieltiefe an
- Erstellt eine
.bak-Sicherung der Datei - Springt zur geänderten Stelle und markiert sie farbig
- Blendet die Markierung nach 5 Sekunden (oder bei Tasteneingabe) aus
Tipp: Du kannst auch mehrere Blöcke auf einmal kopieren – alle werden nacheinander ersetzt bzw. angehängt.
Schaltet die Statusleiste auf „Live AN" (Klick auf das Auge-Symbol). Das Plugin überwacht dann die Zwischenablage sekündlich und ersetzt automatisch, sobald ein PowerShell-Block erkannt wird. Ideal beim Arbeiten mit mehreren Editoren oder Remote-Sitzungen.
Wenn ein Block in der aktuellen Datei noch nicht existiert, wird er ans Ende der Datei angehängt (einstellbar). So kannst du schnell mehrere neue Funktionen aus dem Clipboard sammeln.
| # | Funktion | Beschreibung |
|---|---|---|
| 🔄 | Block ersetzen | Erkennt function, filter, workflow, configuration, class, enum aus der Zwischenablage |
| 👀 | Diff-Vorschau | Zeigt alt ↔ neu vor dem Ersetzen; „Übernehmen" oder „Verwerfen" per Klick |
| 💬 | Kommentar-Erhalt | Vorangehende <# .SYNOPSIS … #> und #-Zeilen werden mit ersetzt |
| 📐 | Einrückung anpassen | Eingefügter Code übernimmt die Einrückungstiefe der Zielstelle |
| 🎯 | Sprung zur Änderung | Cursor springt nach dem Ersetzen direkt zur ersten geänderten Stelle |
| 💾 | Auto-Backup | Vor jeder Ersetzung wird eine .bak-Datei neben der Originaldatei erstellt |
| 🟡🟢 | Farbige Markierung | Gelb = ersetzt, Grün = angehängt; blendet nach X s oder bei Eingabe aus |
| 📚 | Mehrfach-Modus | Beliebig viele Blöcke auf einmal kopieren und ersetzen/anhängen |
| ➕ | Anhängen | Neue Blöcke werden ans Ende der Datei angehängt |
| 👁️ | Live-Überwachung | Überwacht die Zwischenablage und ersetzt automatisch |
| ↩️ | Undo-fähig | Alle Änderungen sind ein einziger Undo-Schritt (Strg+Z) |
Öffnen über: Datei → Einstellungen → Erweiterungen → CodeBlock-Manager oder settings.json:
| Einstellung | Standard | Beschreibung |
|---|---|---|
codeblockManager.vorschauDiff |
true |
Diff-Fenster (alt ↔ neu) vor dem Ersetzen anzeigen |
codeblockManager.autoBackup |
true |
Automatische .bak-Sicherung vor jeder Ersetzung |
codeblockManager.kommentareEinbeziehen |
true |
Kommentarblock / Comment-Based-Help oberhalb mit-ersetzen |
codeblockManager.markierungTimeoutSek |
5 |
Sekunden bis Markierung ausgeblendet wird (0 = nie) |
codeblockManager.neueFunktionenAnhaengen |
true |
Unbekannte Blöcke ans Dateiende anhängen |
codeblockManager.liveUeberwachung |
false |
Zwischenablage automatisch überwachen (auch beim Start) |
| Befehl | Tastenkürzel | Beschreibung |
|---|---|---|
codeblockManager.funktionErsetzen |
Strg+Alt+V |
Block aus Zwischenablage einfügen/ersetzen |
codeblockManager.liveToggle |
Statusleiste (Klick) | Live-Überwachung ein-/ausschalten |
codeblockManager.markierungenLoeschen |
— | Gelbe/grüne Markierungen manuell entfernen |
- Keine Netzwerkzugriffe – das Plugin arbeitet rein lokal
- Keine Dateimanipulation ohne Bestätigung – Diff-Vorschau verhindert versehentliches Überschreiben
- Backup vor jeder Änderung – die
.bak-Datei liegt neben der bearbeiteten Datei
Beispiel 1: Funktion aktualisieren
# Alte Funktion in der Datei:
function Get-Info { return "alt" }
# Neue Version kopiert:
function Get-Info { return "neu" }
# Strg+Alt+V → Diff prüfen → Übernehmen → fertigBeispiel 2: Comment-Based-Help ersetzen
<#
.SYNOPSIS
Alte Beschreibung
#>
function Do-Something { ... }
# Kopierte Version (Help + Code):
<#
.SYNOPSIS
Neue Beschreibung
#>
function Do-Something { ... }
# Strg+Alt+V → beides wird ersetzt, keine doppelten HilfetexteBeispiel 3: Klasse ersetzen
class Person {
[string]$Name
}
# Kopierte Version → Strg+Alt+V
class Person {
[string]$Name
[int]$Age
}npm install # Abhängigkeiten installieren
npm run compile # TypeScript kompilieren
npm run package # VSIX-Paket bauen
F5 # Extension Development Host startenDas VSIX-Paket kann manuell über die Extensions-Ansicht („Aus VSIX installieren…") oder via Marketplace bezogen werden.
Bei Push eines Tags v* wird automatisch:
- Die Extension kompiliert
- Ein VSIX-Paket gebaut
- Ein GitHub-Release mit VSIX erstellt
- (optional) Im VS Code Marketplace veröffentlicht
git tag v1.0.3
git push origin v1.0.3