TeXstudio-Skripting mit Systemaufruf und "?"

TeXstudio-Skripting mit Systemaufruf und "?"

Ich möchte in Texstudio ein einfaches Skript erstellen, mit dem ich in meinem Browser nach einem ausgewählten Wort suchen kann.

Alles funktioniert ganz einwandfrei, außer dass ich den Abfragebefehl nicht richtig aufrufen kann.

Das "?" scheint ein Cut-off zu sein. Aber Ersetzen, URL-Kodierung usw. funktionieren auch nicht.

Wie kann ich das „?“ in der URL kodieren oder gibt es ein Flag, das ich ausprobieren könnte?

Ich habe system() und buildManager.runCommand() ausprobiert, beide machen in diesem Fall dasselbe.

%SCRIPT
u=encodeURI("https://ecosia.org/search?q="+cursor.selectedText())
//u=encodeURI("https://ecosia.org/search\?q="+cursor.selectedText())
//u="https://ecosia.org/search\\%3Fq="+cursor.selectedText()
//u="https://ecosia.org/search%3Fq="+cursor.selectedText()
//u="https://ecosia.org/search?q="+cursor.selectedText()
//u="https://ecosia.org/search\?q="+cursor.selectedText()
//buildManager.runCommand("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \""+u+"\"")
system("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \""+u+"\"")

Dies sind einige der Kombinationen, die ich ausprobiert habe ... aber keine funktionierte wie beabsichtigt. Das Ergebnis im Protokoll sieht folgendermaßen aus:

Prozess gestartet: "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" "https://ecosia.org/search

Jede Idee ist willkommen. Danke

Antwort1

Ich habe die Antwort selbst gefunden und werde sie für alle posten, die daran interessiert sein könnten.

Als ich mich in den Quellcode in buildmanager.cpp vertiefte:

else if (str.at(i) == QChar('?')) {
if (str.at(++i) == QChar('?')) add = "?";

Das heißt, mein Makroskript funktioniert, wenn ich Folgendes mache:

%SCRIPT
u="https://ecosia.org/search??q="+cursor.selectedText()
system("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \""+u+"\"")

Hinweis: Das "??" wird im Systemaufruf zu "?". Dasselbe gilt für % und @

Jetzt kann ich den markierten Text direkt durchsuchen. (ich habe den URL-Code entfernt, da er sich aufgrund des fehlenden %) nicht wie erwartet verhält.

verwandte Informationen