PreviewLogo Visual Studio 2022 v17.0 Preview Release Notes (Informacje o wersji zapoznawczej 2022 17.0)


Deweloper Community | plan Visual Studio 2022 r. | Wymagania systemowe | Zgodność | Kod dystrybucyjny | Postanowienia licencyjne | Blogi | Znane problemy w najnowszej wersji | Whats New in Visual Studio Docs


Ważne

Ta wersja nie jest gotowa do pracy i nie jest przeznaczona do użytku na komputerach produkcyjnych ani do pisania kodu produkcyjnego. Instrukcje dotyczące instalowania i aktualizowania programu Visual Studio 2022 można znaleźć w tej dokumentacji dotyczącej aktualizowania programu Visual Studio 2022 do najnowszej wersji.

Download Community Button Download Professional Button Download Enterprise Button


Co nowego w wersji Visual Studio 2022 17.0 (wersja zapoznawcza)

Visual Studio wersji zapoznawczej 2022 17.0

Visual Studio bloga z 2022 r.

Blog Visual Studio 2022 jest oficjalnym źródłem szczegółowych informacji o produkcie Visual Studio inżynierów. Szczegółowe informacje na temat wersji Visual Studio 2022 można znaleźć w następujących wpisach:


17.0.0-pre.3.1 Visual Studio 2022 w wersji 17.0 (wersja zapoznawcza 3.1)  NewReleaseButton

wydany 16 sierpnia 2021 r.

Podsumowanie problemów rozwiązanych w tej wersji programu Visual Studio 2022 w wersji 17.0 (wersja zapoznawcza 3.1)

  • Rozwiązuje problem z instalowaniem pakietu Microsoft.WebView2 podczas Visual Studio, co może spowodować niepowodzenie całej instalacji.
  • Rozwiązano problem, który polegał na tym, że użytkownicy próbujący zastosować zmiany kodu w punkcie przerwania w debugerze widzili nieograniczony pasek postępu bez możliwości anulowania.

Zgłaszane na forum Developer Community


17.0.0-pre.3.0 Visual Studio 2022 17.0 (wersja zapoznawcza 3)

wydany 10 sierpnia 2021 r.

Znany problem

• Znany problem z rejestratorem zakodowanych testów interfejsu użytkownika spowoduje awarię Visual Studio podczas pierwszego rozpoczęcia rejestratora testów. Naprawienie Visual Studio rozwiąże problem. Aby uzyskać więcej informacji, postępuj zgodnie Community z naszymi informacjami na temat znanego problemu dla deweloperów.

Podsumowanie nowości w tej wersji programu Visual Studio 2022 w wersji 17.0 (wersja zapoznawcza 3)

Rozszerzalność

  • Dodano poprawki zmian przerywania ILanguageClient

Zaufane lokalizacje

  • Dodano obsługę repozytoriów Git jako zaufanych lokalizacji
  • Sprawdzanie zaufania jest teraz przeprowadzane na poziomie folderu rozwiązania
  • Projekty utworzone przez użytkownika są automatycznie dodawane do listy zaufanych
  • Użytkownicy mogą pominąć sprawdzanie zaufania w tymczasowych lokalizacjach utworzonych przez Visual Studio
  • Dodano zasady grupy obsługę jako sposób zarządzania funkcjami zaufania

Edytor

  • Dodano nawigację podsłoń
  • Automatyczne wsadowe jest teraz dostępne jako funkcja w wersji zapoznawczej
  • Obsługa kopiowania/wklejania wielu caret

Debugowanie & diagnostyki

  • Ulepszenia funkcji Gutter punktu przerwania
  • Tymczasowy punkt przerwania
  • Przeciąganie i upuszczanie punktu przerwania
  • Węzeł źródeł zewnętrznych w programie Eksplorator rozwiązań
  • Ulepszenia okna dialogowego Dołączanie do procesu
  • Analiza diagnostyczna zrzutu pamięci

JavaScript/TypeScript

  • Wydaliśmy nowy typ projektu JavaScript/TypeScript, który tworzy autonomiczne projekty JavaScript/TypeScript z dodatkowymi narzędziami.
  • Testowanie języków JavaScript i TypeScript jest teraz dostępne w Eksploratorze testów Visual Studio Testów

Narzędzia Usługi Git

  • Podstawowa obsługa wielu repozytoriów w ramach flagi wersji zapoznawczej dla dowolnego rozwiązania obejmującego różne repozytoria (tj. rozwiązania z projektami hostowanych w różnych repozytoriach Git)
  • Publikowanie w Azure DevOps jest teraz w pełni obsługiwane w witrynie tworzenia repozytorium Git
  • Ulepszenia paska stanu, w tym nowa możliwość wyświetlania i otwierania repozytoriów z pustego programu VS
  • Ulepszenia szczegółów zatwierdzania, w tym bardziej dynamiczny i przyjazny dla użytkownika interfejs użytkownika
  • Menu przepełnienia w oknie Git Changes jest teraz dostępne tylko dla repozytoriów lokalnych z dodatkowymi operacjami git

Produktywność platformy .NET

  • Typy referencyjne dopuszczane wartością null są teraz domyślnie włączone dla nowych projektów .NET
  • Obsługa cofania/ponownego usuwania nieużywanych odwołań
  • Refaktoryzacja przestrzeni nazw w zakresie plików w języku C# 10.0
  • Przechodzenie do dekompilowanych źródeł jest teraz domyślnie włączone
  • Refaktoryzacja w celu preferowania sprawdzania wartości null zamiast sprawdzania typu
  • Komentarze XML będą teraz automatycznie generować <excption> tag, gdy metoda jawnie zgłasza wyjątki
  • Margines dziedziczenia jest teraz domyślnie włączony

C++

  • Strony przeglądu CMake zostały zaktualizowane w celu obsługi CMakePresets.jsna.
  • Teraz możesz konfigurować i kompilować projekty CMake przy użyciu CMake 3.21 i CMakePresets.jswersji 3.
  • Teraz można debugować procesy uruchomione w systemach zdalnych z Visual Studio z lldb.
  • Wprowadzono ulepszenia funkcji IntelliSense dla języka C++ podczas zapewniania nawigacji i wyróżniania składni dla typów z zaimportowanych modułów i jednostek nagłówka. Jest to dla nas aktywny obszar inwestycji. Podziel się swoją opinią na temat usługi Developer Community pomocą pomocy i >Prześlij opinię.
  • Ulepszono wydajność funkcji IntelliSense dla języka C++, optymalizując użycie buforowanych nagłówków i dostęp do bazy danych symboli, zapewniając lepsze czasy ładowania w celu uzyskania dostępu do kodu.
  • Linter kodu Funkcji IntelliSense dla języka C++ jest teraz domyślnie włączona, zapewniając błyskawiczne sugestie podczas wpisywania i naprawianie sugestii dotyczących typowych błędów kodu.
  • Zaktualizowano do wersji NDK r21 LTS w obciążeniu Tworzenie aplikacji mobilnych w języku C++.
  • Dodano obsługę gsl::not_null dla do analizy kodu.

Edytor Razor (ASP.NET Core)

  • Skrócony czas zawieszania się interfejsu użytkownika i zwiększona wydajność podczas uruchamiania rozwiązania
  • Szybsze kolorowanie semantyczne do 2x w niektórych rozwiązaniach
  • Obsługa klawiszy F7 (wyświetlanie kodu) w plikach Razor
  • Obsługa fragmentów kodu w plikach Razor, co spowoduje ukończenie sesji fragmentu kodu za pomocą jednej karty zamiast naciśnięcia klawisza Tab
  • Lepsze formatowanie @code bloków w przypadku zagnieżdżonych składników HTML i Razor

Przeładowywanie na gorąco użytkownika

  • Przeładowywanie kodu XAML na gorąco — drobne zmiany paska narzędzi i ustawień w aplikacji
  • .NET/C++ Przeładowywanie na gorąco — różne zmiany, takie jak bardziej obsługiwane zmiany, ulepszenia dla deweloperów ASP.NET ulepszenia scenariusza CTRL-F5 i inne. Aby uzyskać szczegółowe informacje, zobacz poniżej
  • Znany problem: Podczas dokonywania zmian podczas dołączania debugera wydaje się zawieszać się stosowanie zmian

Środowisko testowe

  • Ponowne ładowanie na gorąco jest teraz dostępne w testowania! Przyspiesz przebiegi testów, nie wymagając pełnych kompilacji między przebiegami testów po drobnych edycjach kodu.
  • Testowanie zdalne — debugowanie zdalnych środowisk połączonych z usługami Docker i WSL jest teraz dostępne. Możesz również debugować za pośrednictwem połączeń SSH, jeśli masz połączenie z systemem Linux. Aby uzyskać instrukcje dotyczące konfiguracji, zobacz szczegóły w informacjach o wersji zapoznawczej 2.

Interfejs użytkownika

  • W ramach naszego celu odświeżenia interfejsu użytkownika dla programu Visual Studio 2022 domyślny motyw ciemny został odświeżony, aby poprawić kontrast i pomóc w nawigacji i nawigacji oraz nawigacji.
  • Teraz możesz zsynchronizować motyw Visual Studio z motywem systemu operacyjnego Windows — jeśli masz motyw systemowy Jasny, motyw Visual Studio będzie niebieski. Jeśli masz motyw systemowy Ciemny, Visual Studio będzie ciemny. Tę funkcję można włączyć za pomocą > opcje > ogólne > użyj ustawień systemowych.

Najważniejsze problemy od deweloperów Community

Szczegóły nowości w tej wersji programu Visual Studio 2022 w wersji 17.0 (wersja zapoznawcza 3)

Rozszerzalności

W programie Microsoft.VisualStudio.LanguageServer.Client wprowadzono nowy sposób dostosowywania powiadomień w przypadku niepowodzenia inicjowania klienta języka.

Zadanie inicjowania będzie teraz śledzone przez centrum stanu zadań (TSC). Jeśli zadanie inicjowania nie powiedzie się, użytkownicy mogą przejść do TSC, aby uzyskać więcej informacji na temat tego, co poszło nie tak. Klienci języka będą teraz mogli dostosować komunikat wyświetlany użytkownikowi, podając informacje o tym, co reprezentuje ten błąd, oraz o możliwych akcjach do podjęcia w celu jego rozwiązania. W tym celu wprowadzamy nowy zestaw interfejsów API w interfejsie ILanguageClient. Te nowe interfejsy API powodują przełomową zmianę w interfejsie ILanguageClient, dlatego rozszerzenia języka będą wymagały odwołania się do nowego pakietu, aby działały w Visual Studio 2022 r.

Poniżej przedstawiono nowe interfejsy API:

  1. Właściwość ShowNotificationOnInitializeFailed — właściwość logiczna, która określi, czy serwer języka ma wyświetlać bąbelek w celu powiadomienia użytkownika o awarii w ten sposób:

ShowNotificationOnInitializeFailed w centrum stanu zadań

Zaleca się ustawienie tej właściwości na wartość true tylko wtedy, gdy błąd znacząco wpływa na środowisko użytkownika w projekcie, nad który obecnie pracuje.

  1. OnServerInitializedFailedAsync, metoda — ta metoda zostanie wywołana, gdy inicjowanie klienta języka zakończy się niepowodzeniem. Udostępnimy obiekt LanguageClientInitializationInfoBase z informacjami na temat tego, jak wystąpił błąd, dzięki czemu klient języka może samodzielnie powiadomić użytkownika o awarii lub podać dostosowany komunikat z kontekstem błędu. Jeśli zostanie podany komunikat, zostanie on wyświetlony w oknie Dane wyjściowe Visual Studio.

Błąd inicjowania klienta języka w Okno Dane wyjściowe

Zaufane lokalizacje

Przed otwarciem zawartości (np. rozwiązania, projektu, pliku lub folderu) wewnątrz środowiska IDE sprawdzimy, czy lokalizacja folderu lub repozytorium były wcześniej zaufane.

Po wykryciu niezaufanego kodu zostanie wyświetlone okno dialogowe ostrzeżenia, które umożliwia zaufanie na poziomie folderu, repozytorium lub właściciela repozytorium (jeśli ma to zastosowanie).

Nowość w wersji zapoznawczej 3:

  • Możliwość wykrywania i zaufania w katalogu głównym ścieżki folderu rozwiązania
  • Ścieżka projektów utworzonych przez użytkownika jest automatycznie dodawana do listy zaufanych lokalizacji użytkownika
  • Sprawdzanie zaufania repozytorium jako opcjonalnej funkcji (domyślnie wyłączonej)
  • Możliwość dodawania repozytoriów do listy zaufanych lokalizacji za pomocą opcji > zaufania Ustawienia
  • Możliwość pominięcia kontroli zaufania dla lokalizacji tymczasowych utworzonych przez Visual Studio funkcji
  • Przedsiębiorstwa mogą zasady grupy skonfigurować/wyłączyć stan funkcji, dodać nowe wpisy do listy zaufanych lokalizacji i zmodyfikować inne ustawienia
  • Ta funkcja jest obecnie domyślnie wyłączona, ale można ją włączyć za pośrednictwem opcji > zaufania Ustawienia > wymagać decyzji o zaufaniu przed otwarciem zawartości.

Edytor

Nawigacja pod hasłem

Klawisze Ctrl+Alt+Strzałka w lewo i Ctrl+Alt+Strzałka w prawo będą teraz nawigować według podsłona. Na przykład ciąg "HelloWorld" identyfikuje "Hello" i "World" jako podsłania. Włączenie nawigacji podsłowie w narzędziach > opcje > edytorze tekstów > Ogólne spowoduje interakcję poleceń związanych z wyrazami (np. TransponujSło) z podsłowami.

Autozapisywanie

W obszarze Narzędzia > opcje > environment > wersji zapoznawczej funkcja automatycznego blokowania jest teraz dostępna. Jeśli ta opcja jest włączona, Visual Studio aplikacja utraci fokus (np. inne okno zostanie skupione), wszystkie zanieczyszczone dokumenty zostaną zapisane na dysku, jeśli to możliwe. Jeśli nie można zapisać żadnego pliku, pozostanie on zanieczyszczony do momentu jawnego zapisania go przez użytkownika (za pomocą poleceń Zapisz lub Zapisz jako...).

Obsługa kopiowania i wklejania wielu caret

Ulepszyliśmy środowisko kopiowania i wklejania z wieloma caretami. Wcześniej wklejenie wielu wierszy w wielu kamietach skutkować duplikowanie całego schowka przy każdym caret. Teraz wklejenie wielu wierszy do tej samej liczby carets spowoduje wstawienie każdego wiersza do odpowiedniego caret. Aby użyć wielu kursorów, naciśnij klawisze Alt+Shift+kliknięcie myszą lub Alt+Shift+. i użyj klawisza strzałki Ctrl+Shift+, aby rozwinąć zaznaczenia. Następnie naciśnij klawisze Ctrl+C, aby skopiować tekst w wielu zaznaczeniach. Użyj kliknięcia myszą Alt+Shift+, aby utworzyć wiele kursorów dla każdego wiersza, który chcesz wkleić w żądanych lokalizacjach. Na koniec naciśnij klawisze Ctrl+V, aby wkleić każdy wiersz pod własną linią.

Kopiowanie i wklejanie z wieloma caretami

Ponadto możesz wybrać za pomocą klawiszy Alt+Shift+ strzałka w górę lub strzałka w dół lub klawisza Alt+Shift+, aby zaznaczyć za pomocą wielu kursorów. Wcześniej te gesty tworzyły zaznaczenie pola. Teraz wybór pola jest przekształcany w wiele carets. Ta metoda jest łatwiejsza i szybsza niż klikanie w dokładnych lokalizacjach w celu wstawiania poszczególnych carets. Jeśli wolisz nadal używać zaznaczenia pola za pomocą klawiszy strzałek Alt+Shift+ i klawiszy Alt+Shift+, przeciągnij kursor myszy podczas rozwijania zaznaczenia wieloma karetami, przejdź do pozycji Narzędzia > Opcje > Edytor tekstu > Zaawansowane i wybierz pozycję Użyj zaznaczenia pola .

Opcja wyboru pola z wieloma caretami

<a name="debugging--diagnostics">Debugowanie & diagnostyki

Ulepszenia funkcji Gutter punktu przerwania

Dodaliśmy nowy glif punktu przerwania, aby wskazać lokalizację, w której użytkownik może ustawić punkt przerwania.

![Glif punktu przerwania](media/17.0/17.0_P3_bp_glyph.png "Glif punktu przerwania")

Kliknięcie prawym przyciskiem myszy tego glifu punktu przerwania spowoduje nadanie nowe menu kontekstowe z opcjami; umożliwia szybkie tworzenie punktów przerwania (warunkowy punkt przerwania, punkt śledzenia i tymczasowy punkt przerwania) za pomocą mniejszej liczby kliknięć.

Menu kontekstowe punktu przerwania

Tymczasowy punkt przerwania

Jest to nowy punkt przerwania, który pozwala użytkownikowi przerwać kod tylko raz. Podczas debugowania Visual Studio wstrzyma środowisko uruchomieniowe aplikacji tylko raz dla tego punktu przerwania i usunie je natychmiast po jego trafieniu. Możesz przekonwertować dowolny punkt przerwania na tymczasowy punkt przerwania, włączając pole wyboru "Usuń punkt przerwania po trafieniu" w oknie ustawień. Możesz też użyć nowego menu kontekstowego kliknięcia prawym przyciskiem myszy z rynny punktu przerwania, aby ustawić ten punkt przerwania.

Tymczasowy punkt przerwania

Przeciąganie i upuszczanie punktu przerwania

Dodaliśmy gest przeciągania i upuszczania punktów przerwania. Teraz możesz przechowywać punkt przerwania i zwalniać go w żądanym wierszu kodu, aby przenieść punkt przerwania z jednej lokalizacji do innej. Działa to w przypadku naszego zaawansowanego punktu przerwania, o ile zmienne akcji/warunku znajdują się w kontekście.

Przeciąganie i upuszczanie punktu przerwania

Węzeł źródeł zewnętrznych w programie Eksplorator rozwiązań

Dodaliśmy nowy węzeł "Źródła zewnętrzne" w Eksploratorze rozwiązań. Ta informacja będzie wyświetlana tylko podczas debugowania i będzie zawierać źródła dla modułów zarządzanych z załadowanym symbolem, które zawierają informacje o serwerze źródłowym lub linku źródłowym. Podczas debugowania każdy załadowany zarządzany plik symboli (pdb), który zawiera informacje o serwerze źródłowym, będzie wyświetlany w tym węźle. Możesz przeglądać pliki, tak jak każdy inny folder eksploratora rozwiązań, lub kliknąć dwukrotnie element, aby pobrać plik z serwera źródłowego i otworzyć go w edytorze programu VS.

Źródła zewnętrzne

Ulepszenia okna dialogowego Dołączanie do procesu

Dodaliśmy nowe pole wyboru automatycznego odświeżania w oknie dialogowym dołączania do procesu, które podczas sprawdzania automatycznie odświeża listę procesów przy użyciu dostępnych procesów. Nowa opcja "Wybierz dowolne okno z pulpitu" w oknie dialogowym Dołączanie do procesu umożliwia użytkownikowi wybranie dowolnego uruchomionego okna z pulpitu i dołączenie do skojarzonego procesu w celu debugowania.

Ulepszenia okna dialogowego Dołączanie do procesu

Analiza diagnostyczna zrzutu pamięci

Znajdowanie ramek wywołań głównych w przypadku wystąpienia Stack Overflow wyjątku może być trudne i czasochłonne. Nasze najnowsze analizatory prezentują wygodny widok stosu wywołań i usuwają odtętliwe i zaszumione ramki w celu szybszej analizy problemów.

JavaScript/TypeScript

Jest teraz obsługa nowego typu projektu JavaScript/TypeScript, który umożliwia tworzenie autonomicznych projektów Angular, React i Vue w Visual Studio. Projekty zostaną utworzone przy użyciu narzędzi interfejsu wiersza polecenia struktury zainstalowanych na komputerze lokalnym. Oznacza to również, że wersja szablonu jest oparta na wersjach interfejsu wiersza polecenia na komputerze lokalnym.

W ramach tych nowych projektów będzie można uruchamiać testy jednostkowe i integrować je z ASP.NET Core API. Dokumentację można znaleźć tutaj

Produktywność na stronie .NET

Narzędzia języka C#

W języku C# 8.0 wprowadziliśmy typy referencyjne dopuszczane wartością null, co pozwala zadeklarować, czy wartość null jest oczekiwana. Aby użyć typów referencyjnych dopuszczanych wartością null, musisz dodać element enable do pliku projektu lub dodać #nullable enable pragma do każdego pliku źródłowego <Nullable> </Nullable> w projekcie. Aby usprawnić ten proces, teraz automatycznie dołączamy <Nullable> opcję włączania </Nullable> dla nowych projektów .NET.

W języku C# 10.0 wprowadzamy przestrzeń nazw o zakresie pliku, która umożliwia rezygnację z zagnieżdżania definicji klas w przestrzeni nazw. Mamy teraz refaktoryzowanie w celu przekonwertowania przestrzeni nazw na przestrzeń nazw o zakresie pliku. Aby użyć przestrzeni nazw o zakresie pliku, należy najpierw dodać <LangVersion> </LangVersion> element podglądu do pliku projektu. Następnie skonfiguruj przestrzeń nazw o zakresie pliku jako preferencję stylu kodu w obszarze Narzędzia Opcje Edytor tekstów Styl kodu C# i w obszarze Preferuj przestrzeń nazw o zakresie pliku wybierz pozycję > > > > Tak z listy rozwijanej.

Preferencja stylu kodu przestrzeni nazw o zakresie pliku

Następnie umieść kursor na przestrzeni nazw. Naciśnij klawisze (Ctrl+ . ), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Konwertuj na przestrzeń nazw o zakresie pliku.

Refaktoryzacja przestrzeni nazw o zakresie pliku

Obecnie istnieje refaktoryzacja, która ma być is not null preferowana is object w przypadku zastosowania do typów wartości. Aby użyć tej nowej refaktoryzacji, umieść kursor na kontroli typu. Naciśnij klawisze (Ctrl+ . ), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Preferuj sprawdzanie wartości null nad sprawdzaniem typu.

Przechodzenie do dekompilowanych źródeł

Domyślnie nawiguj do dekompilowanych źródeł w programie , co pozwala na przechodzenie do deklaracji typów bibliotek. Przejście do dekompilowanych źródeł jest dostępne po wywołaniu funkcji Przejdź do definicji w symbolu biblioteki w kodzie źródłowym i w dekompilowanych źródłach.

Ulepszenia edytora

Komentarze XML będą teraz automatycznie generować tag w tagu, co pozwala dodać opis, gdy <exception> <summary> metoda jawnie zgłasza wyjątki.

W Visual Studio 2019 r. wydaliśmy margines dziedziczenia, który dodaje ikony do marginesów reprezentujących implementacje i przesłonięcia kodu. Kliknięcie ikon marginesu dziedziczenia spowoduje wyświetlenie opcji dziedziczenia, które można wybrać, aby przejść do. W tej wersji margines dziedziczenia jest domyślnie włączony. Aby wyłączyć margines dziedziczenia, przejdź do opcji Narzędzia Edytor tekstów C# lub Basic > > > > Advanced i usuń zaznaczenie pola wyboru Włącz margines dziedziczenia.

Margines dziedziczenia

W Visual Studio 2019 r. wprowadziliśmy pozycję Usuń nieużywane odwołania, co umożliwia usunięcie odwołań do projektu, które nie mają użycia. Niedawno dodaliśmy możliwość cofnięcia i ponownego wykonywania operacji Usuń nieużywane odwołania.

Przeładowywanie na gorąco użytkownika

Przeładowywanie kodu XAML na gorąco: W tej wersji zaktualizowaliśmy ustawienia usługi Przeładowywanie kodu XAML na gorąco i paski narzędzi w aplikacji, aby zapewnić przejrzystość tego, że ustawienia i w środowiskoch aplikacji są powiązane z usługą Przeładowywanie kodu XAML na gorąco a nie z narzędziami .NET Przeładowywanie na gorąco.

Zaktualizowano pasek narzędzi w aplikacji w aplikacjach XAML

Usprawniliśmy również okienko ustawień, aby lepiej organizować wspólne opcje razem i udostępnić nową opcję włączania/wyłączania dla .NET MAUI.

Zaktualizowany panel opcji Ustawienia XAML

.NET / C++ Przeładowywanie na gorąco

W tej wersji będziemy nadal ulepszać nasze nowe środowisko Przeładowywanie na gorąco dla kodu .NET i C++.

Co nowego w tej wersji:

  • Dodaliśmy obsługę dodatkowych typów edycji w aplikacjach .NET zarówno w przypadku edytowania, jak i kontynuowania (EnC) i obsługi Przeładowywanie na gorąco, w tym:

    • Możliwość dodawania lub zmieniania #line dyrektywy
    • Możliwość aktualizowania instrukcji najwyższego poziomu
    • Ulepszono komunikaty o błędach/ostrzeżeniach, aby było bardziej czytelne, gdy komunikaty dotyczą zarówno enc, jak i Przeładowywanie na gorąco. Zrobiliśmy to, aby komunikaty były bardziej ogólne, tak aby terminologia dotycząca edycji i kontynuowania nie była używana podczas Przeładowywanie na gorąco operacji
  • Od wydania wersji Visual Studio 2022 (wersja zapoznawcza 2) rozpoczęliśmy obsługę programu Przeładowywanie na gorąco dla aplikacji .NET podczas uruchamiania aplikacji bez debugera za pomocą klawiszy CTRL+F5. W tej wersji wprowadzono dwie ulepszenia tego interfejsu:

    • Teraz obsługujemy obsługę Przeładowywanie na gorąco Blazor Wasm w przypadku uruchamiania za pomocą klawiszy CTRL+5
    • Uruchomienie wielu wystąpień tej samej aplikacji przy użyciu klawiszy CTRL+F5 Przeładowywanie na gorąco wszystkich uruchomionych procesów.
  • Dla ASP.NET Core i blazor

    • Podczas aktualizowania pliku CSS w aplikacji jest on teraz aktualizowany w przeglądarce w czasie rzeczywistym, dzięki czemu można używać obu tych plików do zmiany kodu Przeładowywanie na gorąco oraz aktualizowania wyglądu i użytkowania aplikacji w tych samych sesjach
    • Gdy Przeładowywanie na gorąco jest uruchomiona w ramach sesji debugowania (F5), przeglądarka zostanie automatycznie odświeżona po Przeładowywanie na gorąco operacji debugowania. Wcześniej działało to tylko w przypadku klawiszy CTRL-F5 w poprzedniej wersji, a teraz włączyliśmy tę funkcję dla obu scenariuszy.
    • Znany problem: Polecenie Zastosuj zmiany zawiesza się podczas dokonywania zmian, gdy debuger jest dołączony

Środowisko testowe

Przeładowywanie na gorąco w Eksploratorze testów [eksperymentalne]: Teraz można wypróbować nową eksperymentalną funkcję, która przyspiesza testowanie przy użyciu Przeładowywanie na gorąco technologii w tle. Oznacza to, że po pierwszym uruchomieniu testu, w którym pełna kompilacja jest nadal wymagana, można wprowadzić drobne zmiany, uruchomić testy, a wszystkie te aktualizacje zostaną odzwierciedlone bez konieczności pełnej kompilacji. Aby rozpocząć pracę i dowiedzieć się więcej, zapoznaj się z poniższymi szczegółami:

Ponowne ładowanie na gorąco dla Eksploratora testów w programie Visual Studio umożliwia uruchamianie testów bez konieczności kompilowania między drobnymi edytować

  • To środowisko jest dostępne tylko dla projektów przeznaczonych dla platform .NET 6 i musisz wyrazić zgodę, przechodząc do tematu "Narzędzia > opcje > Test"

Zrzut ekranu Visual Studio z wyświetloną opcją włączania ponownego ładowania na gorąco w menu Narzędzia > opcje > Test.

  • Gdy ta opcja jest włączona, testy są aktualizowane nawet po niezapisanych zmianach w edytorze. Nie budowania, więc pliki binarne na dysku w folderze bin są nieaktualne. Oznacza to, że w wynikach testu mogą wystąpić rozbieżności między tym, co znajduje się na dysku, Visual Studio. Aby rozwiązać te problemy i przed zaewidencją, upewnij się, że robisz pełną kompilację za pomocą kombinacji klawiszy (Ctrl+Shift+B). Każda jawna kompilacja zastąpi wyniki testu ponownego ładowania na gorąco zwykłymi wynikami testu pełnej kompilacji.

  • Istnieją pewne typy edycji, których ponowne ładowanie na gorąco nie może zostać wczytane i w takich przypadkach zostanie domyślnie wróci do starego zachowania podczas wykonywania pełnej kompilacji. Należy również pamiętać, że śledzone są tylko zmiany Visual Studio, nieprzezroczyste przypadki w edytorze, takie jak zmiana obiektów docelowych, mogą domyślnie wymagać pełnej kompilacji.

  • Niektóre duże zmiany (takie jak zmiana nazwy ponad 1000 metod) mogą trwać dłużej niż ponowne ładowanie na gorąco niż ponowne tworzenie. W takich przypadkach w danych wyjściowych zostanie wyświetlony komunikat z monitem o pełną przebudowę, a nie oczekiwanie na ponowne załadowanie na gorąco.

  • Ślady stosu nie są jeszcze dostępne z ponownym ładowaniem na gorąco w Eksploratorze testów. Jeśli musisz użyć śladu stosu, zalecamy pełną kompilację.


17.0.0-pre.2.1 Visual Studio 2022 17.0 (wersja zapoznawcza 2.1)

wydany 22 lipca 2021 r.

Podsumowanie nowości w tej wersji programu Visual Studio 2022 w wersji 17.0 (wersja zapoznawcza 2.1)

  • Usunięto awarię, która może wystąpić podczas uruchamiania lub zamykania profiler wydajności lub narzędzia diagnostyczne albo otwierania lub zamykania Project Przegląd.
  • Naprawienie awarii w licencjonowaniu po odinstalowaniu pakietu językowego języka angielskiego.
  • Rozwiązano problem, który zablokował karty dokumentów w pętli układu.

17.0.0-pre.2.0 Visual Studio 2022 17.0 (wersja zapoznawcza 2)

wydany 14 lipca 2021 r.

Podsumowanie nowości w tej wersji programu Visual Studio 2022 17.0 (wersja zapoznawcza 2)

C++

  • Teraz można kompilować i debugować natywnie w programie WSL2 bez ustanawiania połączenia SSH. Obsługiwane są zarówno międzyplatformowe projekty CMake, MSBuild oparte na systemie Linux.
  • Narzędzia kompilacji w wersji 143 są teraz dostępne za pośrednictwem instalatora Visual Studio, a także autonomicznych narzędzi kompilacji.
  • Visual Studio obsługuje teraz opcję buildPresets.targets w CMakePresets.jswł. Dzięki temu można utworzyć podzbiór elementów docelowych w projekcie CMake.
  • Menu Project w projektach CMake zostało usprawnione i udostępnia opcje "Usuń pamięć podręczną i skonfiguruj ponownie" oraz "Wyświetl pamięć podręczną".
  • Analiza kodu wymusza teraz zwracanie wartości funkcji z adnotacjami _Check_return_ lub _Must_inspect_result_ muszą być sprawdzane.
  • Narzędzia llVM dostarczane z Visual Studio zostały uaktualnione do wersji LLVM 12. Aby uzyskać szczegółowe informacje, zobacz informacje o wersji llvm.
  • Obsługa clang-cl została zaktualizowana do wersji LLVM 12.
  • C++ AMP są teraz przestarzałe. Uwzględnienie < amp.h > w projekcie języka C++ spowoduje wygenerowanie błędów kompilacji. Aby wyciszyć błędy, zdefiniuj _SILENCE_AMP_DEPRECATION_WARNINGS . Aby uzyskać więcej informacji, zobacz [nasze linki dotyczące deprecjacji https://aka.ms/amp_deprecate amp amperów].
  • Nowe środowisko Przeładowywanie na gorąco jest teraz dostępne dla natywnych aplikacji C++ podczas uruchamiania w debugerze. Aby uzyskać więcej informacji, zobacz naszą Przeładowywanie na gorąco poniżej.

Debugowanie & diagnostyki

  • Ulepszenia okna dialogowego Dołączanie do procesu
  • Ulepszenia pomocnika wyjątków
  • Wymuszanie uruchomienia do kliknięcia
  • Analiza diagnostyczna zrzutu pamięci

Produktywność platformy .NET

  • Refaktoryzacja wprowadzania parametrów może przenieść nowy parametr z implementacji metody do jej wywołujących.
  • Śledzenie źródła wartości na podstawie analizy przepływu danych
  • Opcja podkreślenia ponownie przypisanych zmiennych
  • Dodano opcję wyszukiwania w oknie dialogowym Generowanie zastąpień
  • Szybkie informacje dotyczące tagów XML <code> zachowują teraz białe znaki i bloki CDATA
  • Okno Znajdź wszystkie odwołania będzie teraz grupowanie projektów wielo docelowych
  • Refaktoryzacja w celu usunięcia powtarzających się typów w Visual Basic
  • W przypadku przechodzenia do implementacji nie będą już przechodzić do elementów członkowskich z abstrakcyjnymi deklaracjami, które również zostały zastąpione.

Edytor Razor (ASP.NET Core)

  • Przeładowywanie na gorąco w plikach Razor
  • Usprawnienia wydajności
  • Ulepszenia formatowania i wcięcia
  • Nowe kolory edytora Razor
  • Pomocnicy tagów są teraz pokolorowani i mają szybką obsługę klasyfikacji informacji oraz etykietki narzędzi do uzupełniania
  • Wyróżnianie nawiasów klamrowych i nawigacja dla konstrukcji Razor
  • Komentarze mają teraz automatyczne uzupełnianie, inteligentne wcięcie, automatyczne dołączanie kontynuacji komentowania i nawigację po komentarzach do bloku

Przeładowywanie na gorąco

  • Przeładowywanie na gorąco (zarówno dla kodu .NET, jak i C++) umożliwia edytowanie wielu typów kodu w uruchomionej aplikacji i stosowanie ich bez konieczności wstrzymywania wykonywania aplikacji za pomocą punktu przerwania. W tej wersji będziemy ulepszać tę funkcję. Najważniejsze funkcje to: obsługa języka C++, .NET Przeładowywanie na gorąco w przypadku uruchamiania bez debugera (CTRL-F5), obsługa większej liczby typów edycji i nie tylko.

Zaufane lokalizacje

  • Odświeżyliśmy funkcję "Zaufanie Ustawienia" i teraz możemy wyświetlać ostrzeżenie za każdym razem, gdy niezaufany kod (np. pliki, projekty lub foldery) zostanie otwarty wewnątrz środowiska IDE.

Podgląd kodu XAML na żywo

  • Podgląd kodu XAML na żywo jest teraz dostępny dla deweloperów WPF jako pierwsza wersja zapoznawcza tego nowego doświadczenia. Wersja zapoznawcza na żywo umożliwia przechwytywanie interfejsu użytkownika aplikacji klasycznych i wyświetlanie go w zadokowanych oknach w programie Visual Studio, co ułatwia korzystanie z usługi Przeładowywanie kodu XAML na gorąco w celu zmiany aplikacji i łatwe wyświetlanie wprowadzonych zmian. Ta funkcja usprawnia środowisko Przeładowywanie kodu XAML na gorąco na urządzeniu z jednym ekranem, a jednocześnie umożliwia udoskonalanie interfejsu użytkownika aplikacji za pomocą narzędzi, takich jak głębokie powiększanie, linijki, wybór elementów i porady informacyjne.

Testowanie zdalne

  • Bardzo wczesna eksperymentalna wersja zapoznawcza umożliwiająca uruchamianie testów w środowiskach zdalnych, takich jak kontenery systemu Linux, WSL i połączenia SSH.

Interfejs użytkownika

  • Domyślne ikony zostały zaktualizowane i odświeżone.

usług Azure Cloud Services

  • Projekty usług Azure Cloud Service (klasyczne) i Azure Cloud Service (rozszerzona pomoc techniczna) są teraz obsługiwane.

JavaScript/TypeScript

  • Wydaliśmy nowy typ projektu JavaScript/TypeScript, który tworzy autonomiczne projekty JavaScript/TypeScript z dodatkowymi narzędziami. Będzie można tworzyć projekty Angular i React w programie Visual Studio przy użyciu wersji struktury zainstalowanej na komputerze.
  • Testowanie języków JavaScript i TypeScript jest teraz dostępne w eksploratorze Visual Studio testów

Przykładowe dane XAML

  • Design-Time przykładowe dane zostaną teraz domyślnie dodane podczas tworzenia kontrolek DataGrid, ListBox i ListView z przybornika w aplikacjach WPF. Aby wyłączyć to zachowanie, usuń zaznaczenie pola wyboru "Automatycznie dodaj przykładowe dane podczas tworzenia elementu" w obszarze Narzędzia -> Opcje -> projektant XAML".
  • Aby dowiedzieć się więcej na temat przykładowych danych, odwiedź dokumentację przykładowych danych.

Menu Pomoc

W okresie 17.0 przebudowaliśmy menu Pomoc! Zaktualizowane menu zawiera Wprowadzenie i przydatne Wskazówki/wskazówki. Zapewnia również większą współpracę z naszym zespołem deweloperów, dodając takie rzeczy jak dostęp do witryny Developer Community, informacji o wersji, planu rozwoju produktu Visual Studio stron mediów społecznościowych. Chcemy, aby deweloperzy jak najlepiej korzystali ze swoich subskrypcji, dlatego zapoznaj się z korzyściami dla subskrypcji i innymi szczegółami za pośrednictwem nowego elementu menu Moja subskrypcja.

Problemy rozwiązane w tym wydaniu

  • Rozwiązano problem, który nie można załadować witryny internetowej podczas uruchamiania środowiska ReactRedux z IIS Express.
  • Rozwiązano problem powodujący komunikat o błędzie: "Uncaught ReferenceError: notifyHotReloadApplied is not defined".
  • Usunięto błąd nawiązywania połączenia z serwerem dla projektów signalR 6.0 w przypadku używania klawiszy Ctrl+F5.
  • Rozwiązano problem, który mógł powodować, że kolejność wyszukiwania dołączania może być nieprawidłowa po dołączyć do "Katalogi dołączania".
  • Naprawiono błąd Project: Przeciągnięcie pliku z Eksploratora rozwiązań do otwartego pliku to usunięcie pliku z systemu plików.

Najważniejsze problemy z centrum deweloperów Community

Szczegółowe informacje o nowościach w programie Visual Studio 2022 (wersja zapoznawcza 2)

Debugowanie & diagnostyki

  • Ulepszenia okna dialogowego Dołączanie do procesu
  • Nowy widok listy procesów nadrzędny/podrzędny za pomocą przełącznika w dolnej części okna
    • Wybór widoku powinien zostać utrwalony.
    • Lewe naciśnięcia klawiszy na klawiaturze powoduje przejście do procesu nadrzędnego w widoku nadrzędny/podrzędny.
    • Wszystkie kolumny powinny być sortowalne jak oryginalny widok.
  • Kolumna Nowy wiersz polecenia jest dostępna w obu widokach.
  • Nazwa puli aplikacji jest wyświetlana w kolumnie Tytuł dla procesów w3wp

![Dołączanie do procesu ](media/17.0/17.0_P2_attach_to _process_3.png)

  • Dodano pomocnika wyjątków w bloku catch. Spowoduje to wyświetlenie pomocnika wyjątku z odpowiednimi informacjami o wyjątku, gdy krok zarządzany spowoduje wygenerowanie wyjątku, a krok zostanie ukończony w bloku catch.
  • Nowy przycisk "kontynuuj": pokazujący pomocnika wyjątków dla wyjątków "przechwycono".

Aktualizacje programu obsługi wyjątków

  • Dodaliśmy opcję Wymuś uruchomienie w celu kliknięcia, która spowoduje uruchomienie debugera do momentu, gdy zostanie osiągnięta wybrana pozycja kursora, ignorując wszystkie punkty przerwania między nimi.
  • Możesz to zrobić, klikając pozycję "Wymuń uruchomienie do kliknięcia" w menu prawym przyciskiem myszy w żądanym wierszu kodu.

Wymusz uruchamianie w kursorze

  • Gdy aplikacja jest w trybie debugowania, możesz również wykonać polecenie "Wymuź uruchomienie do kliknięcia", klikając zielony glyph wyświetlany obok wiersza kodu, gdy wskaźnik myszy znajduje się po przytrzymaniu klawisza SHIFT.

Wymusz uruchamianie w glyphie kursora

  • Analiza diagnostyczna zrzutu pamięci
    • Ulepszyliśmy aparat analizatora, aby znaleźć więcej problemów z synchronizacją over-async ASP.NET Core zrzutów pamięci.
    • Aby dowiedzieć się, które części kodu zużywają najwięcej zasobów procesora CPU, przejrzyj 5 najważniejszych wątków według czasu procesora CPU.
    • Przejrzyj całą zarządzaną stertę pod kątem oznak użycia pamięci w generacji 0, 1, 2 i stercie dużych obiektów.
    • Jeśli masz zrzut awaryjnego, możesz znaleźć wyjątek drugiej szansy i wątek, który spowodował awarię aplikacji.
    • Trudno jest tworzyć hipotezę diagnostyki? Gdy dokładna przyczyna awarii lub zawieszania się nie jest dobrze znana, możesz użyć analizatora wyjątków, aby szybko znaleźć i przejrzeć wszystkie wyjątki na stercie.
    • W tych momentach, gdy analiza pamięci jest ważna, ulepszyliśmy heurystyczną analizatora kolejek finalizatora. Teraz koncentrujemy się na kodzie i wykluczamy obiekty zarządzane przez platformę .NET.

Produktywność platformy .NET

  • Istnieje teraz refaktoryzacja, która wprowadza parametr , który spowoduje przeniesienie wyrażenia z implementacji metody do jej funkcji wywołującej przez dodanie nowego parametru. Umieść kursor w wierszu zawierającym wyrażenie lub wyróżnij wyrażenie. Naciśnij klawisze (Ctrl+.), aby wyzwolić menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Wprowadź parametr dla wartości { } 0 lub Wprowadź parametr dla wszystkich wystąpień wartości { 0. } Obie opcje będą mieć trzy opcje wysuwu, aby (1) wstawić zaktualizowane wyrażenie we wszystkich lokacjach wywołań, (2) wyodrębnić i utworzyć nową metodę, która zwraca wyrażenie i dodaje argument w lokacjach wywołań, lub (3) utworzyć przeciążenie metody, która zawiera wyrażenie i wywołuje oryginalną metodę.

Wprowadzenie parametru z menu Szybkie akcje

  • Istnieje nowe polecenie o nazwie Śledź źródło wartości, które umożliwia wykonywanie analizy przepływu danych w celu określenia, jak niektóre wartości mogły zostać przekazane w danym momencie i gdzie mogą zostać przekazane. Kliknij prawym przyciskiem myszy dowolny element członkowski i wybierz pozycję Śledź źródło wartości z menu dostępnego po kliknięciu prawym przyciskiem myszy.

Śledzenie źródła wartości w menu po kliknięciu prawym przyciskiem myszy

  • Zostanie otwarte okno Śledzenie wartości umożliwiające analizowanie wyników:

Okno śledzenia źródła wartości

  • Dodaliśmy opcję podkreślenia zmiennych, które są ponownie przypisana. Ta opcja jest domyślnie wyłączona, dlatego należy ją włączyć w narzędziu Tools > Options > Text Editor > C# lub Basic > Advanced i wybrać pozycję Podkreślenie ponownie przypisano zmienne.

Ponowne podkreślenie przypisanych zmiennych w edytorze

  • Dodaliśmy opcję wyszukiwania w oknie dialogowym Generuje przesłonięcia, umożliwiającą szybkie wyszukiwanie i wybieranie elementów członkowskich do zastąpienia.

Wyszukiwanie w oknie dialogowym Generowanie zastąpień

  • Szybkie informacje dotyczące tagów XML <code> zachowują teraz białe znak i bloki CDATA. Umieść kursor na elemencie. Następnie zostaną wyświetlone Szybkie podpowiedzi dotyczące obsługiwanych stylów w komentarzach języka XML nad kodem.

Szybkie informacje dotyczące kodu XML zachowują białe znaki

  • Okno Znajdź wszystkie odwołania będzie teraz grupować projekty o wielu elementach docelowych, co ułatwia zmniejszenie szumu wizualnego.

Znajdowanie wszystkich grup odwoływać się do projektów docelowych

  • Istnieje teraz refaktoryzacja, która usuwa powtarzające się typy w Visual Basic.
  • Przejście do implementacji nie spowoduje już przechodzenia do elementów członkowskich z abstrakcyjnymi deklaracjami, które również są zastępowe.

Edytor Razor (ASP.NET Core)

  • W plikach Razor Przeładowywanie na gorąco obsługę tej obsługi.

Obsługa ponownego ładowania w plikach Razor

  • W edytorze Razor wprowadzono znaczące ulepszenia wydajności.

  • Ulepszyliśmy formatowanie i wcięcie, dzięki czemu jest ono bardziej niezawodne i znacznie szybsze.

  • Dodaliśmy nowe kolory Razor! Te kolory można dostosować w obszarze Narzędzia > opcje > środowiska > czcionki i kolory.

  • Klasy TagHelpers są teraz pokolorowane i mają obsługę klasyfikacji w etykietkach szybka informacja i narzędzia uzupełniania IntelliSense.

Obsługa klasyfikacji TagHelpers

  • Ulepszyliśmy wyróżnianie gałęzi kąta i nawigację dla konstrukcji Razor.

  • Komentarze mają teraz automatyczne uzupełnianie, inteligentne wcięcie, automatyczne dołączanie kontynuacji komentowania i nawigację po komentarzach blokowych.

Przeładowywanie na gorąco

W tej wersji będziemy w dalszym ciągu ulepszać możliwości nowego Przeładowywanie na gorąco i podstawowego mechanizmu Edytuj i kontynuuj oraz debugera.

Co nowego:

  • Obsługa aplikacji języka C++ podczas korzystania z debugera: Teraz można uruchamiać Przeładowywanie na gorąco języka C++ w debugerze (F5) przy użyciu przycisku "Zastosuj zmiany kodu". To środowisko jest obsługiwane przez natywną opcję Edytuj i kontynuuj. Obsługiwane zmiany można znaleźć w naszej dokumentacji.

  • Obsługa programu .NET Przeładowywanie na gorąco w przypadku uruchamiania bez debugera (CTRL-F5): w pierwszej wersji zapoznawczej włączyliśmy program .NET Przeładowywanie na gorąco, aby był dostępny podczas uruchamiania aplikacji .NET 6 w debugerze (F5). W tej wersji zaczynamy również obsługiwać uruchamianie aplikacji bez debugera za pośrednictwem mechanizmu CTRL-F5, zachowując jednocześnie obsługę stosowania zmian podczas uruchamiania aplikacji. Ta funkcja jest teraz dostępna dla aplikacji Windows Forms, WPF, Console, ASP.NET Core i Blazor Server aplikacji. Obecnie inne typy aplikacji nie będą działać lub mogą nie być stabilne, a w przyszłych wersjach będziemy nadal ulepszać to środowisko.

  • Obsługiwane edycje: w tej wersji dodajemy również obsługę dodatkowych typów edycji zarówno w trybie edycji, jak i Przeładowywanie na gorąco i kontynuowania. Te ulepszenia są następujące:

    • Ograniczona obsługa edytowania plików Razor (. Pliki Razor tylko w tej chwili)
    • Dodawanie, aktualizowanie lub usuwanie atrybutów niestandardowych
    • Dodawanie lub aktualizowanie struktur rekordów
    • Edytowanie wyrażeń switch
    • Edytowanie plików z #line dyrektywy, w tym zmian w samej dyrektywie
  • Przeładowywanie na gorąco i Edytuj i kontynuuj przy użyciu wielu procesów: teraz można niezawodnie używać zarówno funkcji Przeładowywanie na gorąco, jak i funkcji Edytuj i kontynuuj po dołączeniu do wielu procesów. Wcześniej ta funkcja nie była w pełni obsługiwana i nie zawsze działała prawidłowo. Ta funkcja została teraz poprawiona.

Zaufane lokalizacje

  • W ramach ponownego ostrzegania o zaufaniu Ustawienia usunęliśmy znacznik sieci Web i dodaliśmy okno dialogowe ostrzeżenia wyświetlane podczas próby otwarcia kodu (np. plików, projektów lub folderów), który nie był wcześniej zaufany.
  • Kod można teraz ufać na poziomie folderu lub repozytorium (wyświetlany jako opcja w oknie dialogowym ostrzeżenia właściciel repozytorium nie jest jeszcze w pełni zaimplementowany)
  • Ta funkcja jest obecnie domyślnie wyłączona, ale można ją włączyć za pomocą opcji > zaufania Ustawienia > wymuszania zasad zaufania.

Podgląd kodu XAML na żywo

Podgląd kodu XAML na żywo jest teraz dostępny dla deweloperów WPF jako pierwsza wersja zapoznawcza tego nowego doświadczenia. Wersja zapoznawcza na żywo umożliwia przechwytywanie interfejsu użytkownika aplikacji klasycznych i wyświetlanie go w zadokowanych oknach w programie Visual Studio, co ułatwia korzystanie z usługi Przeładowywanie kodu XAML na gorąco w celu zmiany aplikacji i łatwego tworzenia zmian w czasie rzeczywistym.

Podgląd na żywo interfejsu użytkownika aplikacji klasycznych XAML

Aby rozpocząć:

  • Upewnij się, że > opcje > w wersji zapoznawczej > podgląd xaml na żywo jest włączony (ustawienie domyślne).
  • Po włączeniu tej opcji możesz teraz używać okna, przechodząc do menu Debuguj > Windows > PODGLĄD KODU XAML na żywo (lub możesz użyć funkcji wyszukiwania i po prostu wpisać "Xaml Live Preview")

Następnie uruchom aplikację i użyj interfejsu użytkownika podglądu na żywo, aby wybrać okno do przechwycenia. Jest to wymagane tylko wtedy, gdy masz więcej niż jedno okno. W przeciwnym razie okno główne zostanie automatycznie przechwycone.

Po zakończeniu pracy zostaną udostępnione następujące funkcje:

  • Przewijanie i powiększanie: Okno, które przechwytuje interfejs użytkownika aplikacji, można przesuwać i powiększać. Dzięki temu można dopasować je do potrzeb w celu pokazania pełnej aplikacji lub tylko tych części, które próbujesz edytować. Przesuwanie i przewijanie działa z nakładką dotykową (przewijanie dwoma palcem), kółkiem przewijania myszy lub CTRL + kliknięcie, aby przeciągać zawartość.
  • Linijki: Możesz dodać co najmniej jeden linijkę poziomą/pionową w celu nakładki uruchomionej aplikacji. Te wiersze można następnie przenieść w położenie za pomocą myszy lub klawiatury. Podczas przenoszenia linijek za pomocą klawiatury użyj klawiszy strzałek do precyzyjnego pozycjonowania oraz klawiszy Ctrl +strzałka w celu szybkiego pozycjonowania. Linijki można również usunąć, wybierając je (klikając je) i naciskając klawisz Delete.
  • Porady dotyczące & elementów: Po wybraniu elementu możesz wybrać element XAML, który chcesz edytować, przy użyciu tej samej funkcji, która może być używana na żywo w drzewie wizualnym lub na pasku narzędzi w aplikacji. Po wybraniu możesz również włączyć nową funkcję "porady dotyczące informacji", aby uzyskać dodatkowe informacje o wybranym elemencie, takie jak czcionki, kolory, informacje o marginesie/dopełnienie i inne. Podczas korzystania z opcji wyboru elementu rozważ włączenie opcji Podgląd wybranego elementu — za pomocą przycisku paska narzędzi live drzewa wizualnego lub > opcji > Przeładowywanie na gorąco debugowania — aby przejść do źródłowego kodu XAML.
  • Windows przełączania: Możesz kontrolować, które okna aplikacji są przechwytywane.

Chociaż w tej pierwszej wersji zapoznawczej ta funkcja działa tylko w przypadku aplikacji WPF, pracujemy nad rozszerzeniem obsługi dodatkowych typów aplikacji w przyszłości.

Zdalne testowanie wcześnie eksperymentalnej wersji zapoznawczej

Mamy bardzo wczesną eksperymentalną podgląd włączania uruchamiania testów w środowiskach zdalnych, takich jak kontenery systemu Linux, WSL i połączenia SSH. Chociaż jest to bardzo cenna funkcja, prosimy o cierpliwość, ponieważ ta funkcja jest nadal w bardzo wczesnym stanie eksperymentalnym, ponieważ zbieramy opinie. Możesz nie odczuwać normalnie płynności, ponieważ możesz sobie wyobrazić, że istnieje wiele możliwych scenariuszy w zakresie komunikacji i zarządzania połączonym środowiskiem z Visual Studio. Poniżej podano niektóre wymagania dotyczące korzystania z tej eksperymentalnej wersji testowania zdalnego:

  • Konieczne jest zainstalowanie niezbędnych zależności w środowisku docelowym. Oznacza to, że jeśli chcesz, aby testy przeznaczone dla platformy .NET 3.1 działały w kontenerze systemu Linux, upewnij się, że kontener ma zainstalowaną platformę .NET 3.1 za pośrednictwem pliku Dockerfile. Pewnego dnia chcielibyśmy utworzyć środowisko instalacji, które umożliwia bezproblemowe pozyskiwanie dowolnych zależności testowych, ale na razie większość aprowizowania środowiska jest aż do specyfikacji użytkownika.
  • Zaplanuj monitorowanie stanu połączenia ze środowiskiem zdalnym za pomocą okienka Dane wyjściowe >Testów. Jeśli na przykład kontener został zatrzymany, w okienku Dane wyjściowe >Testów pojawi się komunikat. Możemy nie wykryć wszystkich scenariuszy, dlatego zaplanuj sprawdzenie danych wyjściowych, jeśli wygląda na to, że połączenie zostało utracone. Szczególnie jeśli okienko Dane wyjściowe nie jest ustawione na wartość "Test", komunikat może nie zostać wyświetlony natychmiast. Nadal eksperymentujemy z najlepszym modelem powiadomień w przypadku utraconych połączeń, więc opinie są bardzo powitane. Jeśli wydaje się, że połączenie zostało utracone, możesz użyć listy rozwijanej zdalnego środowiska testowego w Eksploratorze testów, aby ustawić połączenie z powrotem do środowiska lokalnego, a następnie ponownie wybrać środowisko zdalne w celu ponownego nawiązaniu połączenia.
  • Eksperymentalna wersja zapoznawcza na razie obejmuje tylko testy .NET. Zdajemy sobie sprawę z zainteresowania obsługą zdalnych testów w języku C++ i mamy nadzieję, że zostanie to również w końcu zapewniane.

Jak wypróbować testowanie zdalne?

  • Oficjalne dokumenty zostaną nadsyłane po okresie eksperymentalnym. Na razie jest to potrzebne, aby rozpocząć testowanie.
  • Środowiska są określane przy testenvironments.json użyciu w katalogu głównym rozwiązania. Struktura plików JSON jest zgodna z poniższym schematem:
{
    "version": "1", // value must be 1
    "environments": [
        { "name": "<unique name>", ... },
        ...
    ]
}
  • Połączenia kontenera lokalnego
    • Aby nawiązać połączenie z kontenerem uruchomionym lokalnie, musisz mieć program Docker Desktop na komputerze lokalnym. Opcjonalnie włącz integrację WSL2, aby uzyskać lepszą wydajność.
    • W przypadku pliku Dockerfile środowisko można określić w pliku w katalogu testEnvironments.json głównym rozwiązania:
          {
          "name": "<name>",
          "localRoot": "<path to local environment>", // optional
          "type": "docker",
          "dockerImage": "<docker image tag>",
          }
      
      Na przykład:
      {
      "version": "1",
      "environments": [
          {
          "name": "linux dotnet-core-sdk-3.1",
          "type": "docker",
          "dockerImage": "testenv"
          }
      ]
      }
      
    • Oto przykład pliku Dockerfile do uruchamiania testów przeznaczonych dla platformy .NET 3.1.
      FROM mcr.microsoft.com/dotnet/core/sdk:3.1
      
    • Skompilowanie kontenera przy użyciu następującego polecenia (w tym "." na końcu): docker build -t <docker image name> -f <path to Dockerfile> .
  • Lokalne połączenia WSL2
    • Należy włączyć integrację WSL2 na komputerze lokalnym.
    • Środowisko można określić w katalogu testEnvironments.json głównym rozwiązania, zgodnie z tym schematem:
      {
      "version": "1",
      "environments": [
          {
          "name": "WSL-Ubuntu",
          "type": "wsl",
          "wslDistribution": "Ubuntu"
          }
      ]
      }
      
  • Połączenia SSH
    • Przejdź do opcji narzędzia >, > międzyplatformowe > Menedżer połączeń, aby dodać lub usunąć połączenia SSH. Wybranie opcji "Dodaj" umożliwi wprowadzenie nazwy hosta, portu i wszystkich potrzebnych poświadczeń.
    • Środowisko można określić w testEnvironments.json katalogu głównym rozwiązania przy użyciu następujących wartości:
      {
      "version": "1",
      "environments": [
          {
          "name": "ssh-remote",
          "type": "ssh",
          "remoteUri": "ssh://user@hostname:22"
          }
      ]
      }
      
  • Aktywne środowisko jest wybierane za pośrednictwem listy rozwijanej na pasku narzędzi Eksploratora testów. Obecnie tylko jedno środowisko testowe może być aktywne jednocześnie.

Lista rozwijana zdalnego środowiska testowania w Eksploratorze testów

  • Po wybraniu środowiska testy są odnalezione i uruchamiane w nowym środowisku.

Testy są odnalezione i wykonywane w środowiskach zdalnych

  • Teraz możesz uruchamiać testy w środowisku zdalnym. (Możliwość debugowania testów w środowiskach zdalnych będzie już wkrótce!)

    Wyświetlanie wyników testów ze środowiska zdalnego w eksploratorze testów

  • Eksplorator testów może monitować o zainstalowanie niektórych brakujących wymagań wstępnych środowiska i próbę ich zainstalowania, ale ostatecznie większość aprowizowania środowiska zdalnego nie zostanie przesłoniona przez specyfikację użytkownika.

Zaktualizowana i odświeżona ikona

  • W ramach naszego celu odświeżenia interfejsu użytkownika dla programu Visual Studio 2022 znajdziesz nowo odświeżone i zaktualizowane ikony w całym idee w oparciu o spójność, czytelność i znajomość.

Przykłady nowych ikon z ciemnymi i jasnymi tłami


17.0.0-pre.1.1 Visual Studio 2022 w wersji 17.0 (wersja zapoznawcza 1.1)

wydany 24 czerwca 2021 r.

Problemy rozwiązane w tym wydaniu

  • Rozwiązano problem powodujący bardzo wolne uruchamianie Eksploratora testów.

Zgłaszane na forum Developer Community


17.0.0-pre.1.0 Visual Studio 2022 17.0 (wersja zapoznawcza 1)

wydany 17 czerwca 2021 r.

Podsumowanie nowości w tej wersji programu Visual Studio 2022 w wersji 17.0 (wersja zapoznawcza 1)

64-bitowa

  • devenv.exe jest teraz tylko 64-bitowa

IntelliCode

  • Automatyczne uzupełnianie całego wiersza

.NET 6 SDK

  • Zestaw .NET 6 SDK (wersja zapoznawcza) jest dołączony Visual Studio 2022 r.
  • Ta wersja oferuje podstawową obsługę .NET MAUI projektów. Tymczasowo musisz zainstalować pakiet .NET MAUI oddzielnie od programu .NET 6. Zobacz naszą dokumentację .NET MAUI instalacji, aby uzyskać więcej informacji

Narzędzia Usługi Git

  • Usunięto możliwość powrotu do interfejsu Team Explorer Git, dzięki czemu nowe środowisko usługi Git było jedynym dostępnym wbudowanym narzędziem.
  • Usunięto opcję instalowania rozszerzenia GitHub z Instalator programu Visual Studio.

Obsługa narzędzi testowych

  • Nowe wersje platformy testów, począwszy od wersji 17.0, nie będą mogły uruchamiać testów ogólnych i testów uporządkowanych. Te konkretne funkcje są dostarczane tylko jako część wczesnej wersji msTestv1 i nie są uwzględnione w msTestv2. Widzimy, że bardzo niskie użycie tych funkcji i uporządkowane testy są teraz uznawane za niezgodne z najlepszymi rozwiązaniami w zakresie testowania.
  • Niektóre funkcje testowania nie będą dostępne w wersji 17.0 (wersja zapoznawcza 1), w tym tworzenie nowych plików TestSettings i edytor TestSettings. Przebiegi testów nadal będą mogły korzystać z plików TestSettings, jednak zestaw TestSettings został zastąpiony przez runSettings i zachęcamy użytkowników do migrowania ulepszonej wydajności i funkcjonalności. Przeczytaj więcej.
  • Obsługa kodowych testów interfejsu użytkownika i internetowych testów obciążeniowych nie zostanie w wersji 17.0 (wersja zapoznawcza 1), ponieważ nadal pracujemy nad przenoszeniem tych interfejsów do wersji Visual Studio 2022. [](Cloud-based load testing service end of life | Azure DevOps Blog (microsoft.com)) Planujemy ich obsługę w kolejnych wersjach zapoznawczych, ale zdecydowanie zachęcamy użytkowników do odejechywania od zakodowanych testów interfejsu użytkownika i internetowych testów obciążeniowych. Te technologie zostały oficjalnie wycofane w 2019 r. i planujemy usunięcie ich z produktu, gdy będziemy w stanie zminimalizować wpływ na użytkowników.

Narzędzia internetowe

  • Strona Podsumowanie publikowania zawiera teraz akcje uruchamiania/zatrzymania zdalnego debugowania i profilowania w obszarze "...". w prawym górnym rogu sekcji "Hosting"
  • Strona Usługi połączone zawiera teraz akcję uruchamiania Eksplorator usługi Storage
  • Szablon "ASP.NET Core pusty", który jest dostarczany z platformą .NET 6, korzysta z nowego paradygmatu "minimalnych interfejsów API", dla którego rozpoczęliśmy dodawanie obsługi

Rozszerzalność

  • Zestaw VS SDK zawiera kilka zmian, które Visual Studio 2019 r. nie będą działać w 2022 r. Aby uzyskać więcej informacji, zobacz dokumentację vssdk.
  • Zestawy odwołania zestawu VS SDK nie są już instalowane w VSSDK\VisualStudioIntegration\Common\Assemblies folderze . Jeśli kompilacja polegała na tych zestawach, przemigruj projekt, aby zamiast tego NuGet pakietów. W przypadku scenariuszy offline:
    1. Zachowaj źródło danych nuget w organizacji, z którego będą przywracane pakiety nuget.
    2. Zaewidencjreguj pliki binarne.

Przeładowywanie na gorąco

Program .NET Przeładowywanie na gorąco jest teraz dostępny w programie Visual Studio 2022 podczas uruchamiania aplikacji przy użyciu debugera (F5) za pomocą nowego przycisku "Zastosuj zmiany kodu". Dzięki Przeładowywanie na gorąco możesz edytować uruchomione pliki kodu aplikacji i w wielu przypadkach zastosować te zmiany kodu bez konieczności wcześniejszego wstrzymywania wykonywania aplikacji (co było wcześniej wymagane przez możliwość edytowania i kontynuowania). Naszym Przeładowywanie na gorąco naszym celem jest zapisanie jak największej liczby uruchomień aplikacji między edycjami, co pozwala na większą produktywność dzięki skróceniu czasu poświęcanego na tworzenie/ponowne uruchamianie aplikacji w miarę kontynuowania tworzenia aplikacji.

Aby dowiedzieć się więcej na temat Przeładowywanie na gorąco, zobacz nasz najnowszy wpis w blogu na blogu .NET.

Nowe projektant XAML WPF dla .NET Framework

Bieżąca wersja WPF projektant XAML dla platformy .NET Framework jest zastępowana nowym elementem WPF projektant XAML dla platformy .NET Framework w oparciu o tę samą architekturę, która jest używana dla platformy WPF projektant XAML dla platformy .NET (.NET Core).

Środowisko Visual Studio będzie wyglądać tak samo, ale dostawcy kontroli innych firm muszą obsługiwać nowy model rozszerzalności, ponieważ poprzedni model jest oparty na systemach i jest .design.dll Microsoft.Windows.Design.Extensibility przestarzały. Jeśli utworzono już rozszerzenie dla platformy .NET (.NET Core), to samo rozszerzenie będzie działać dla nowego rozszerzenia .designtools.dll WPF projektant XAML dla .NET Framework.

Zapoznaj się z poniższym dokumentem migracji, aby uzyskać więcej informacji na temat migracji do nowego modelu rozszerzalności.

Funkcje, które nie są jeszcze dostępne

W wersji zapoznawczej 1 programu Visual Studio 2022 kilka funkcji nie zostało jeszcze zmigrowanych do wersji 64-bitowej i nie są jeszcze dostępne w wersji zapoznawczej. Planujemy uwzględnić te funkcje w przyszłych aktualizacjach i nie zostaną one usunięte z Visual Studio.

  • Internetowa wersja zapoznawcza na żywo
  • Profiler instrumentacji
  • Obsługa projektu usługi Azure Cloud Service
  • Debuger T-SQL
  • Test obciążenia sieci Web i TestController/TestAgent
  • Azure DataLake
  • Kodowany test interfejsu użytkownika
  • Dotfuscator
  • Integracja środowiska IDE incredibuild
  • Funkcja IntelliCode — znajdowanie i zastępowanie według przykładu

Problemy rozwiązane w tym wydaniu

Zgłaszane na forum Developer Community


Znane problemy

Zobacz wszystkie otwarte problemy i dostępne obejścia w programie Visual Studio 2022, korzystając z poniższego linku.


Opinie i sugestie

Chcemy poznać Twoją opinię! Problemy możesz zgłaszać za pomocą opcji Zgłoś problem w prawym górnym rogu instalatora lub bezpośrednio w środowisku IDE programu Visual Studio. Program Feedback Icon znajduje się w prawym górnym rogu. Zgłaszanie sugestii dotyczących produktów i śledzenie problemów jest możliwe w społeczności deweloperów programu Visual Studio, gdzie można też zadawać pytania, znajdować odpowiedzi i proponować nowe funkcje. Możesz też uzyskać bezpłatną pomoc dotyczącą instalacji za pośrednictwem naszej pomocy technicznej przez czat na żywo.


Blogi

Skorzystaj ze szczegółowych informacji i zaleceń dostępnych w witrynie blogów dotyczących narzędzi programistycznych, aby być na bieżąco ze wszystkimi nowymi wersjami i zyskać dostęp do szczegółowych wpisów dotyczących szerokiego zakresu funkcji.


Visual Studio historii informacji o wersji 2022

Aby uzyskać więcej informacji na temat poprzednich wersji programu Visual Studio 2022, zobacz stronę Historia informacji o wersji Visual Studio 2022.


Początek strony