Entwicklungsumgebung (IDE) Visual Studio Code für die Python-Entwicklung einrichten

Microsofts kostenlose Entwicklungsumgebung (IDE) Visual Studio Code hat sich recht schnell zu einem der beliebtesten Tools für die Entwicklung in Python gemausert. Wir wollen uns die IDE hier so einrichten, dass die Python-Entwicklung gut von der Hand geht. Im Folgenden beschreibe ich, was meiner Meinung nach zu einer produktiven Visual-Studio-Code-Einrichtung für eine reibungslose Python-Entwicklung gehört.

Python installieren

Hat man ohnehin die aktuelle Python-Version am Start, kann man sich diesen Schritt sparen, ansonsten beginnen wir mit der Installation von Python. Die neueste Version für die gängigen Betriebssysteme wie macOS, Windows und Linux ist unter python.org erhältlich. Wichtig ist, dass man eine aktuelle Version verwendet. Derzeit beginnt diese mit einer „3“. Zum Zeitpunkt der Erstellung dieses Beitrags ist die Version 3.7.4 aktuell.

Visual Studio Code installieren

Als nächstes widmen wir uns dem Download unserer hier bevorzugten Entwicklungsumgebung Visual Studio Code – häufig als VS Code abgekürzt. Auch hier gibt es Versionen für die bekannten Betriebssysteme macOS, Windows und Linux. Hat man die geladene Anwendung in das Programme-Verzeichnis verschoben, kann es nun mit der eigentlichen Einrichtung losgehen.

Python-Version sicherstellen

Per Standardeinstellung verweist der Aufruf von Python im Terminal auf die inzwischen veraltete 2er-Version. In VS Code stellen wir sicher, dass wir die 3er-Python-Version einsetzen, indem wir nach dem Öffnen oder Anlegen einer Datei mit Python-Code prüfen, ob unten links etwas in der Art wie „Python 3.7.4 64-Bit“ steht. Falls das nicht der Fall ist, lässt sich das mit einem Klick auf den dortigen Eintrag ändern. VS Code präsentiert dann eine Reihe verfügbarer Python-Umgebungen unter anderem auch die zuvor aufgespielte aktuelle Python-Installation. Diese wählt man für das eigene Projekt aus.

Schriftart festlegen

Eine für mich sehr wichtige Komponente bei der Entwicklung ist die verwendete Schriftart beim Coden. Sie sollte monospaced und gut lesbar sein, denn schließlich verbringen wir sehr viel Zeit vor unserer Entwicklungsumgebung und da sollte die Schriftart genau unseren Geschmack treffen. Meine Empfehlung hierfür ist Hack. Diese Schriftart gehört nicht zum Lieferumfang des Betriebssystems und muss daher separat installiert werden.

Wir wollen einmal die Schriftart und die Schriftgröße einstellen. Mit dem Tastenkürzel COMMAND+Shift+P öffnet man die Kommandopalette. Dort tippt man „open user“ und VS Code ergänzt hoffentlich „settings“, so dass dort „open user settings“ eingeblendet ist. Diesen Eintrag wählt man durch das Betätigen der Eingabetaste aus. Hier kann man unterschiedliche Einstellungen verändern; unter anderem auch die Schriftart, Schriftgröße und die Farben (Themes).

Aus der Liste links klappen wir „Text Editor“ auf und wählen „Font“ aus. Hier tragen wir – falls gewünscht – unter „Font Family“ die Schriftfamilie ein, die wir präferieren – in meinem Fall „Hack“.

Mir ist die Voreinstellung zu klein, daher trage ich unter „Font Size“ die Größe „13“ ein. Das soll es fürs Erste mit den Anpassungen gewesen sein. Kommen wir nun zu den Python-spezifischen Erweiterungen.

Wichtige Erweiterungen für Visual Studio Code

Das Interessanteste an VS Code sind sicherlich die vielen Erweiterungen, die die Community für eine angenehmere Entwicklungsarbeit bereitstellt. Die Installation dieser Plug-Ins ist sehr einfach, geschieht sie doch innerhalb von VS Code mit dem Aufruf des Extension-Managers.

Der Extension-Manager lässt sich entweder über das Tastenkürzel COMMAND+Shift+X oder mit einem Mausklick auf das unterste Symbol auf der linken Seite – das mit den kleinen Quadraten – anzeigen.

Nun sieht man empfohlene Erweiterungen und – eine funktionierende Internetverbindung vorausgesetzt – auch besonders beliebte Extensions. Klickt man eine Erweiterung an, so erhält man neben einigen Daten zur Beliebtheit, der Herkunft und der Bewertung der entsprechenden Extension auch die Möglichkeit, diese mit einem Knopfdruck zu installieren.

Python-Extension

Zum Zeitpunkt dieses Blogposts ist die beliebteste VS-Code-Erweiterung tatsächlich die Python-Extension von Microsoft und genau diese interessiert uns. Sollte diese Erweiterung nicht zu sehen sein, kann man in das Suchfeld über der Liste durch die Eingabe von „Python“ eine Suche danach starten.

Die Python-Extension bietet Unterstützung beim Testen, hilft beim Finden von Fehlern, bietet eine automatische Code-Erweiterung während der Eingabe und sorgt auch für die Einhaltung von Coding-Konventionen. Mit einem Klick auf den grün hervorgehobenen „Install“-Knopf spielt man die Erweiterung auf.

Pylint-Extension

Hat man die Python-Erweiterung installiert und beginnt zu coden, kommt von VS Code schnell der Hinweis, es wäre kein Linter vorhanden. Zumeist schlägt VS Code die Installation von Pylint vor und das tun wir auch.

Mit der Pylint-Erweiterung holt man sich quasi einen zweiten Coder mit an Bord. Während man schreibt, prüft der Linter, ob Probleme vorliegen. Falls er fündig werden sollte, kommt ein Hinweis, der nicht nur durch eine Hervorhebung darauf aufmerksam macht, sondern – in den meisten Fällen – auch erklärt, was das Problem ist und wie es sich womöglich beseitigen lässt. So hat man den Vorteil, dass man nicht jedes Mal den Code erst ausführen muss, um zu sehen, ob er funktioniert und ob nicht eine einfache vergessene Klammer das Ganze unausführbar macht. Eine vergessene Klammer beispielsweise entdeckt der Linter bereits vor der Ausführung.

Um zu sehen, was Pylint zur Behebung eines Problems vorschlägt, muss man den Mauszeiger einen Augenblick über die gekringelte rote Linie halten und ein Hinweis erscheint.

Zusätzlich lohnt es sich, den „Problems“-Reiter von VS Code im Auge zu behalten. Dieser Reiter lässt sich über den Menüpunkt „View“ -> „Problems“ oder auch mit dem Tastenkürzel COMMAND+Shift+M aufrufen. Dort sind die gefundenen Probleme innerhalb des Projekts aufgelistet. Bei größeren Projekten mit vielen Dateien findet man hier also auch Probleme, die nicht innerhalb der augenblicklich geöffneten Datei liegen.

PEP-8-Extension

Möchte jemand eine Verbesserung für Python vorschlagen, so tut er oder sie das, indem er oder sie ein „Python Enhancement Proposal“ (PEP) einreicht. Die bisher eingereichten PEPs sind auf der folgenden Webseite einsehbar: Python Enhancement Proposals (PEPs)

Einer der wichtigsten Vorschläge ist das PEP 8. Darin ist beschrieben, wie wohlgeformter Python-Code aussieht. Beispielsweise sollte eine Einrückung vier Leerzeichen weit sein. Eine Zeile Code sollte maximal 79 Zeichen haben. Eine Funktion oder eine Klassendefinition sollte von zwei Zeilen Code umrahmt werden. Diese und viele weitere Vorschläge für einen einheitlichen Stil sind in PEP 8 festgehalten.

Allerdings ist es mühsam, all diese Regeln zu lernen und sich peinlich genau daran zu halten. Hier hilft die Erweiterung PEP 8 — Style Guide for Python Code. Diese lässt sich so konfigurieren, dass beim Speichern einer Python-Datei der gesamte Code automatisch an den in PEP 8 vorgeschlagenen und von der Python-Community angenommenen Standard angepasst wird.

Mit dem Tastenkürzel COMMAND+Shift+P öffnet man die Kommandopalette, tippt „format document“ ein und bestätigt die Eingabe. Nun erscheint wahrscheinlich ein Hinweis, dass kein Formatter installiert sei, genauer „autopep8“ nicht gefunden werden könne. Der beliebteste der verschiedenen Formatter ist autopep8 und ist auch derjenige, der von der zuvor installierten Erweiterung „Python“ verwendet wird. Mit einem Klick auf „YES“ wird die Extension installiert. Öffnet man nun die Kommandopalette und tippt „format document“ ein, so steht autopep8 zur Verfügung und formatiert den Python-Code in der vordergründigen Datei gemäß der Regeln, die in PEP 8 definiert sind.

Insbesondere hilfreich ist es, wenn man nicht mehr händisch das Formatieren aufrufen muss, sondern wenn dies automatisch geschieht. Hierfür öffnet man die Einstellungen. Oben im Suchfeld gibt man „formatOnSave“ ein und setzt beim gefundenen Feld das Häkchen. Von nun an formatiert VS Code den Code automatisch bei jedem Speichervorgang.

Code-Runner-Extension

Um ein Programm laufen zu lassen, öffnen wir das in VS Code eingebaute Terminal und schreiben jedes Mal „python3 programmname.py“ und auch wenn wir mit dem Drücken der Tab-Taste den Namen des Programms automatisch ergänzen lassen können, dauert dieser Prozess doch viel zu lange und nervt beim Entwickeln. Zum Glück gibt es mit der Erweiterung Code Runner eine Abhilfe.

Zur Installation dieser Erweiterung öffnen wir mit einem Klick auf den Extensions-Knopf auf der linken Spalte oder durch das Betätigen des Tastenkürzels COMMAND+Shift+X den Extensions-Manager. In das Suchfeld tippen wir „Code Runner“ und installieren die Erweiterung mit dem orange-gelben „.run“-Icon von Jun Han. Zum Ende der Installation muss VS Code durch Betätigen des „Reload“-Knopfs einmal neu geladen werden und dann kann es losgehen.

Von nun an lässt sich ein Programm einfach mit dem Tastenkürzel CONTROL+OPTION+N ausführen. Was für eine Erleichterung. Zwei Dinge sind hierbei zu beachten:

  1. Die Datei muss vor dem Drücken des Tastenkürzels CONTROL+OPTION+N gespeichert werden. Hier empfiehlt es sich, häufiger mal das Kürzel COMMAND+S einzusetzen.
  2. Das Programm läuft in VS Codes „Output“-Fenster und nicht im Terminal. Hier lassen sich keine Eingaben des Anwenders vornehmen. Möchte man also User-Eingaben verarbeiten, muss man das eigene Programm weiterhin händisch über das Terminal starten.

Die Erweiterung verwendet zum Starten des Programms den Befehl „python -u“. Wir müssen also sicherstellen, dass der Aufruf „python“ nicht auf die alte Python-Runtime in der Version 2, sondern auf die aktuelle in der Version 3 zeigt. Hierfür öffnen wir die Kommandopalette mit dem Kürzel COMMAND+Shift+P und tippen „open settings (json)“. Es kommen zwei Ergebnisse und bei denen wählen wir „Open Settings (JSON)“. Aufpassen: Nicht „Open Default Settings (JSON)“ auswählen.

Wir finden eine Liste der von uns bisher getroffenen Einstellungen. In der letzten Reihe vor der schließenden Klammer ergänzen wir am Zeilenende ein Komma, betätigen den Zeilenumbruch und beginnen zu tippen: „“code-runner.exec“. Achtung: Das hochgestellte Anführungszeichen zum Start der Eingabe ist wichtig. Von den eingeblendeten Möglichkeiten entscheiden wir uns für „code-runner.executorMap“. Nicht erschrecken, denn nach der Auswahl erscheinen dort plötzlich viele neue Zeilen mit vielen Einträgen, auf die man nicht vorbereitet war. In diesen Zeilen ist definiert, womit Code Runner bestimmten Programmcode ausführen soll. Einer der Einträge lautet: „“python“: „python -u““. Hier können wir einfach den zweiten Teil des Eintrags ergänzen, so dass dort „“python“: „python3 -u““ steht. Wir sichern die Datei, schließen sie und von nun an führt Code Runner unseren Python-Code mit der Version 3 aus.

Fazit

Es sieht zunächst viel aus, was alles zu tun ist, um VS Code so einzurichten, dass die Entwicklung mit Python so reibungslos wie möglich vonstatten geht, aber es ist die Zeitinvestition auf jeden Fall wert.