Certo. Sono lieto se le informazioni possono essere utili. Vorrei ribadire la mia precedente dichiarazione:
Tuttavia, sarei felice di sbagliarmi su questo
.
- Copia il seguente codice C++:
#include <iostream> int main() { std::cout << __FILE__; } - Apri il compositore di post.
- Imposta il compositore sulla modalità “editor di testo ricco”.
- Incolla il contenuto copiato nel compositore.
Il contenuto è corrotto:
#include
int main() {
std::cout << FILE;
}
(si noti che <iostream> è stato soppresso perché assomigliava a un tag HTML non supportato, e __FILE__ è stato trattato come markup in grassetto)
Questo potrebbe essere considerato un errore dell’utente, poiché potrebbe essere evitato attivando un blocco di codice prima di incollare il contenuto non di prosa. Tuttavia, potremmo aspettarci che il flusso di lavoro alternativo di applicare la formattazione del blocco di codice retroattivamente al contenuto incollato sarebbe ugualmente valido (come avviene quando si utilizza l’editor Markdown).
Attrezzatura
- Qualsiasi scheda Arduino (ufficiale o di terze parti)
Istruzioni
- Installa Arduino IDE 2.3.6, che può essere scaricato dalla pagina “Software” del sito web di Arduino:
https://www.arduino.cc/en/software/#ide-download-section - Avvia Arduino IDE.
- Seleziona File > Nuovo Sketch dai menu di Arduino IDE.
- Sostituisci il contenuto del nuovo sketch con il seguente codice:
void setup() { Serial.begin(9600); while (!Serial) {} // Attendi che la porta seriale venga aperta. delay(500); // Alcune schede richiedono un ritardo dopo l'inizializzazione della porta seriale. Serial.println("foo"); Serial.println("bar"); } void loop() {} - Seleziona Strumenti > Monitor Seriale dai menu di Arduino IDE per aprire la vista Monitor Seriale, se non è già aperta.
- Seleziona “9600” dal menu del baud rate nella vista Monitor Seriale.
- Carica lo sketch sulla tua scheda Arduino.
- Seleziona l’output seriale dal campo nella vista Monitor Seriale.
- Copia il contenuto selezionato.
- Apri il compositore di post di Discourse.
- Imposta il compositore sulla modalità “editor di testo ricco”.
- Incolla il contenuto copiato nel compositore.
Ogni riga del contenuto copiato viene inserita in un blocco di codice separato:
foo
bar
Se ispezioni il contenuto degli appunti, vedrai che, oltre al contenuto atteso di tipo “text/plain”:
foo
bar
Contiene anche il seguente contenuto di tipo “text/html”:
<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>
Poiché l’IDE Arduino 2.x Serial Monitor racchiude erroneamente ogni riga del contenuto copiato di tipo “text/html” in tag <pre>, il rendering di ogni riga del contenuto incollato come un blocco di codice separato da parte dell’editor di testo ricco di Discourse è corretto e previsto.
Come per l’altro problema che ho descritto sopra, la formattazione imprevista può essere evitata attivando in modo proattivo la formattazione del blocco di codice prima di incollare il contenuto.