Visual Studio Code Extension für Python

„Mit AREPL könnt ihr kleine Python-Codeabschnitte ausführen, ohne euch um das Debugging zu kümmern.“
Keine Kommentare

Python steht derzeit hoch im Kurs, daher existieren viele entsprechende Erweiterungen für Visual Studio Code. Wir haben mit dem Entwickler Caleb Collins-Parks über seine beliebte VS Code Extension AREPL gesprochen.

Die Erweiterung AREPL soll die Verwendung der beliebten Programmiersprache Python in Visual Studio Code erleichtern. Wir haben deren Entwickler Caleb Collins-Parks dazu befragt, wofür seine Extension eingesetzt werden kann, was man dafür benötigt und für welche Use Cases er sie empfiehlt. Auch anfängliche Schwierigkeiten bei der Vermarktung kamen zur Sprache. Inzwischen hat die beliebte Extension über 160.000 Downloads vorzuweisen.

Entwickler: Du hast eine Visual Studio Code Extension mit Unterstützung für Python entwickelt. Was genau macht deine Erweiterung?

Caleb Collins-Parks: Mit AREPL könnt ihr kleine Python-Codeabschnitte ausführen, ohne euch um das Debugging kümmern zu müssen. Wann immer ihr aufhört zu tippen, wird der Code automatisch ausgeführt und das Ergebnis (Print Output, Variablen oder Fehlermeldungen) wird angezeigt. Die Idee ist eine nahtlose Entwicklungserfahrung, in der man sehen kann, was man programmiert, anstatt die Ergebnisse zu erraten und später unliebsamen Überraschungen zu begegnen.

Im folgenden Demo-Gif könnt ihr AREPL in Aktion sehen:

AREPL Demo-Gif; Quelle: Caleb Collins-Parks

Entwickler: Wir möchten gern mehr über deine Gründe erfahren, warum du die Extension entwickelt hast. Hast du an einem bestimmten Projekt gearbeitet oder hattest du einen spezifischen Use Case im Sinn?

Caleb Collins-Parks: Ich habe C#s LINQPad verwendet und wollte etwas Ähnliches für Python entwickeln. LINQPad hat einen unglaublich komfortablen Variablen-Viewer, der schnelles Prototyping des Scripts einfach macht. Das seht ihr im Screenshot:

C# in LINQPad, Quelle: LINQPad

Das Ähnlichste, das für Python existiert, ist Jupyter Notebook, aber das ist für wissenschaftliche Berechnungen gedacht. Ich wollte etwas Allgemeineres, das sich jeder leicht aneignen und verwenden kann.

Gleichzeitig wurde ich auch durch Light Table und Bret Victors Talk über Learnable Programming inspiriert. Von dort stammt der Echzeit-Aspekt. Und letztlich hätte ich das Projekt vielleicht nicht verwirklicht, wenn Shideh Naderi mir nicht gesagt hätte, dass ich meinen Träumen folgen soll.

Entwickler: In welchen Anwendungsfällen ist deine Extension deiner Meinung nach am sinnvollsten?

Caleb Collins-Parks: Sie ist am sinnvollsten, wenn man kleine Scripts oder Codeschnipsel für größere Programme erstellt. Zum Beispiel habe ich es im Rahmen meiner Arbeit dazu verwendet, Code zu schreiben, der reguläre Ausdrücke beinhaltet. Regule Ausdrücke sind sehr empfindlich und man muss lange daran herumschrauben, bis sie genau richtig sind. Durch die Entwicklung in AREPL kann ich sofortiges Feedback enthalten, ob mein Code funktioniert. So lange der Code in unter drei Sekunden ausgeführt wird (Ewigkeiten in Computerzeit), ist die Programmierung in AREPL ein Kinderspiel.

Entwickler: Sind dir während der Entwicklung der Extension Schwierigkeiten begegnet, und wenn ja, wie bist du damit umgegangen?

Caleb Collins-Parks: Marketing war (und ist immer noch) der schwierigste Teil. Ich hatte Erfahrungen in der Programmierung, aber keine im Marketing. Als ich eine Electron-App hatte, war es sehr schwierig, Downloads zu erzielen. Reddit-Einträge, Meetups, IRC, nichts davon brachte mich wirklich weiter. Sogar nach einem Lightning Talk auf der PyCon hatte ich kaum Downloads. Schließlich migrierte ich zu einer VS Code Extension, stellte sie in den Marketplace, und dann folgten einige Klicks.

Von diesem Punkt an war es ein langsamer Anstieg durch die Such-Rankings. Ich erhielt einige 5-Sterne-Bewertungen, aber die Extension war immer noch etwa 30 Ergebnisse weiter unten. Eines Tages änderte ich den Titel, um ihn für den Suchalgorithmus zu optimieren, und es stellte sich heraus, dass das alles war, was ich gebraucht hatte! AREPL schoss auf Platz 2 der Suchergebnisse in VS Code für „Python“. Jetzt habe ich viele neugierige Nutzer, sodass die Herausforderung darin besteht, meine App so gut zu machen, dass diese Nutzer bleiben und sich die Nutzerbasis erweitert.

Entwickler: Sollte man bei der Verwendung der Extension etwas Besonderes beachten?

Caleb Collins-Parks: Langlaufende Programme oder Web Requests können die Echtzeitevaluation umständlich und langsam machen. Die Echtzeitevaluation ist allerdings optional – ihr könnt stattdessen AREPL.whenToExecute auf onSave (auf Speichern) oder auf onKeyBinding (auf Keyboard-Shortcut) stellen. AREPL besitzt auch die Fähigkeit, Daten zu cachen, was die Dinge beschleunigen kann. Wenn ihr auf Schwierigkeiten stoßt oder Feedback habt, erstellt ein Issue und ich werde euch dabei helfen. 🙂

Entwickler: Was sind die Voraussetzungen, um die Erweiterung zu nutzen?

Caleb Collins-Parks: Visual Studio Code und Python 3. Die Extension findet ihr hier.

Entwickler: Vielen Dank für das Interview!

Caleb Collins-Parks ist Site Reliability Engineer für 15Five. Er hat Freude daran, Träume Wirklichkeit werden zu lassen. In seiner Freizeit arbeitet er an Open-Source-Projekten auf GitHub und schreibt Artikel für Medium und dev.to.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -