FrontTailor 1.0.0 (10.11.2026): Inspector, OData, Performance, UI5 2.0, KI und Betrieb für SAP Fiori® und UI5-Apps – in einem Panel. Was drin ist → +43 664 1964199Kontakt →

Inspector

Der Inspector zeigt zu jedem Pixel einer UI5-App das Control dahinter: Typ, ID, View, Properties, Bindings, Aggregations und Events – live, während die App läuft. Er ist kostenlos und gehört zur Community-Edition.

Edition
Community
Tab
„Inspector“
Tastenkürzel
Alt+Shift+F
Oberflächen
DevTools-Panel und Side-Panel
Auf PROD
Lesen erlaubt, Live-Edit gesperrt

Der Tab im Überblick

Öffne in den DevTools (F12) das Panel FrontTailor oder das Side-Panel über das Symbol der Extension und wähle den Tab Inspector. Links steht der Control-Baum der App, rechts die Details des gewählten Controls. Im schmalen Side-Panel stehen beide untereinander.

Inspector-Tab mit Control-Baum der Freestyle-Demo-App, Suchfeld und Filtern
Der Inspector an der Freestyle-Demo-App: 127 Knoten, gelesen in wenigen Millisekunden.
  1. Control wählen startet den Pick-Modus: Danach klickst du ein Control in der Seite an. Daneben lädt Baum neu laden den Baum von vorne.
  2. ID, Typ oder Text suchen – gesucht wird in allen drei. Treffer behalten ihre Vorfahren, damit du siehst, wo das Control hängt.
  3. Filter: Nur sichtbare, Nur gebundene und Nur Custom Controls (Typ nicht aus sap.*). Rechts davon steht, wie viele Knoten der Baum hat und wie lange das Lesen gedauert hat.
  4. Der Control-Baum: UI-Bereiche, Komponenten, Views und Controls in der Reihenfolge der App. Pfeiltasten bewegen die Auswahl.

Der Baum folgt der laufenden App: Öffnet die App einen Dialog oder lädt eine Liste nach, erscheinen die neuen Controls von selbst. Sehr große Apps zeigt der Inspector bis 20.000 Knoten; darüber steht der Hinweis „Baum gekürzt: nur die ersten … Knoten werden angezeigt.“

Ein Control in der Seite wählen

  1. Klicke Control wählen oder drücke Alt+Shift+F – das Kürzel funktioniert auch, wenn die DevTools geschlossen sind, und öffnet dann das Side-Panel.
  2. Fahre mit der Maus über die App. Ein Rahmen zeigt das Control unter dem Zeiger, mit Typ, ID und – falls gebunden – dem Binding-Pfad.
  3. Klicke das Control an. Die App bekommt den Klick nicht mit: Kein Button löst aus, kein Popover schließt sich. Esc bricht ab.
  4. Der Inspector springt im Baum zum Control und zeigt rechts die Details.
Freestyle-Demo-App im Pick-Modus mit Rahmen um einen Listeneintrag und der Beschriftung sap.m.ObjectListItem mit Binding-Pfad
Im Pick-Modus beschriftet der Rahmen das Control unter dem Zeiger – hier ein gebundenes sap.m.ObjectListItem.

Das funktioniert auch in Dialogen, Popovern und in Apps, die im Launchpad in einem iframe laufen. Ein Klick in einem Frame schaltet den Inspector auf diesen Frame um; die Auswahl Frame über dem Baum zeigt, welcher gerade gemeint ist (Haupt-Frame ist die Seite selbst).

Details eines Controls

Details eines gebundenen Buttons: Typ sap.m.Button, ID, View, API-Referenz, Parent-Kette, Aktionen und Properties-Tabelle
Details des Buttons „Fehlerfälle“ der Demo-App. Die Property text ist an einen i18n-Text gebunden.
  1. Typ und ID, darunter View und Komponente. Daneben öffnet API-Referenz die Klasse in der UI5-Doku genau der Version, die die App lädt; Fiori Design Guidelines öffnet die passende Seite der Guidelines, wenn es eine gibt.
  2. Parent-Kette: jeder Vorfahre bis zum UI-Bereich, anklickbar.
  3. Kopieren als… – ID, OPA5-Selektor, wdi5-Selektor, Playwright-Locator oder XML-Snippet (siehe unten).
  4. Als Variable speichern legt das Control für die DevTools-Console ab (siehe unten).
  5. gebunden unter einem Property-Namen öffnet die Herkunft des Werts.

Die Details haben fünf Tabs:

TabWas du siehst
PropertiesName, Wert, Typ und Default jeder Property, gebundene markiert, eigene und geerbte unterschieden. Werte sind editierbar (siehe Live-Edit).
BindingsJe gebundener Property: Pfad, Model, Aufgelöster Pfad, Modus, Formatter und Typ; bei Composite- und Expression-Bindings jeder Teil.
AggregationsKinder je Aggregation mit Anzahl und IDs, dazu die Associations.
EventsJedes Event mit der Zahl der Listener und den Namen der Handler.
ContextModels und Binding-Kontexte, die das Control sieht, mit Kontextpfad.

Property-, Aggregations- und Event-Namen in den Tabellen sind Links auf ihren Eintrag in der API-Referenz der Klasse, die sie deklariert. Steht ein Control nicht im Baum – etwa ein Dialog, der noch nie geöffnet war –, erklärt ein Hinweis in den Details, warum, und nennt die Wurzel.

Woher kommt der Wert? Bindings lesen

  1. Wähle das Control (Pick oder Suche).
  2. Klicke im Tab Properties unter dem Namen der Property auf gebunden.
  3. Das Popover Binding von … zeigt Pfad wie geschrieben, Aufgelöster Pfad, Model, Model-Typ (OData V2, OData V4, JSON, Resource (i18n), XML), Wert im Model, Aktueller Wert, Binding-Modus, Typ und Formatter – bei i18n-Texten Schlüssel und Text.
  4. Mit Pfad kopieren nimmst du den Pfad mit, Im Bindings-Tab anzeigen hebt die Zeile im Tab Bindings hervor, Im Model Explorer anzeigen öffnet den Tab Model Explorer genau an dieser Stelle.
Popover „Binding von placeholder“ mit i18n-Schlüssel, Pfad, Model, Model-Typ Resource (i18n), Wert im Model und Binding-Modus
Das Popover zur Property placeholder des Suchfelds: ein i18n-Text, Modus OneWay.
  1. Pfad wie im View geschrieben.
  2. Model-Typ – hier ein Resource-Model mit den i18n-Texten.
  3. Pfad kopieren.
  4. Im Bindings-Tab anzeigen.
Tab Bindings des Buttons mit der Property text, Model i18n und Pfad errorCases
Der Tab Bindings fasst alle gebundenen Properties eines Controls zusammen.

Wenn ein Feld leer bleibt, sagt dir der Tab meist schon, warum: „nicht aufgelöst“ heißt, dass das Control noch kein Model oder keinen Kontext hat – typisch für einen relativen Pfad ohne Element-Binding.

Properties live ändern

Im Tab Properties ist jeder Wert ein Editor: Booleans als Kästchen, Enums als Auswahl, Zahlen als Zahlenfeld, alles andere als Textfeld. Objekte und Arrays bleiben schreibgeschützt.

  • Enter oder Verlassen des Felds übernimmt den Wert; Esc holt den Wert der Seite zurück.
  • Der Inspector prüft den Wert gegen den Datentyp. Passt er nicht, erscheint „Ungültiger Wert: …“, und das Control behält seinen Wert.
  • Bei gebundenen Properties warnt ein Hinweis: „Gebunden: Das nächste Model-Update überschreibt eine Änderung.“ Bei TwoWay-Bindings landet die Änderung auch im Model.

Selektoren und XML kopieren

Geöffnetes Menü Kopieren als mit ID, OPA5-Selektor, wdi5-Selektor, Playwright-Locator und XML-Snippet
„Kopieren als…“ erzeugt Selektoren, die das Control wiederfinden.
EintragErgebnis
IDdie volle Control-ID
OPA5-Selektorthis.waitFor({ id, viewName, controlType, … })
wdi5-Selektorbrowser.asControl({ selector: { … } })
Playwright-LocatorLocator über die Endung der DOM-ID, unabhängig vom Präfix des Containers (etwa im Launchpad)
XML-Snippetdas Control als XML mit Namespace, ID, Bindings und allen Werten, die vom Default abweichen

Generierte IDs wie __button3 landen nie in einem Selektor. Stattdessen nimmt der Inspector den Control-Typ und ein Merkmal, das das Control eindeutig macht: einen Text, einen i18n-Schlüssel oder einen Binding-Pfad. Die Selektoren werden in den automatischen Tests gegen die Demo-Apps ausgeführt.

Als Variable speichern (DevTools-Console)

  1. Wähle das Control und klicke Als Variable speichern.
  2. Der Inspector legt es als $ft0 ab (das nächste als $ft1 …, das letzte immer auch als $ft) und zeigt einen Beispielaufruf wie $ft0.getText().
  3. Wechsle in die Console der DevTools und arbeite mit der Variable. Läuft die App im Launchpad in einem iframe, nennt der Inspector den Frame, den du oben links in der Console wählen musst.
Hinweis sap.m.Button gespeichert als $ft0 mit Beispielaufruf und Liste der Console-Variablen
Gespeichert als $ft0 – mit Beispielaufruf und der Liste aller Variablen des Frames.

Das Menü daneben speichert statt des Controls einen Bindungskontext oder ein Model. Die Variablen leben nur in der Seite, bis sie neu lädt; FrontTailor speichert nichts davon. Alle löschen räumt sie wieder ab.

Weitere Aktionen in den Details

  • Im Editor öffnen springt zur Quelldatei des Views in deinem lokalen Editor. Dafür richtest du einmal in Werkzeuge die Pfadzuordnung ein (Namensraum → lokaler Ordner).
  • Im Elements-Tab zeigen wählt das DOM-Element des Controls im Elements-Panel der DevTools aus.
  • Mit ab Pro stehen hier die KI-Einstiege Control erklären, Warum nicht sichtbar? und wdi5-Test – mit deinem eigenen Schlüssel, siehe KI-Assistent.

Typische Probleme

Was du siehstUrsache und Lösung
Der Baum bleibt leerDie Seite hat (noch) kein UI5 geladen, oder der Host ist nicht freigegeben. Oben im Panel muss Verbunden stehen – siehe Domain freigeben.
„Das gewählte Control hat keine Zeile im Baum“Das Control hängt an keinem UI-Bereich, etwa ein geschlossener Dialog. Die Details sind trotzdem vollständig; öffne den Dialog in der App und wähle das Control erneut.
„nicht gerendert“ im Kopf der DetailsDas Control ist ausgeblendet oder noch nicht angezeigt und lässt sich deshalb in der Seite nicht hervorheben.
Editoren sind ausgegrautDer Host ist als PROD markiert. Live-Edit ist dort absichtlich gesperrt.

Siehe auch

Fundstellen auf dieser Seite

Die hochgestellten Ziffern im Text verweisen hierher. Antippen zeigt die Fundstelle direkt an der Textstelle, alle Fundstellen der Website stehen gesammelt auf einer Seite.

  1. 1

    Control Inspector mit Pick-Modus und „Kopieren als“ ↑Produkt · FrontTailor-Produktdokumentation, ADR-005 „Control Inspector“ · geprüft am 09.11.2026

  2. 2

    Vom Request zum Control springen ↑Produkt · FrontTailor-Produktdokumentation, ADR-010 „Zum Control springen“ · geprüft am 09.11.2026

  3. 3

    Entwickler-Komfort ↑Produkt · FrontTailor-Produktdokumentation, ADR-039 „Entwickler-Komfort“ · geprüft am 09.11.2026

Häufige Fragen

Kurz beantwortet.

Wie öffne ich den UI5 Inspector von FrontTailor?
In den DevTools (F12) das Panel FrontTailor öffnen und den Tab Inspector wählen – oder in der App Alt+Shift+F drücken; dann öffnet sich das Side-Panel im Pick-Modus.
Kann ich mit dem Inspector Properties auf PROD ändern?
Nein. Auf einem als PROD markierten Host ist Live-Edit gesperrt, im Panel und zusätzlich im Hintergrund der Extension. Lesen, Kopieren und Als Variable speichern bleiben erlaubt.
Was kostet der Inspector?
Nichts. Der Inspector gehört zur kostenlosen Community-Edition und braucht kein Konto. Nur die KI-Einstiege in den Details brauchen Pro.
Funktioniert der Inspector im Fiori Launchpad und in iframes?
Ja. Er läuft im Top-Frame und in iframes; ein Klick im Pick-Modus schaltet ihn auf den Frame des gewählten Controls um.

Deine Frage ist nicht dabei? Sprich mich an: +43 664 1964199 office@clouddna.at Schreib mir

Kontakt

Zehn Tabs zu viel? Sprich mit uns.

Pro und Team kaufst du direkt hier. Für Enterprise, Sideload, Richtlinien, einen Workshop oder einen hartnäckigen Fehler in eurer Fiori-Landschaft: Schreib mir. Ich antworte innerhalb eines Werktags, persönlich.

Martin KochGeschäftsführer, CloudDNAIch lese jede Anfrage selbst und antworte persönlich.