Visual Studio Code – Live Sharing Feature – PhpStorm Killer?

Von Roland Golla
3 Kommentare
Visual Studio Code

Web Developer setzen zunehmend als IDE auf Visual Studio Code. Aus gutem Grund, denn neben der Performance bringt das Microsoft-Produkt einen echten PhpStorm Killer mit – das Live Sharing Feature. JetBrains bekommt es auch noch nicht hin hier zu liefern und bekommtt jeden Tag mehr „+1“ Anfragen, wann das Feature endlich kommt und verliert immer mehr an wertvollen Boden – auch in der PHP-Community. Und vielleicht geht es am Ende auch um Geld, denn Visual Studio Code ist kostenlos. Und das macht sich bei größeren Teams, Freelancern und Schülern schon bemerkbar.

Multi-Cursor Multi-Files – Visual Studio Code Live Sharing Feature – Never Code Alone

Visual Studio Code PHP-Training Codeception
Visual Studio Code PHP-Training Codeception

Pair Programming ist eine Sache, Mob Programming eine andere. Um tatsächlich mit mehreren Leuten effizient zu arbeiten, also was die Anzahl der eingegebenen Zeichen angeht, ist Visual Studio Code eine absolute Bereicherung und um Längen besser als PhpStorm. Ähnlich wie bei der gemeinsamen Arbeit in einem Google-Doc ist es hier möglich, mit mehreren Cursorn zu arbeiten, die farblich unterschiedlich dargestellt werden. Hier kann natürlich so auch jeder sein eigenes Tastaturlayout unabhängig vom Betriebssystem und alle seine Shortcuts und Live-Templates nutzen. Darauf gehe ich später noch einmal ausführlich ein. Genauso kann man auch an völlig unterschiedlichen Files arbeiten, ohne sich gegenseitig im Weg zu sein. Das ist extrem praktisch. Wenn man dann selber das File vom Kollegen öffnet, dann sieht man ihn auch wieder Live arbeiten. Ich selber nutze das regelmäßig für Code-Sprints in unserem EMMA-Projekt und auch, wenn ich mit mal kurz von einem PHP-Community-Freund auf die Sprünge helfen lassen möchte. Es ist insgesamt wesentlich komfortabler als mit Teamviewer zu arbeiten. Dazu gibt es dann auch noch eine Tonübertragung als zusätzliches Plugin.

Terminal separat freigeben – Sicherheit in Visual Studio Code-Reviews

Das Terminal in Visual Studio Code muss separat freigegeben werden, damit man hier auch wirklich sicher ist. Bei meinem Umstieg auf Linux hatte auch ich mir aufgrund eines schlechten Stackoverflow-Tipps die Rechte vom Root User zerschossen, weil ich global ein NPM-Package nicht laden konnte. Das war echt bitter, hartes Lehrgeld und noch einmal der komplette Prozess inklusive der Neuinstallation des Windows-Systems oben drüber. Zuerst war ich auf Ubuntu unterwegs, bin jetzt allerdings bei Fedora gelandet. Natürlich musste ich hier für den notwendigen sudo-Befehl auch mein Passwort eingeben. Trotzdem ist es wichtig gerade im Kontext von Symfony-Projekten Commands von der Command Line auszuführen. Und sei es nur um den Cache zu löschen oder Services zu debuggen. Trotzdem ist es eben optional, dass Terminal für die verbundenen User freizugeben. Das gefällt mir sehr gut.

Pair Programming und Code-Reviews bringen mehr als nur Zeit und Geld

Agiles PHP-Training
Agiles PHP-Training

Für gute Software sind Pair Programming und Code-Reviews wichtige agile Methoden und haben ihre Wurzeln im Extreme-Programming. Dadurch steigt die Softwarequalität, das Team arbeitet besser zusammen und identifiziert sich mehr mit der Arbeit. Im aktuellen Arbeitsmarkt sind das wichtige Argumente beim Employer Branding. Dazu sparen Pair Programming und Code-Reviews viel Zeit und erhöhen die Wettbewerbsfähigkeit. Kein Wunder also, dass es auch immer mehr Anspruch von Entwicklern an Tools in diesem Zusammenhang gibt. Traditionelles Pair Programming findet an einem Rechner und einem Arbeitsplatz statt. Hier kann man natürlich mehrere Tastaturen nutzen, beispielsweise die interne Laptop Tastatur und die verbundene Tastatur. Ich habe bereits in zwei Teams gearbeitet, die dafür auch eigens „War-Rooms“ hatten, in denen ein sehr großer Monitor und viele Funktastaturen genutzt werden. Allerdings ist das in Zeiten von dezentralen Arbeiten ein immer schwierigeres Unterfangen. Aber auch die Büro-Situationen werden angespannter, dass extra Räume einfach nicht mehr gehalten werden können und stattdessen mit Arbeitsplätzen und Mitarbeitern aufgefüllt werden. Das ist natürlich auch etwas besser für die Harmonie im Unternehmen, denn so einen Raum für Teamwork, den haben natürlich auch andere Abteilungen gerne und wenn es nur für Meetings oder Telefonate ist. Bei NCA arbeite ich in vielen Teams Remote als PHP-Freelancer für Testing und Refactoring und helfe auch immer wieder bei konkreten Fragen und habe natürlich auch soziale Projekte, wie EMMA, an denen wir auch mit mehreren Leuten gemeinsam arbeiten.

Plugins für Visual Studio Code

Eine große Stärke von PhpStorm sind die zahlreichen Plugins, die auch schon während der Arbeit passend vorgeschlagen werden und die sehr gute Autovervollständigung. Das alles inklusive Xdebug, Terminal und allem anderen hat Visual Studio Code aber auch. Es fehlt das Symfony-Plugin. Aber auch das wird nur eine Frage der Zeit sein, denn natürlich will der wachsende Markt auch bedient werden und Microsoft hat da sicherlich auch entsprechende Argumente und Ressourcen zur Verfügung. Ich persönlich nutze sehr viele Shortcuts und Live-Templates in PhpStorm und zeige mein Setup und meine Art zu programmieren ja jetzt auch öfter mal wieder auf Barcamps und Meetups. Zuletzt habe ich nur meine PhpStorm-Taschentricks auf dem TYPO3 Barcamp Ruhr in Essen gezeigt und konnte da doch auch wieder für große Begeisterung sorgen. Ich kann völlig verstehen, wie schwer es ist sein aktuelles Setup und seine Komfortzone zu verlassen. Aber am Ende ist es vielleicht auch wie ein Wechsel vom iPhone auf ein Android-Gerät, von Mac auf Linux oder von Sourcetree auf die Command Line. Alles geht mit allem, ist auch gar nicht so viel anders und auch schnell neu gelernt. Das richtige Werkzeug für die richtige Technologie. Ich kenne auch noch viele Entwickler, die mit Sublime gearbeitet haben und das Tool halt immer noch für String-Replacements nehmen. Am Ende ist es also eher ein Religionskrieg und das bringt ja einfach nichts außer Schaden. Sich deshalb aber den Zugang zu neuen Features zu verwehren, weil man an einem Logo und einer Marke festhält, ist einfach falsch und vor allem überholt.

Plattformunabhängig auf einer IDE arbeiten – Visual Studio Code

Seit knapp 3 Jahren bin ich PHP-Trainer bei der Entwicklungshilfe NRW mit dem Schwerpunkten Testing, Refactoring und Tool-Handling. Getreu dem Motto „20% mehr Entwickler werden gesucht – macht eure Entwickler doch einfach 20% effektiver“ habe ich für die Entwicklungshilfe NRW zahlreiche Schulungen gehalten. Immer mit der Funktastatur. Denn gemeinsames Lernen bringt auch viele Soft Skills und natürlich einen viel detaillierteren Know-How-Transfer, als stumpfer Frontalunterricht. Abgesehen davon muß man hier ja auch alle mitnehmen, abholen und keinen verlieren oder gar abhängen darf. Ziel der PHP-Schulungen ist es eben, das Team schneller zu machen und gleichzeitig die Motivation und Leidenschaft für den Job als Programmierer zu steigern. Jetzt arbeite ich schon seit sehr vielen Jahren auf Mac. Und das war auch bis vor zwei Jahren das überwiegende Setup der Teilnehmer. Aber durch die schlechte Performance im Zusammenhang mit Docker, dem schlechten Abschneiden der neuen Geräte mit der Tastatur und dem Adapter und der frechen Preis-Politik im Bezug auf Festplattenkapazität und Arbeitsspeicher, hat Apple sehr viel an Boden in der Entwickler-Community vor allem an Linux verloren. Und auch ich bin seit Anfang Dezember auf Linux mit Fedora auf ein Dell XPS mit 13 Zoll gewechselt. Aber auch Windows erfreut sich gerade im professionellen Entwickler-Umfeld wieder großer Beliebtheit. Die Synchronisation unterschiedlicher Geräte mit Smartphone, Laptop und Tablet muß unschlagbar sein. Auf Windows gibt es wohl auch bei Docker bedeutend weniger Performance Probleme, als bei Apple. Die oh-my-zsh Shell bekommt man hier übrigens auch zum Laufen. Tatsächlich kenne ich auch zunehmend immer mehr Admins, die auf Windows 10 unterwegs sind und für die sind Macs von Natur aus ein rotes Tuch. Das bedeutet für mich vor allem viele unterschiedliche Tastaturlayouts bei den PHP-Trainings. Dabei bin ich auch noch auf eine Gaming-Tastatur mit englischem Layout umgestiegen und frage mich ernsthaft, wie ich überhaupt 20 Jahre lang auf Deutsch programmieren konnte. Alle diese persönlichen Setups können jetzt gemeinsam über einen Sharing-Link zusammenarbeiten. Dabei kann jeder seine Tastatur nutzen und ist auch besser in der Schulung dabei. Das gibt neue Möglichkeiten, macht allen mehr Spaß und es führt auch kein Weg mehr daran vorbei. Visual Studio Code wird ab sofort bei den Codeception-Schulungen vorausgesetzt.

Vim ist mehr als nur Spielzeug

Mich selber ärgern immer mehr Dinge an IDEs. Die schlechte Performance, wenn man über eine Angular-CLI oder auch bei Codeception ein File generiert, etwas mit Composer macht oder über Git einen Branch wechselt. Dann wird hier immer direkt so eine nervige Indexierung aller Files angestoßen. Das ist in Visual Studio Code zwar bedeutend schneller, aber war es das bei PhpStorm nicht auch mal? IDEs machen halt Ärger und brauchen auch viel Aufmerksamkeit bei den zahlreichen Updates. Im Grunde basieren die Tools alle auf dem Php Actor. Der kann aber auch einfach global auf dem Betriebssystem oder als Plugin in Vim installiert werden. Vim kann dann auch automatische Vervollständigung und selber Use Statements schreiben. Auch hier läuft Xdebug. Und was genau brauche ich denn eigentlich noch mehr? Mir macht Vim echt Spaß und ich hatte ja nicht umsonst Daniel Siepmann schon zwei mal auf den “Never Code Alone”-Events. Auch bei den Core- Entwicklern des Symfony-CMS Sulu und auch bei Größen wie Benjamin Eberlei und Kore Nordmann ist Vim stets im Einsatz. Kore ist übrigens Speaker für ReactJS auf dem kommenden Apollo #NCAEvent in Nürnberg. Hier kann man extrem effektiv arbeiten und das Video von Coby Cheeze “Why Vim” hat mich auch absolut überzeugt. Gerade im Bereich Javascript sind sehr viele Coder mit Vim unterwegs und die arbeiten ja bekanntlich extrem viel mit CLI Tools, die ihnen ganze Filesets automatisch generieren. Ich denke das sind einfach viele gute Gründe.

Fazit Visual Studio Code – Sei kein User

Wir müssen fit bleiben. In Technologien, in Tools und im Kopf. Wir sollten das einsetzen, was uns am schnellsten und besten ans Ziel bringt. Unsere Arbeit ist geprägt von Innovationen und unser Toolset und unsere Setups, sind unsere Werkzeuge, die wir für die Erstellung von guter Software brauchen. Und das muß uns einfach wichtig sein. Die müssen schnell, sauber und stark sein. Das weiß ja nun mal jeder Gamer. Wenn wir uns immer Dingen unterordnen, dann können wir uns nicht entfalten und selber verwirklichen. Das gilt für beratungsresistente Kunden, schlechte Infrastruktur, schlechte Hardware am Arbeitsplatz und natürlich auch für unsere Tools. Das richtige Werkzeug für den richtigen Zweck. Pair Programming ist wichtig, es gilt “Never Code Alone”. Lasst euch helfen, Zack Link in eine E-Mail oder Slack und mal eben zusammen was gemacht. Nicht Teamviewer, und Passwort und dann bei einer schlechten Auflösung Code verstehen wollen. In der eigenen IDE mit dem eigenen Setup helfen. Das ist effektiv und macht Bock. Und es lohnt sich auch wirklich ein Blick auf Vim. Ohne Plugins ist es eben halt, wie ein Terminal ohne Plugins. Aber wie viel Spaß macht denn bitte oh-my-zsh, einfach nur mit z und auto suggestion. Gebt der Sache einfach mal eine Chance.

3 Kommentare

Tutorials und Top Posts

3 Kommentare

TYPO3 Camp Venlo 2019 Review Blog Post Codeception Workshop 28. März 2019 - 22:44

[…] Entwickler waren von dem technischen KnowHow und ihren Fingerfertigkeiten beim Tool-Handling mit PhpStorm und oh-my-zsh am Terminal sehr sicher. Das hat wirklich viel Spaß gemacht. Entwickler die sich […]

Reply
PHP-Schulung für Teams mit der Funktastatur überzeugt Flyeralarm 9. April 2019 - 9:31

[…] geht vor allem auch darum die Leidenschaft für Softwarequalität und Skills für die effektivere Arbeit mit PhpStorm und anderen Web-Developer-Tools zu […]

Reply
PHPStan und Code Standard – PHP-Training für Teams mit PHPUnit 6. Oktober 2019 - 23:20

[…] arbeiten mit sehr vielen Tools und Technologien. Das bekannteste ist hier wohl PhPStorm. Die Entwickler IDE kann allerdings eine so große Vielzahl von Shortcuts, dass es hier nötig […]

Reply

Gib uns Feedback

Diese Seite benutzt Cookies. Ein Akzeptieren hilft uns die Seite zu verbessern. Ok Mehr dazu