Uzupełnienia funkcji IntelliCode poznane na własnym kodzie

Visual Studio IntelliCode korzysta z uczenia maszynowego, aby oferować przydatne kontekstowo rozbudowane sugestie uzupełniania kodu w ramach kodu.

Po włączeniu automatycznego trenowania funkcja IntelliCode wytrenuje model uczenia maszynowego na podstawie wzorców w kodzie, zapewniając kontekstowe sugestie uzupełniania dla własnych typów i inne typy, które nie są często spotykane w open source. Funkcja IntelliCode będzie ponownie trenować ten model podczas aktualizowania kodu, upewniając się, że model zmienia się wraz z kodem.

Modele automatycznego trenowania dla niestandardowych uzupełniania kodu IntelliCode to funkcja w wersji zapoznawczej w wersji Visual Studio 16.7 lub nowsza i są domyślnie wyłączone. Możesz włączyć automatyczne trenowanie tych niestandardowych uzupełniania kodu za pomocą wiersza polecenia paska informacyjnego po pomyślnej kompilacji, za pomocą interfejsu użytkownika funkcji IntelliCode dostępnego w sekcji Wyświetlanie innych funkcji IntelliCode systemu Windows lub za pomocą opcji narzędzi > > > > IntelliCode. Są one obecnie dostępne tylko dla kodu w językach C# i C++.

Jak działają modele automatycznego trenowania dla uzupełniania kodu niestandardowego intellicode?

Po pomyślnym sbudowania rozwiązania może zostać wyświetlony monit o włączenie funkcji IntelliCode w celu automatycznego wytrenowania modelu w celu ukończenia funkcji IntelliCode dla tego rozwiązania. Po włączeniu modeli automatycznego trenowania dla uzupełniania IntelliCode funkcja IntelliCode wytrenuje model uczenia maszynowego do uzupełniania aktywnego rozwiązania i tylko użytkownik, który ma dostęp do rozwiązania na maszynie, na której włączono automatyczne trenowanie, będzie miał dostęp do odpowiedniego modelu. Jeśli chcesz udostępnić niestandardowe uzupełnienia kodu wszystkim osobom, które mogą uzyskać dostęp do Twojego repozytorium, skonfiguruj automatyczne uzupełnianie zespołu szkoleniowego w ramach przepływu pracy ci ci.

UWAGA: W przypadku automatycznego trenowania modelu na potrzeby niestandardowych uzupełniania kodu intelliCode dla rozwiązania w Visual Studio nie ma żadnych wymagań dotyczących kontroli źródła. Jeśli jednak chcesz udostępnić niestandardowe uzupełnienia zespołowi, baza kodu musi być pod kontrolą źródła Git i wypchnięta do repozytorium zdalnego, aby utworzyć model skojarzony z repozytorium.

Włączanie modeli automatycznego trenowania dla niestandardowych uzupełniania kodu w Visual Studio

Aby włączyć automatyczne trenowanie modelu dla uzupełniania kodu IntelliCode w Visual Studio, wykonaj następujące kroki:

  1. Otwórz rozwiązanie lub folder repozytorium w Visual Studio.
  2. Włącz automatyczne trenowanie modelu dla niestandardowych uzupełniania kodu za pośrednictwem wiersza polecenia paska informacyjnego po pomyślnej kompilacji, za pomocą interfejsu użytkownika intelliCode dostępnego w sekcji Wyświetlanie innych funkcji IntelliCode systemu Windows lub za pomocą ustawienia Narzędzia Opcje > > > > IntelliCode "Autotraining team models for IntelliSense completions" (Automatyczne trenowanie modeli zespołu dla uzupełniania IntelliSense) lub wyszukując hasło "IntelliCode autotrain" w narzędziu Visual Studio Search (Ctrl +Q).
  3. Po pomyślnym utworzeniu modelu zostanie on automatycznie pobrany do Visual Studio. Postęp modelu można śledzić, otwierając okno Okno Dane wyjściowe i przełączając się do funkcji IntelliCode na liście rozwijanej LUB w widoku inne środowisko > > IntelliCode systemu Windows.

Uwaga

Upewnij się, że zainstalowano co najmniej wersję Visual Studio 16.7 (wersja zapoznawcza 3 lub nowsza). Po zainstalowaniu wersji zapoznawczej można włączyć automatyczne modele dla niestandardowych uzupełniania kodu za pomocą paska informacyjnego po pomyślnej kompilacji rozwiązania LUB za pomocą opcji narzędzi > > IntelliCode.

Po zakończeniu trenowania spróbuj napisać kod przy użyciu klas/typów, które są szczególnie ważne w twoim repocie — w najbardziej typowych przypadkach powinny być dostępne sugestie z gwiazdkami.

Gdy niestandardowe uzupełnianie kodu w rozwiązaniu będzie zadowolone, możesz skonfigurować automatyczne tworzenie, ponowne trenowanie i udostępnianie uzupełniania kodu niestandardowego IntelliCode całemu zespołowi deweloperów w ramach potoku ciągłej integracji w usłudze Azure Pipelines lub akcji usługi GitHubna rzecz uzupełniania zespołu.

Co się stanie po włączeniu funkcji IntelliCode w celu automatycznego trenowania modeli w celu niestandardowych uzupełniania kodu?

Po włączeniu funkcji IntelliCode w celu rozpoczynania trenowania i/lub automatycznego trenowania modelu w celu niestandardowego uzupełniania kodu:

  • Analizujemy Twój kod lokalnie.
  • Wyodrębniamy plik podsumowania z metadanymi twoich typów i ich użycia.
  • Bezpiecznie przekażemy go do usługi IntelliCode i przeszkolimy model uzupełniania dostosowany do Twojego kodu.
  • Model uzupełniania nigdy nie jest udostępniany osobom, które mają dostęp do Repozytorium (w przypadku sklonowanego repozytorium Git).
  • Umożliwiamy usunięcie modelu w dowolnym momencie i/lub anulowanie trenowania modelu bezpośrednio w interfejsie użytkownika funkcji IntelliCode dostępnym w te tematu View Other windows IntelliCode (Wyświetlanie innych funkcji > > IntelliCode systemu Windows). Po prostu usuń zaznaczenie pola w interfejsie użytkownika, aby natychmiast usunąć model dla niestandardowych uzupełniania kodu.
  • Poznane wzorce można odświeżyć bezpośrednio w interfejsie użytkownika funkcji IntelliCode dostępnym na stronie View Other windows IntelliCode (Wyświetlanie innych funkcji > > IntelliCode systemu Windows).

Postęp trenowania będzie można zobaczyć w sekcji Visual Studio danych wyjściowych funkcji IntelliCode lub interfejsie użytkownika funkcji IntelliCode dostępnym w oknie View Other windows IntelliCode (Wyświetl inne > środowisko > IntelliCode systemu Windows). Po zakończeniu trenowania będzie można wyświetlić podsumowanie i nowy model dostosowany do kodu. Następnie możesz spróbować napisać kod przy użyciu klas/typów, które są konkretne w twoim repocie — najczęściej spotykane sugestie powinny być oznaczone gwiazdkami.

Aby uzyskać więcej informacji o tym, jakie dane są używane i przesyłane w tym procesie, zobacz IntelliCode data and privacy (Dane i prywatność funkcji IntelliCode).