Ich bin gerade dabei, meine Webentwicklungsarbeit von klassischen IDEs auf die Webbrowser-Konsole zu verlagern. Die Konsole ist im Grunde ein JavaScriptREPL, was großartig ist, aber das bedeutet auch, dass es nur gültige JavaScript-Ausdrücke verarbeiten kann. Gibt es eine Möglichkeit, die Eingabe stattdessen an eine benutzerdefinierte Verarbeitungsfunktion umzuleiten?
Dies würde die Integration einer benutzerdefiniertenDSLdirekt in die Browserkonsole und lässt sie mehr wie ein natives Terminal erscheinen. Beispielsweise könnte der benutzerdefinierte Prozessor eine Eingabe von log hello
in den gültigen JavaScript-Ausdruck übersetzen console.log("hello")
undAuswertungEs.
Die beste Lösung, die mir derzeit eingefallen ist, ist die Verwendung eines sehr kurzen Funktionsnamens, z. B. $('log hello')
oder der etwas kürzereVorlagenliteralSyntax $`log hello`
. Beide Lösungen erfordern mindestens drei zusätzliche Zeichen, noch mehr Tastenanschläge und die Eingabe muss in Anführungszeichen/Häkchen/Klammern gesetzt werden.
Lösungen mit Browsererweiterungen würde ich auf jeden Fall akzeptieren, solange sie sich in die vorhandene Konsole integrieren lassen oder zumindest keine völlig neue Implementierung der Konsolenregisterkarte der Entwicklertools erfordern.
Antwort1
Die kurze Antwort lautet: Nein.
Wie Sie bereits geschrieben haben, erlaubt die eingebaute Funktionalität der Konsole nur dieAusführung von JavaScript-Code plus einiger Hilfsbefehle.
Und es gibt derzeit (ab Firefox 69)keine APIs für Erweiterungen zur Erweiterung der Funktionalität, nur einige, um neue Panels hinzuzufügen, und einige andere, die nichts damit zu tun haben.