🚀 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 (wieorigin,author,products,publishersodertree_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
bodyeines Patterns fehlt das initial gefordertelog.debug-Statement mit dem Pattern-Namen[cite: 4]. - Aktion: Baut das fehlende
log.debug("Start pattern <Name>");direkt als erste Zeile in denbody-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].