Definition „Microsoft IntelliCode“ Wie funktioniert IntelliCode?

Von Gedeon Rauch Lesedauer: 4 min

Mit Visual Studio Code gibt es für Developer einen Editor, in dem sie kostenfrei Code schreiben können. Das Programm ist bereits seit 2015 Open Source verfügbar, neuerdings besitzt Microsofts Visual Studio ein neues Feature: MS IntelliCode.

Als Plug-in für VS Code und die klassische Visual-Studio-IDE macht IntelliCode Vorschläge, hilft beim Ausbessern von Fehlern und beim Verwalten ganzer Pojekte.
Als Plug-in für VS Code und die klassische Visual-Studio-IDE macht IntelliCode Vorschläge, hilft beim Ausbessern von Fehlern und beim Verwalten ganzer Pojekte.
(Bild: Microsoft)

IntelliCode ist ein KI-Feature, das direkt in Visual Studio zum Einsatz kommt und Programmierenden etwas Arbeit beim Code-Schreiben abnehmen soll. Dabei macht MS IntelliCode Empfehlungen und setzt diese ganz nach oben auf die Vervollständigungsliste. Wie andere generative AIs auch setzt IntelliCode dabei voll auf Wahrscheinlichkeiten.

Eine Code-Analyse verrät dem Programm, welches Element am wahrscheinlichsten auf den aktuellen Code folgen wird, daraus werden dann Vorschläge generiert. Bei den Trainingsdaten setzt MS IntelliCode sowohl auf Quantität wie auch auf Qualität - mehrere tausend Datensätze von GitHub wurden eingelesen, jedes davon mit mehr als 100 Sternen.

Natürlich arbeitet IntelliCode auch kontextsensitiv und wirft einen Blick auf den Code, in dem es gerade Vorschläge macht. Und weil das alles nativ in Visual Studio funktioniert, richtet sich Microsofts KI vor allem an Developer, die ohnehin viel Zeit in dem Editor verbringen.

Das Modell von IntelliCode

Vorschläge in Visual Studio werden im Regelfall alphabetisch angezeigt, was übersichtlich und leicht zu navigieren ist, jedoch jedes Mal mit einem geringen Maß an Arbeitsaufwand verbunden ist. Dieses stete Navigieren durch die Liste an Vorschlägen kann Entwicklerinnen und Entwickler in längeren Projekten viel Zeit kosten und den Arbeitsfluss stören.

Die intelligenten Vorschläge von IntelliCode hingegen ordnen die Vorschlagsliste hierarchisch, wobei Vorschläge mit höherer Wahrscheinlichkeit sich weiter oben vorfinden. Kann MS IntelliCode einen gegebenen Code gut verstehen und aus den Trainingsdatensätze sinnhafte Vorschläge generieren, so können Programmierende effizienter arbeiten – und sich auf wichtigeres als simples Eintragen von Klassen und Befehlen konzentrieren.

Für User ist dieses Feature sehr übersichtlich gestaltet und überschreibt auch die alphabetisch gelisteten Vorschläge nicht. Die Vorschläge von IntelliCode sind mit einem Stern gekennzeichnet, weiter unten in der Liste finden sich weiterhin die regulären Vorschläge.

Am klügsten agiert IntelliCode in C#

Diese kontextsensitive Autovervollständigung ist Teil von IntelliCode und heißt IntelliSense. In C# kann IntelliCode sogar noch ein bisschen mehr und ist in der Lage Argumente und ganze Zeilen zu vervollständigen. Zudem liest IntelliCode in C# auch den bereits vorhanden Code ein und zieht daraus Rückschlüsse auf Formatierungskonventionen und den Codestil.

Hieraus kann auf Wunsch ein EDITORCONFIG-File erstellt werden. Bearbeitungen werden zudem lokal kontrolliert, so dass IntelliCode auch Vorschläge zum Refactoring macht, wenn dies angebracht ist.

Derzeit unterstützte Sprachen in Visual Studio

Wie Visual Studio auch setzt IntelliCode auf Flexibilität und ist für die gängigsten Programmiersprachen verfügbar.

In Visual Studio:

  • C#
  • C++
  • XAML
  • JavaScript
  • TypeScript
  • Visual Basic

In Visual Studio Code:

  • Java
  • JavaScript
  • TypeScript
  • Python
  • SQL

Team Completions mit MS IntelliCode

Neben dem Einsatz von IntelliCode anhand von öffentlichen Repositories, an denen die Erweiterung über GitHub trainiert wurde, bietet IntelliCode noch ein weiteres Feature: Die Team Completion.

Hierbei können User ihre eigenen Repositories als Trainingsgrundlage festsetzen, die Daten werden natürlich nur für den Einsatz im eigenen Team genutzt. Das Training von IntelliCode erfolgt in diesem Fall lokal, der Upload zu IntelliCode (notwendig für die Vervollständigung) läuft anschließend über einen sicheren Server. Alle Team-Mitglieder mit Zugriff auf die entsprechenden Repositories können diese personalisierte Version von IntelliCode sofort nutzen.

Diese Art, IntelliCode zu nutzen, erzeugt entsprechend eine maßgeschneiderte AI, die sich den Gepflogenheiten der gewünschten Repositories anpasst. Damit profitieren alle User der im Team genutzten Repositories von dem IntelliCode-Modell, was die Zusammenarbeit bei größeren Projekten weiter streamlinen kann.

IntelliCode ist an vielen Stellen mehr Understatement als AI

Die meisten AI-Assistenten versuchen, Programmierer*innen möglichst viel Arbeit abzunehmen und die Lücke zwischen einem in natürlicher Sprache formulierten Problem und einem lauffähigen Programm möglichst zu reduzieren. IntelliCode ist für diese Art Herausforderung im Entwicklungsprozess nicht die richtige AI.

Bei MS IntelliCode handelt es sich um ein sehr leichtes und sehr unauffälliges Plug-In, das sich mühelos in die Oberfläche von Visual Studio integriert. Als Tool für die Auto-Completion arbeitet IntelliCode eher wie Tabnine, fällt aber im Arbeitsalltag noch etwas weniger auf – auch weil die KI nicht so schnell während des Projektes dazulernt. IntelliCode ist eher ein Instrument, um erfahrenen Entwicklern und Entwicklerinnen etwas mühselige Arbeit abzunehmen, der Lerneffekt für Neulinge (für andere KIs ein echtes Argument) hält sich bei IntelliCode in Grenzen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Ganz ohne gute Argumente kommt jedoch auch Microsofts IntelliCode nicht aus: Die KI-Assistenz ist kostenlos und kann von Usern von Visual Studio oder Visual Studio Code ganz einfach installiert werden. In Visual Studio 2019 (ab 16.4) ist IntelliCode ohnehin standardmäßig enthalten, in Visual Studio Code 2018 (ab 1.29) muss lediglich die zugehörige Extension installiert werden.

(ID:49222009)