Aus eigenem Code gelernte IntelliCode-Vervollständigungen

Visual Studio IntelliCode setzt maschinelles Lernen ein, um hilfreiche, kontextbezogene Inline-Codevervollständigungsvorschläge bereitzustellen, während Sie programmieren.

Wenn Sie das automatische Training aktivieren, trainiert IntelliCode ein Machine Learning-Modell, das auf Codemustern basiert. Dadurch werden kontektbezogene IntelliCode-Vervollständigungsvorschläge für eigene Typen und andere Typen angezeigt, die in Open-Source-Code unüblich sind. IntelliCode trainiert dieses Modell neu, wenn Sie Ihren Code aktualisieren, damit es zusammen mit dem Code geändert wird.

Das automatische Training von IntelliCode-Modellen ist ein Vorschaufeature in Visual Studio 16.7 und höher, das standardmäßig deaktiviert ist. Sie können das automatische Training dieser benutzerdefinierten Codevervollständigungen nach einem erfolgreichen Build über die Eingabeaufforderung der Infoleiste aktivieren, indem Sie auf der IntelliCode-Benutzeroberfläche zu Ansicht > Weitere Fenster > IntelliCode navigieren oder über die Menüleiste zu Extras > Optionen > IntelliCode. Derzeit ist sie nur für C#- und C++-Code verfügbar.

Wie funktioniert das automatische Training von Modellen für benutzerdefinierte IntelliCode-Codevervollständigungen?

Nach der erfolgreichen Kompilierung einer Projektmappe werden Sie ggf. dazu aufgefordert, das automatische Training von IntelliCode-Vervollständigungsmodellen für diese Projektmappe zu aktivieren. Wenn Sie das automatische Training für IntelliCode-Vervollständigungsmodelle aktivieren, trainiert IntelliCode ein Machine Learning-Vervollständigungsmodell für die aktive Projektmappe. Auf dieses hat nur der Benutzer des Computers Zugriff, auf dem die Projektmappe gespeichert ist, für die das automatische Training aktiviert wurde. Wenn Sie benutzerdefinierte Codevervollständigungen für andere freigeben möchten, die auf Ihr Repository zugreifen können, sollten Sie das automatische Training für Teamvervollständigungen im Rahmen Ihres CI-Workflows einrichten.

HINWEIS: Für das automatische Training von benutzerdefinierten IntelliCode-Vervollständigungsmodellen für Visual Studio-Projektmappen ist keine Quellcodeverwaltung erforderlich. Wenn Sie benutzerdefinierte Vervollständigungen jedoch für Ihr Team freigeben möchten, muss Ihre Codebasis der Git-Quellcodeverwaltung unterliegen und in ein Remoterepository gepusht werden, um ein einem Repository zugeordnetes Modell zu erstellen.

Aktivieren automatisch trainierter Modelle für benutzerdefinierte Codevervollständigungen in Visual Studio

Befolgen Sie diese Schritte, um das automatische Modelltraining für IntelliCode-Vervollständigungen für Ihren Code in Visual Studio zu aktivieren:

  1. Öffnen Sie den Projektmappen- oder Repository-Ordner in Visual Studio.
  2. Aktivieren Sie das automatische Training eines Modells für benutzerdefinierte Codevervollständigungen nach einem erfolgreichen Build über die Eingabeaufforderung der Infoleiste, die Sie auf der IntelliCode-Benutzeroberfläche unter Ansicht > Weitere Fenster > IntelliCode oder über Extras > Optionen > IntelliCode finden. Legen Sie dabei „Autotraining team models for IntelliSense completions“ (Teammodelle automatisch für IntelliSense-Vervollständigungen trainieren) fest. Alternativ können Sie auch über die Visual Studio-Suche (STRG+Q) nach Automatisches IntelliCode-Training suchen.
  3. Nach erfolgreicher Erstellung wird das Modell automatisch in Visual Studio heruntergeladen. Sie können den Fortschritt des Modells verfolgen, indem Sie das Ausgabefenster öffnen und in der Dropdownliste zu IntelliCode wechseln. Alternativ können Sie zu Ansicht > Weitere Fenster > IntelliCode navigieren.

Hinweis

Stellen Sie sicher, dass Sie mindestens Visual Studio 16.7 Preview 3 installiert haben. Nachdem die Vorschauversion installiert wurde, können Sie automatisch trainierte Modelle für benutzerdefinierte Codevervollständigungen nach einem erfolgreichen Build der Projektmappe über die Infoleiste oder über Extras > Optionen > IntelliCode aktivieren.

Sobald das Training abgeschlossen ist, schreiben Sie testweise etwas Code, und verwenden Sie die Klassen/Typen, die speziell für Ihr Repository gelten. Ihnen sollten nun die mit einem Stern gekennzeichneten Empfehlungen für die häufigsten Fälle angezeigt werden.

Sobald Sie mit den benutzerdefinierten Codevervollständigungen für Ihre Projektmappe zufrieden sind, können Sie benutzerdefinierte IntelliCode-Codevervollständigungen so einrichten, dass sie automatisch erstellt, neu trainiert und über die Continuous-Integration-Pipeline in Azure Pipelines oder GitHub Actions für Teamvervollständigungen für das gesamte Entwicklerteam freigegeben werden.

Was geschieht, wenn Sie IntelliCode für das automatische Modelltraining für benutzerdefinierte Codevervollständigungen aktivieren?

Wenn Sie IntelliCode so einrichten, dass das Training und/oder automatische Training für Ihr benutzerdefiniertes Codevervollständigungsmodell gestartet wird:

  • wird Ihr Code lokal analysiert.
  • wird eine Zusammenfassungsdatei mit Metadaten zu ihren Typen und deren Verwendungen erstellt.
  • wird die Zusammenfassungsdatei sicher zu IntelliCode hochgeladen und ein Vervollständigungsmodell trainiert, das auf Ihren Code zugeschnitten ist.
  • wird Ihr Vervollständigungsmodell nicht für alle Benutzer freigegeben, die Zugriff auf Ihr Repository haben (bei einem geklonten Repository)
  • können Sie Ihr Modell jederzeit löschen oder das Modelltraining direkt über die IntelliCode-Benutzeroberfläche (Ansicht > Weitere Fenster > IntelliCode) abbrechen, indem Sie das Kontrollkästchen deaktivieren, sodass das Modell für benutzerdefinierte Codevervollständigungen sofort gelöscht wird
  • können Sie gelernte Muster direkt über die IntelliCode-Benutzeroberfläche (Ansicht > Weitere Fenster > IntelliCode) aktualisieren

Der Trainingsfortschritt wird im IntelliCode-Bereich Ihres Visual Studio-Ausgabefensters unter Ansicht > Weitere Fenster > IntelliCode angezeigt. Nachdem das Training abgeschlossen ist, können Sie sich die Zusammenfassung und das neue Modell ansehen, das auf Ihren Code zugeschnitten ist. Anschließend können Sie testweise etwas Code schreiben und die Klassen/Typen verwenden, die speziell für Ihr Repository gelten. Ihnen sollten dann die mit einem Stern gekennzeichneten Empfehlungen für die häufigsten Fälle angezeigt werden.

Weitere Informationen dazu, welche Daten verwendet und übertragen werden, finden Sie unter Daten und Datenschutz in IntelliCode.