13.1.9. De seriële terminal

Het paneel langs de onderkant van het hoofdvenster is de seriële terminal: alles wat het draaiende script naar standaarduitvoer schrijft – elke print(), elke waarschuwing, elke traceback – stroomt er live in. Het is de stem van het script tijdens de ontwikkeling, en het lezen ervan is de helft van het debuggen. Open en sluit het via de knop in de onderste statusbalk; net als de andere panelen kun je het groter slepen of helemaal samenvouwen.

De seriële terminal die de FPS-prints van een script toont, de traceback die het beëindigde, en de banner van de camera

De seriële terminal: de prints van het script, de traceback die het script beëindigde, en de banner van de camera na het stoppen.

De terminal houdt een diepe scrollback bij (100.000 regels), en zijn werkbalk biedt een filtervak dat de weergave beperkt tot regels die overeenkomen met een zoekopdracht, een opslagknop die de hele buffer naar een tekstbestand schrijft, en een omloop-schakelaar voor lange regels. De tekst zoomt met Ctrl+scroll net als de editor. Scroll omhoog en het automatisch scrollen pauzeert zodat je eerdere uitvoer kunt lezen terwijl het script blijft printen; scroll terug naar de onderkant en het hervat.

Het paneel is alleen-uitvoer – het toont wat de camera afdrukt maar accepteert geen getypte invoer. Voor een interactieve REPL-prompt op de camera open je in plaats daarvan een zelfstandig terminalvenster.

Tracebacks zijn gekoppeld aan de editor. Wanneer een script afsterft met een onafgehandelde uitzondering, parseert de IDE de traceback terwijl deze wordt afgedrukt, springt de editor naar de regel die het probleem veroorzaakt en – wanneer het falende bestand een module op de schijf van de camera is in plaats van het geopende script – opent dat bestand op de falende regel. Je gaat rechtstreeks van “het is gecrasht” naar de regel die crashte.