Ich bin gerade dabei, meine Webentwicklungsarbeit von klassischen IDEs auf die Webbrowser-Konsole zu übertragen. Dies erfordert häufiges Bearbeiten des vorhandenen Quellcodes, was im Moment bedeutet ...
- Protokollierung der Quelle, zB
console.log(myFunc.toString())
- Kopieren des Textes in die Zwischenablage. Dies kann auf mindestens zwei Arten erfolgen:
- klicke RMBauf die Konsolennachricht und wähle Copy Message(leider wird dabei auch Müll kopiert)
- Ziehen Sie LMBvom oberen zum unteren Rand der Nachricht und drücken Sie Ctrl+C(leider ist das Auswählen von Text durch Ziehen fehleranfällig und insgesamt zeitaufwändig)
- (verstopft)document.execCommand('kopieren')kann nur ausgelöst werden durchKlickereignisse
- Einfügen des Textes in die Konsoleneingabe
Ich habe meine gewünschten Arbeitsabläufe bewertet:
- A-Stufe: Ich kann die Konsoleneingabe direkt durch Aufruf einer einzigen Funktion füllen, keine zusätzliche Maus- oder Tastaturinteraktion, z. B.
edit("some text")
direktes Kopieren und Einfügensome text
- B-Stufe: Ich kann Text in die Zwischenablage kopieren, indem ich eine einzelne Funktion aufrufeohneDOM-Änderungen, nur Ctrl+Vnotwendig zum Einfügen des Zwischenablage-Inhalts, zB
copy("some text")
- C-Stufe: wie B-Tier, aber DOM-Änderungen sind zulässig
- X-Stufe: alles, was Browsererweiterungen beinhaltet, um entweder eine A-, B- oder C-Tier-Lösung zu erreichen
Antwort1
Die A-Tier-Lösung kann nicht umgesetzt werden, da dies erfordern würde, dass der in die Befehlszeile eingegebene Code automatisch durch etwas anderes ersetzt wird, was nicht möglich ist. D. h. es gibt keine integrierte Funktionalität dafür undErweiterungen haben derzeit (ab Firefox 69) keinen Zugriff auf die Kommandozeile.
Das Kopieren ist zwar problemlos möglich über diecopy()
BefehlWenn du also eine Funktion in der Konsole bearbeiten möchtest, rufe sie einfach auf copy(myFunc.toString())
und füge sie anschließend über Ctrl+ ein V.
Dies ist natürlich etwas eingeschränkt, da Sie nur normale globale Funktionen bearbeiten können, keine Pfeilfunktionen, Objektmethoden oder ähnliches.
Für echte Live-Editierfunktionen müssen Sie warten, bisFehler 771339bzw. es ist überlegenFehler 1559482Implementiert sein.