In principe kun je elke teksteditor gebruiken om te programmeren in Python. Toch is dat niet de beste oplossing zodra je iets grotere programma’s begint te schrijven. We tonen je twee alternatieven om eenvoudiger én efficiënter te programmeren in Python: Thonny en Geany.
Filip Vervloesem
Linux Mint bevat standaard de xed-teksteditor om platte tekstbestanden te bewerken. Voor eenvoudige Python-scripts is dat op zich geen verkeerde keuze. Je kunt immers meerdere bestanden openen in tabs en xed ondersteunt zelfs syntax highlighting voor Python-code. Xed gebruikt dan verschillende kleuren en vette letters om de structuur van jouw code duidelijker weer te geven. Zo je in één oogopslag bijvoorbeeld de verschillende delen van een if-constructie. Ook merk je het sneller als je ergens een typeout maakt, omdat xed jouw code dan niet met de gebruikelijke opmaak toont. Syntax highlighting is standaard actief zodra je een bestand met extensie .py opent. Voor andere bestanden activeer je dat door op ‘Plain Text’ in de statusbalk onderaan te klikken en vervolgens ‘Python 3’ te kiezen. Via ‘File’ > ‘Preferences’ kun je instellen hoe xed moet omgaan met het inspringen van codeblokken. Standaard vervangt xed elk tab-karakter door 4 spaties, wat de aangeraden methode is voor Python-code. Met de optie ‘Automatic indentation’ springt een nieuwe regel even ver in als de vorige (in plaats van dat die helemaal vooraan begint). Spijtig genoeg is xed niet slim genoeg om de eerste regel na bijvoorbeeld een if-statement meteen een niveau verder te laten inspringen. Helemaal automatisch is dat dus nog niet!
Xed is een vrij eenvoudige teksteditor.
Thonny
Voor beginnende Python-programmeurs is Thonny een absolute aanrader. Thonny is een zogenaamde IDE of Integrated Development Environment voor Python. Een IDE bevat alle tools om je code te schrijven, te debuggen en te publiceren. De meeste IDE’s zijn ontwikkeld voor ervaren programmeurs en zijn vaak erg complex voor beginners. Ook Thonny bevat verschillende hulpmiddelen om te programmeren, maar dan zonder je meteen te overweldigen met talloze geavanceerde opties. In Linux Mint installeer je Thonny het makkelijkst via de Software Manager, al is dat wel een oudere versie. De laatste versie vind je op https://thonny.org. Thonny’s venster is opgedeeld in drie deelvensters: één of meerdere bestanden linksboven, een interactieve Python-shell linksonder en de zogenaamde Assistant rechts.
Debuggen
Een groot voordeel van Thonny (in vergelijking met xed) is dat je jouw code meteen in Thonny kunt uitvoeren (via ‘Run’ > ‘Run current script’ of F5). De Python-shell toont je dan de eventuele uitvoer en foutmeldingen van je programma. Maar je kunt de shell ook gebruiken om snel enkele losse regels Python-code uit te voeren. Ben je bijvoorbeeld een regex aan het uitwerken, dan test je die eerst even in de shell vooraleer je ze in je programma plakt. Soms is het echter minder handig om je programma in Thonny te starten. Denk bijvoorbeeld aan een daemon-proces dat blijft draaien en zo Thonny’s shell bezet houdt. In zulke gevallen start je het script in een apart terminalvenster via Ctrl-t. Loopt er ergens iets mis in je script en wil je de code stap voor stap uitvoeren? Ook dat kan: gebruik dan één van de debugging-opties uit het Run-menu.
Tab completion
Thonny bevat verder heel wat handigheidjes om je te helpen bij het schrijven van je code. Zowel de syntax highlighting als het automatisch inspringen zijn beter uitgevoerd dan in xed. Vergeet je bijvoorbeeld een aanhalingsteken, haakje of accolade te sluiten, dan toont Thonny meteen een groot deel van je code in het grijs. En Thonny weet ook dat de eerste regel na een if-statement één niveau moet inspringen. Tab completion is dan weer erg handig om typwerk te besparen. Zodra je bijvoorbeeld een deel van een lange variabele hebt ingevoerd, druk je op tab om de naam automatisch aan te vullen. Is er meer dan één mogelijke aanvulling, dan toont Thonny die in een uitklapmenu en selecteer je de gewenste aanvulling. Daarnaast is tab completion best nuttig als geheugensteuntje als je even de precieze details van de Python-syntax vergeten bent. Weet je bijvoorbeeld niet meer hoe je een string omzet naar hoofdletters? Vul dan de naam van de string in, gevolgd door een . en druk tab. Thonny toont dan alle beschikbare methodes voor een string object. Het Assistant-venster toont je tot slot suggesties bij fouten in je code. Vergeet je bijvoorbeeld een with-statement af te sluiten met een :, dan zal de Assistant je daarop wijze zodra je de code uitvoert.
De ingebouwde shell en assistant helpen je bij het testen en debuggen van je code.
Geany
Terwijl Thonny specifiek ontwikkeld is voor Python, is Geany geschikt voor een vijftigtal programmeertalen. Geany houdt een beetje het midden tussen een erg uitgebreide teksteditor en een volledige IDE. Het voordeel? Geany is nog steeds behoorlijk overzichtelijk én erg snel, in tegenstelling tot meer complexe IDEs zoals Eclipse of PyCharm. Ook hier is het venster in drie verdeeld: links zie je twee tabs om snel te wisselen tussen documenten of om naar een variabele te springen in je code, rechts schrijf je je code en onderaan vind je nog een klein venster met vijf tabs. In de Scribble-tab bewaar je tijdelijk stukjes code (of andere tekst), die je misschien later nodig hebt in je script. En in de terminaltab open je bijvoorbeeld een interactieve Python-console om – net als in Thonny – korte stukjes code te testen.
Subtiele verschillen
Druk je op F5, dan start Geany je Python-programma in een terminalvenster, tenzij je de optie ‘Execute programs in the VTE’ aanvinkt onder ‘Edit’ > ‘Preferences’ > ‘Terminal’. In dat geval zie je de uitvoer in de terminaltab onderaan, net zoals in Thonny. Het automatisch aanvullen van code werkt ook net even anders. Gebruik de sneltoets Ctrl-spatie in plaats van Tab. In de ‘Completions’-tab van de Preferences kun je trouwens ook aanvinken dat Geany haakjes of aanhalingstekens meteen voor jou moet sluiten. Vergeet je dat vaak te doen, dan bespaart die optie je veel frustratie!
Extra mogelijkheden
In Geany houd je makkelijker het overzicht over je code doordat je blokken zoals een for-constructie of een lange dictionary naar wens kunt inklappen. Zo kun je je focussen op de relevante delen van de code. Onder ‘Edit’ > ‘Format’ vind je verschillende functies om snel bepaalde delen van je code te herformatteren. Denk aan meer of minder inspringen (als je bijvoorbeeld een if-statement rond een codeblok wilt zetten) of het in commentaar zetten van een deel van de code (als je die tijdelijk wilt uitschakelen). Tot slot is Geany nog verder uit te breiden met heel wat plug-ins. Met het pakket geany-plugins installeer je ze allemaal. Daarna activeer je de gewenste plug-ins via ‘Tools’ > ‘Plugins’. Er bestaan onder andere plug-ins voor integratie met een versiebeheersysteem, een bestandskiezer in de zijbalk of een split window layout om twee bestanden naast of onder elkaar te bewerken.
Geany is een erg minimalistische IDE die prima werkt voor Python-code.
Conclusie
Wil je serieus leren programmeren in Linux Mint? Laat dan de xed-teksteditor zo snel mogelijk links liggen. Voor absolute beginners in Python is Thonny wellicht de beste keuze. Het kost niet veel tijd om vertrouwd te geraken met Thonny en het programma geeft je nuttige tips bij veelgemaakte beginnersfouten. Ben je klaar voor de volgende stap? Voor grotere programma’s met meerdere (en langere bestanden) werkt Geany net wat prettiger én efficiënter dan Thonny.