Add Snippets & Quick Fixes
parent
5b739424e4
commit
0001cd912f
|
|
@ -0,0 +1,55 @@
|
||||||
|
# 🚀 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].
|
||||||
Loading…
Reference in New Issue