Overview Version History Q & A Rating & Review
KK TT CompilerSwitchFold
IDE-Unterstützung für Legacy Pre-Compiler Switches wie //#IFDEF, //#ELSE, //#ELSIF, //#ENDIF – inkl. der "wrapped" Variante //{{[[>> ....
Features
Folding
Standard: IFDEF → ENDIF
Optional: getrennte Folds für IF- und ELSE-Branch (foldElseBranches)
Optional: keepEndMarkerVisible lässt //#ENDIF sichtbar (Fold endet eine Zeile vor ENDIF)
Diagnostics (Problems Panel)
Orphaned ELSE/ELSIF
Orphaned ENDIF
Missing ENDIF am EOF
Gutter UX (v0.1.10)
Keine vertikale Linie mehr im Text (Spalte 0 bleibt sauber)
Block-Zugehörigkeit wird nur noch im Gutter visualisiert:
Connector : gestrichelte vertikale Linie für alle Zeilen zwischen IFDEF und ENDIF
Matching Labels : eindeutige Labels pro Block-Instanz (A, B, C … Z, AA, AB …)
#IFDEF = Overline (Bar oberhalb des Buchstabens)
#ENDIF = Underline (Bar unterhalb des Buchstabens)
#ELSE/#ELSIF = Brackets (Junction-Markierung)
Unterstützte Direktiven
Case-insensitive:
Standard: //#IFDEF, //#ELSE, //#ELSIF, //#ENDIF
Wrapped: //{{[[>>//#IFDEF oder //{{[[>> //#ELSE (Whitespace tolerant)
Auch unterstützt (Legacy):
//{{[[>>
//#IFDEF
Settings
Suche in VS Code Settings nach CompilerSwitchFold.
Wichtige Optionen:
kkTTCompilerSwitchFold.gutterIconMode: none | icon | matchingLabels
kkTTCompilerSwitchFold.gutterLabelColor: Farbe für Matching-Labels und Connector
kkTTCompilerSwitchFold.enableOverviewRuler: Scrollbar-Markierungen (Overview Ruler)
kkTTCompilerSwitchFold.foldElseBranches: getrennte Folds für IF/ELSE
kkTTCompilerSwitchFold.keepEndMarkerVisible: ENDIF sichtbar lassen (Chevron bleibt korrekt am Block)
kkTTCompilerSwitchFold.switchKeywordColor: Keyword-Farbe
Troubleshooting
Marketplace Upload : Falls der Upload scheitert, stelle sicher, dass die VSIX ein PackageManifest nutzt und Identity Id keine Punkte enthält (z.B. kk-tt-compilerswitchfold).
Stelle sicher, dass editor.foldingStrategy auf auto steht.
Wenn eine Datei nicht erkannt wird: unten rechts in VS Code die Language ID prüfen und zu supportedLanguages hinzufügen.