Mark Wilson-Thomas, Microsoft
09.09.2019, 10:05 Uhr
Refaktorieren mit VS 2019 und IntelliCode
Mark Wilson-Thomas ist einer der Program Manager im Visual Studio IDE Team und zeigt in einem Blogbeitrag, wie man seinen Code mit der neuesten Version von Visual Studio schnell überarbeiten kann.
Code zu refaktorieren gehört zu den regelmäßigen Aufgaben vieler Entwickler. Da man es dabei stets mit älterem, nur im besten Fall selbstgeschriebem Code zu tun hat, sind Hilfen dabei höchst willkommen. In der neuesten Version 2019 16.3 Preview 3 hat Visual Studio dabei ordentliche Fortschritte gemacht, die Wilson-Thomas in seinem Blog-Beitrag in Wort und Video anschaulich erklärt.
Was wäre, wenn Ihre Entwicklerwerkzeuge Ihre Bearbeitungen verfolgen und mehr über die wiederholbaren Änderungen erfahren könnten, die Sie vorgenommen haben? Nach nur ein paar Beispielen würden sie dich erkennen, wenn du etwas Wiederholtes tust und anbieten, die restlichen Maßnahmen für dich zu ergreifen? Er sagt: "Mit Visual Studio 2019 Version 16.3 Preview 3 freuen wir uns, Ihnen mitteilen zu können, dass Refactoring nun mit IntelliCode erweitert werden kann. IntelliCode erkennt Wiederholungen schnell und schlägt andere Stellen in Ihrem Code vor, an denen Sie die gleiche Änderung anwenden möchten, direkt in Ihrer IDE." Refactoring ist eines der Vorschau-Features von IntelliCode, deshalb ist es in Visual Studio 2019 Version 16.3 Preview 3 zunächst abgeschaltet. Um es zu aktivieren muss der Eintrag "C# IntelliCode Refactorings" auf der Seite Tools | Options auf "Enabled" umgeschaltet werden. Danach ist ein Neustart von Visual Studio erforderlich.
Unter der Haube betrachtet IntelliCode jede Ihrer Bearbeitungen, während Sie tippen. Es verwendet PROSE (PROgram Synthesis by Example), um verallgemeinerte Edit-Skripte zu synthetisieren, die Ihren Code vom Zustand "before editing" zum Zustand "after" bringen können. Wenn IntelliCode feststellt, dass es eines dieser Skripte an anderer Stelle in Ihrem Code anwenden kann, informieren es Sie über die Visual-Studio-Glühbirne am Rand. Die Glühbirne bietet Aktionen an, um die Refaktorierungen anzuwenden. Die zugrunde liegende Technologie ähnelt der Flash Fill-Funktion von Excel und wird in diesem Forschungsbericht beschrieben. Weitere Details sollen auf der kommenden Konferenz OOPSLA 2019 vorgestellt werden.
Dabei geht es nicht nur darum, Textänderungen zu verfolgen – IntelliCode ist sich, so Microsoft, der syntaktischen Struktur Ihres Codes bewusst. Dieses "syntaktische Bewusstsein" erlaubt es, Fälle zu erkennen, in denen die Variablennamen in Ihren Refactoring-Beispielen unterschiedlich sind, aber die wesentliche Struktur der Änderung die gleiche ist. Gefällt Ihnen eine vorgeschlagene Änderung nicht , können Sie die Option Ignorieren auf der Glühbirne auswählen und IntelliCode ignoriert danach das erkannte Muster, es sei denn, Sie erstellen es neu.
Zum Blogbeitrag von Mark Wilson-Thomas geht es hier entlang.