Warum sich der Einsatz von Visual Studio auch für Python-Entwickler lohnt

Python-Projekte mit Visual Studio? Aber sicher!
Kommentare

Neben vielen weiteren Neuerungen hat Visual Studio 2015 auch einen Support für die Programmiersprache Python mitgebracht. Die dazugehörigen Python Tools für Visual Studio (PTVS) stehen mittlerweile in der Version 2.2 zum Download bereit – dem Schreiben von Python-Codes in Microsofts IDE steht demnach nichts im Weg. Warum sich der Einsatz von Visual Studio auch für Python-Entwickler lohnt.

Die Python Tools für Visual Studio sind Open Source Tools und gehören zur Azure Machine Learning Group. Sie sollen Entwickler in allen möglichen Bereichen bei der Entwicklung mit Visual Studio unterstützen, sprich beim Editieren, bei IntelliSense, beim Debuggen und beim Bereitstellen von Anwendungen in Microsoft Azure. Seit kurzem stehen sie in der Version 2.2 über GitHub zum Download bereit, alternativ finden sie sich im Visual-Studio-2015-Installer unter Custom > Programming Languages (für Nutzer von Visual Studio 2012 und 2010 stehen die Tools in der Version 2.1 ist übrigens noch immer über CodePlex zur Verfügung). Um Neueinsteigern den Umgang mit den Tools zu erleichtern, stellt das Visual-Studio-Team außerdem Video-Walkthroughs, Dokumentationen, und einige andere Einstiegshilfen bereit. Theoretisch kann man also gleich mit dem Entwickeln loslegen. Doch warum lohnt sich der Einsatz von Python in Visual Studio überhaupt? Steve Dower, Microsoft Software Engineer/ Python Tools, hat sich diese Frage einmal vorgenommen und die wichtigsten Gründe dafür zusammengefasst.

IntelliSense

Eine gute Hilfestellung bei der Bearbeitung von Quellcode ist in Visual Studio IntelliSense. C#- und Visual-Basic-Entwickler erhalten hierüber alles, was sie brauchen, um mehr über den Code zu erfahren, also Parameterinformationen, QuickInfos und vor allem auch Wort-Vervollständigungen. Für Python-Entwickler sah das in der Vergangenheit nicht ganz so gut aus, sie mussten sich mit minimalen Code-Vorschlägen und Basis-Syntax-Highlighting zufriedengeben.

Wie Steve Dower schreibt, sei es beim Erstellen von Python-Code anders als bei vielen anderen Programmiersprachen zwar nicht notwendig, Types überall zu spezifizieren, weshalb beim Coden eine Menge Zeit eingespart werden könne. Allerdings setze das auch ein tiefes Verständnis des zu erstellenden Programms voraus sowie jede noch so kleine Hilfe vom verwendeten Editor. Genau hier ist aber der Haken, denn Dower zufolge stellen die meisten Editoren keine sonderlich hilfreichen Tipps bereit. Viele Entwickler seien daher dazu gezwungen, den Überblick über die gesamte Arbeitsweise des Programms selbst im Kopf zu behalten.

Das soll sich nun aber ändern: Via Full-Program-Analyse werden ab sofort auch Python-Entwickler in Visual Studio unterstützt. Dower erläutert:

Using full-program analysis, we track variables from the first time they are initialized to every place they are used. You can mouse-over any variable to see what types it could be at that point, or “dot-through” to see its members.

p1

© Microsoft

Auch für die gängigsten Python Patterns habe man die Analyse ausgebessert. Die folgenden Aktionen sollten jetzt problemlos funktionieren:

• Put different types into a tuple and then unpack them later
• Call a function with different arguments and look at the return values
• Add a value to a list that’s been passed into a function
• Make a subclass and start typing some method overrides

Debugging

Ähnlich wie IntelliSense ist auch das interaktive Debuggen in Python eine relativ neue Entwicklung. Python-Entwickler verbringen in der Regel viel Zeit damit, zwischen Command-Prompt-Fenstern und dem Editor hin und her zu springen. Um diesen Workflow zu vereinfachen, greifen sie auf frühe Command-Line-Debugging-Tools zurück, wie zum Beispiel das nachfolgende

p2

© Microsoft

Bei kleineren Projekten ist diese Art des Debuggens durchaus zu tolerieren, dennoch kann es sehr verwirrend sein, sich auf diese Weise durch den Code zu bewegen. Je komplexer das Projekt, desto ineffizienter wird das Verfahren.

Hier können die Python-Tools Abhilfe schaffen, denn damit lassen sich die wichtigsten Debugging-Funktionen von Visual Studio nutzen. Die IDE bietet auch für Python-Entwickler eine bessere Übersicht beim Debuggen, was den Prozess erheblich erleichtern kann. Dower erklärt:

Visual Studio overlays the debugging interface directly on your code in the editor, so you can see your breakpoints, current statement, and call stack in the same context.

Hinzu kommt, dass anpassbare Watch-Fenster automatisch aktualisiert werden. Werte lassen sich somit tracken, ohne dass sie wiederholt angefragt werden müssen.
Da Visual Studio für das Debuggen auf verschiedene Standard-Python-Schnittstellen zurückgreift, ist keine spezielle Version von Python erforderlich, um entsprechende Funktionen nutzen zu können. Ein weiterer Vorteil ist, dass erstellter Code sowohl auf Windows als auch auf jeder anderen Plattform ausführbar sein soll.

Hilfe bei großen Projekten

Jeder hat eine andere Vorstellung davon, wann ein Projekt als wirklich groß zu erachten ist. Umfasst es hunderte von Dateien? Tausend Klassen? Oder doch eher hunderttausend Zeilen Code? Unter welchen Kriterien auch immer man ein großes Projekt einstuft, eines ist Fakt: Je umfangreicher es ist, desto schwieriger ist es für Entwickler, den Überblick darüber zu behalten oder gar Änderungen vorzunehmen.

In Visual Studio gibt es einige hilfreiche Tools, die beim Auffinden von Referenzen, Klassen und Funktionen unterstützen. Ein absolut essentieller Shortcut ist mit Sicherheit F12 (Go to Definition) in Visual Studio. F12 bringt (auch Python-)Entwickler zur Definition einer Methode, wenn der Cursor auf dem Methodenaufruf steht. Oder zur Definition einer Klasse, wenn der Cursor auf dem entsprechenden Classname steht. Der Shortcut lässt sich am Tag also sicher mehrmals einsetzen. Beim Navigieren durch den Code kann sich außerdem Find All References als sehr nützlich erweisen, während Navigate To dabei hilft, Dateien, Klassen oder Funktionen via Filterfunktion aufzufinden.

p3

© Microsoft

Application Lifecycle Management mit Python-Projekten

Visual Studio Online bietet ein umfangreiches Feature-Set in Sachen Application-Management. Darunter TFS, Git Version Control, interaktive Code-Reviews, Team Rooms, Deployment-Services, Planungs-Dashboards und vieles mehr. All diese Features lassen sich auch für Python-Projekte direkt in Visual Studio nutzen – entweder über das Team-Explorer-Everywhere-Plugin für Eclipse oder über einen Webbrowser nach Wahl.

Alle weiteren Infos finden sich im Visual-Studio-Blog und auf der GitHub-Release-Seite.

Aufmacherbild: Super Pastel Ball Python von Shutterstock/Urheberrecht: Ryan M. Bolton

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -