Sicher. Ich freue mich, wenn die Informationen nützlich sein können. Ich möchte meine vorherige Aussage wiederholen:
Ich würde mich jedoch freuen, wenn ich mich diesbezüglich irren würde
.
- Kopieren Sie den folgenden C+±Code:
#include <iostream> int main() { std::cout << __FILE__; } - Öffnen Sie den Beitragseditor.
- Versetzen Sie den Editor in den Modus „Rich-Text-Editor“.
- Fügen Sie den kopierten Inhalt in den Editor ein.
Der Inhalt ist beschädigt:
#include
int main() {
std::cout << FILE;
}
(Beachten Sie, dass <iostream> unterdrückt wurde, da es wie ein nicht unterstützter HTML-Tag aussah, und __FILE__ als fette Auszeichnung behandelt wurde)
Dies könnte als Benutzerfehler angesehen werden, da es durch Auslösen eines Codeblocks vor dem Einfügen des Nicht-Prosa-Inhalts vermieden werden könnte. Wir könnten jedoch erwarten, dass der alternative Workflow, die Codeblockformatierung nachträglich auf eingefügten Inhalt anzuwenden, ebenso gültig wäre (wie im Markdown-Editor).
Ausrüstung
- Jede Arduino-Platine (offiziell oder von Drittanbietern)
Anweisungen
- Installieren Sie die Arduino IDE 2.3.6, die von der „Software“-Seite der Arduino-Website heruntergeladen werden kann:
https://www.arduino.cc/en/software/#ide-download-section - Starten Sie die Arduino IDE.
- Wählen Sie im Menü der Arduino IDE Datei > Neuer Sketch aus.
- Ersetzen Sie den Inhalt des neuen Sketches durch den folgenden Code:
void setup() { Serial.begin(9600); while (!Serial) {} // Warten, bis der serielle Port geöffnet ist. delay(500); // Einige Boards benötigen eine Verzögerung nach der Initialisierung des seriellen Ports. Serial.println("foo"); Serial.println("bar"); } void loop() {} - Wählen Sie im Menü der Arduino IDE Werkzeuge > Serieller Monitor, um die Ansicht Serieller Monitor zu öffnen, falls sie noch nicht geöffnet ist.
- Wählen Sie im Menü der Ansicht Serieller Monitor „9600“ aus der Baudratenauswahl.
- Laden Sie den Sketch auf Ihr Arduino-Board hoch.
- Wählen Sie die serielle Ausgabe aus dem Feld in der Ansicht Serieller Monitor.
- Kopieren Sie den ausgewählten Inhalt.
- Öffnen Sie den Discourse-Beitragseditor.
- Versetzen Sie den Editor in den Modus „Rich-Text-Editor“.
- Fügen Sie den kopierten Inhalt in den Editor ein.
Jede Zeile des kopierten Inhalts wird in einem separaten Codeblock platziert:
foo
bar
Wenn Sie den Inhalt der Zwischenablage untersuchen, sehen Sie, dass er zusätzlich zum erwarteten Inhalt vom Typ „text/plain“:
foo
bar
Auch den folgenden Inhalt vom Typ „text/html“ enthält:
<div style="color: rgb(78, 91, 97); font-family: monospace; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: nowrap; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; position: absolute; left: 0px; top: 0px; height: 18px; width: 1862px;"><pre style="margin: 0px;">foo
</pre></div><div style="color: rgb(78, 91, 97); font-family: monospace; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: nowrap; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; position: absolute; left: 0px; top: 18px; height: 18px; width: 1862px;"><pre style="margin: 0px;">bar</pre></div>
Da der serielle Monitor der Arduino IDE 2.x jede Zeile des kopierten Inhalts vom Typ „text/html“ fälschlicherweise in <pre>-Tags einschließt, ist die Darstellung jeder Zeile des eingefügten Inhalts als separater Codeblock durch den Rich-Text-Editor von Discourse korrekt und erwartet.
Wie beim anderen Problem, das ich oben beschrieben habe, kann die unerwartete Formatierung vermieden werden, indem Sie proaktiv die Codeblockformatierung auslösen, bevor Sie den Inhalt einfügen.