1 Snippets
kuro edited this page 2026-10-10 00:37:06 +00:00

🚀 Snippets & Quick Fixes

Die BMC TPL Code All around Extension nimmt dir massiv Tipparbeit ab. Durch intelligente Code-Vorlagen (Snippets) und automatische Fehlerbehebungen (Quick Fixes) schreibst du TPL-Code nicht nur schneller, sondern auch fehlerfrei.


📝 Smart Snippets (Code-Vorlagen)

Snippets sind kleine Kürzel, die sich beim Tippen (oder durch Drücken von Ctrl + Space) in komplette Code-Blöcke verwandeln. Tipp: Nach dem Einfügen eines Snippets kannst du mit der Tab-Taste bequem durch die Platzhalter (wie Variablen-Namen oder Bedingungen) springen!

Das God-Snippet

Keyword Beschreibung
tpl_skeleton Generiert eine komplett frische .tpl Datei inklusive Modul-Definition, Pflicht-Metadaten, Pattern, Triggern und Log-Statements[cite: 4]. Besonderheit: Zieht sich automatisch deinen Namen, den Publisher und die TPL-Version aus deinen VS Code Settings!

Kontrollstrukturen (Neu!)

Schluss mit vergessenen then, do oder end Blöcken. Tippe einfach das Keyword und drücke Tab:

Keyword Generierter Code
if Baut if <Bedingung> then ... end if; und setzt den Cursor in die Bedingung.
elif Baut elif <Bedingung> then ... für nahtlose If-Ketten.
else Baut den else ... Block.
for Baut for <item> in <list> do ... end for;.
while Baut while <Bedingung> do ... end while;.

TPL-Strukturen & Blöcke

Keyword Beschreibung
pattern Baut einen leeren Pattern-Block inklusive DocString (""") und end pattern;[cite: 4].
syncmapping Baut einen leeren Syncmapping-Block inklusive DocString[cite: 4].
define Generiert eine Methodendefinition (define name(params) ... end define;)[cite: 4].
table Erstellt eine Tabelle inklusive des obligatorischen default -> "unknown"; Fallbacks[cite: 4].
metadata, body, ... Baut den jeweiligen TPL-Block (metadata ... end metadata;) auf und platziert den Cursor in der Mitte[cite: 4].

⚡ Quick Fixes (Code Actions)

Wenn der Linter einen Fehler oder eine Warnung findet, erscheint oft eine kleine Glühbirne am Zeilenanfang. Du kannst auch einfach in die markierte Zeile klicken und Ctrl + . (Windows/Linux) oder Cmd + . (Mac) drücken, um das Problem automatisch beheben zu lassen.

Aktuell unterstützt die Extension folgende automatische Reparaturen:

1. "Fehlende Modul-Metadaten einfügen"

  • Auslöser: Du hast einen metadata-Block, aber es fehlen Pflichtfelder (wie origin, author, products, publishers oder tree_path)[cite: 4].
  • Aktion: Das Plugin generiert die fehlenden Zeilen sofort mit Dummy-Werten in den Block[cite: 4], sodass der Code wieder valide ist.

2. "Log-Statement einfügen"

  • Auslöser: Im body eines Patterns fehlt das initial geforderte log.debug-Statement mit dem Pattern-Namen[cite: 4].
  • Aktion: Baut das fehlende log.debug("Start pattern <Name>"); direkt als erste Zeile in den body-Block ein[cite: 4].

3. "Tabs zu Spaces"

  • Auslöser: Der Linter findet Tabulator-Zeichen (\t) im Code. (In BMC TPL sind Spaces Best Practice)[cite: 4].
  • Aktion: Ersetzt sofort alle illegalen Tabs in der beanstandeten Zeile durch jeweils 4 korrekte Leerzeichen[cite: 4].