2019LogoInformacje o wersji 16.1 programu Visual Studio 2019



Developer Community | Wymagania | systemowe zgodność Dystrybucyjna | historia | wersji kodu | licencji | Blogi | Whats New w Visual Studio Docs


Uwaga

To nie jest najnowsza wersja programu Visual Studio. Aby pobrać najnowszą wersję, odwiedź witrynę programu Visual Studio .



Co nowego w programie Visual Studio 2019 w wersji 16.1

Ramy czasowe pomocy technicznej

Ta wersja nie jest już obsługiwana. Aby uzyskać więcej informacji na temat obsługi programu Visual Studio, zapoznaj się z zasadami pomocy technicznej dla programu Visual Studio 2019.

Zapoznaj się z najnowszą wersją informacji o wersji lub odwiedź witrynę programu Visual Studio , aby pobrać najnowszą obsługiwaną wersję programu Visual Studio 2019.

Wydania programu Visual Studio 2019 w wersji 16.1

Blog dotyczący programu Visual Studio 2019

Blog dotyczący programu Visual Studio 2019 to oficjalne źródło informacji o produkcie pochodzących od zespołu inżynierów ds. programu Visual Studio. Szczegółowe informacje na temat wersji programu Visual Studio 2019 można znaleźć w następujących wpisach:


Release Notes IconVisual Studio 2019 w wersji 16.1.6

wydany 9 lipca 2019 r.

Powiadomienia o biuletynach zabezpieczeń

CVE-2019-1077 Luka w zabezpieczeniach dotycząca automatycznej aktualizacji rozszerzeń programu Visual Studio

Luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy proces automatycznej aktualizacji rozszerzeń programu Visual Studio nieprawidłowo wykonuje pewne operacje na plikach. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby usuwać pliki w dowolnych lokalizacjach. Aby wykorzystać tę lukę w zabezpieczeniach, atakujący potrzebuje nieuprzywilejowanego dostępu do narażonego systemu. Aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach przez zabezpieczenie lokalizacji, w których automatyczna aktualizacja rozszerzeń programu Visual Studio wykonuje operacje na plikach.

CVE-2019-1075 Luka w zabezpieczeniach umożliwiająca podszywanie się na platformie ASP.NET Core

Na platformie ASP.NET Core istnieje luka w zabezpieczeniach, która może powodować otwarte przekierowywanie. Atakujący, który wykorzystał tę lukę, może przekierować użytkownika docelowego do złośliwej witryny. Aby wykorzystać lukę w zabezpieczeniach, atakujący może wysłać link ze specjalnie przygotowanym adresem URL i przekonać użytkownika do kliknięcia linku.

Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób analizy adresów URL na platformie ASP.NET Core. Szczegóły można znaleźć w informacjach o wersji platformy .NET Core.

CVE-2019-1113 Deserializacja pliku XOML Projektanta przepływu pracy umożliwia wykonywanie kodu

Plik XOML przywołujący niektóre typy może powodować wykonywanie losowego kodu, kiedy plik XOML jest otwierany w programie Visual Studio. Teraz wprowadzono ograniczenie dotyczące typów, których można używać w plikach XOML. Po otwarciu pliku XOML zawierającego jeden z nowo nieautoryzowanych typów jest wyświetlany komunikat wyjaśniający, że ten typ nie ma autoryzacji.

Aby uzyskać więcej informacji, zapoznaj się z artykułem https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


Release Notes Icon Visual Studio 2019 w wersji 16.1.5

wydany 2 lipca 2019 r.

###Summary problemów rozwiązanych w programie Visual Studio 2019 w wersji 16.1.5


Release Notes Icon Visual Studio 2019 w wersji 16.1.4

wydany 25 czerwca 2019 r.

Podsumowanie problemów rozwiązanych w programie Visual Studio 2019 w wersji 16.1.4


Release Notes IconVisual Studio 2019 w wersji 16.1.3

wydany 11 czerwca 2019 r.

Podsumowanie problemów rozwiązanych w programie Visual Studio 2019 w wersji 16.1.3


Release Notes IconVisual Studio 2019 w wersji 16.1.2

wydany 4 czerwca 2019 r.

Podsumowanie problemów rozwiązanych w programie Visual Studio 2019 w wersji 16.1.2


Release Notes IconVisual Studio 2019 w wersji 16.1.1

wydany 24 maja 2019 r.

Podsumowanie problemów rozwiązanych w programie Visual Studio 2019 w wersji 16.1.1


Release Notes IconVisual Studio 2019 w wersji 16.1

wydany 21 maja 2019 r.

Podsumowanie nowości w programie Visual Studio 2019 w wersji 16.1

IDE

  • Funkcja Visual Studio IntelliCode jest teraz ogólnie dostępna i jest instalowana z dowolnym obciążeniem, które obsługuje języki C#, C++, TypeScipt/JavaScript lub XAML.
  • Dodano obsługę rozpoznawania monitorów.
  • Nowe poprawki kodu są dostępne dla języka C#.
  • Opcja Ostatnio używane została dodana do funkcji wyszukiwania programu Visual Studio.

Debuger

  • Zaimplementowano ulepszenia uwierzytelniania linku źródłowego.
  • Dodano serwer symboli nuget.org do listy domyślnych serwerów symboli.
  • Debugowanie przechodzenia w czasie (wersja zapoznawcza) uwzględnia teraz obsługę krokowego wykonywania wyjątków.

Rozszerzalność

  • Usunięto wymaganie pliku resx w projektach VSIX (aktualizacja narzędzi BuildTools).
  • Szablon projektu VSIX używa teraz nowej wersji zestawu SDK.

Wydajność

  • Środowisko optymalizacji mające na celu skrócenie czasu ładowania bardzo dużych rozwiązań.
  • Autorzy szablonu mogą dodawać znaczniki niestandardowe do swoich szablonów.
  • Obsługa funkcji CodeLens w niestandardowym interfejsie użytkownika.
  • Udostępniono aktualizacje implementacji protokołu serwera języka.
  • Zaktualizowano zachowanie przełączania między rozwiązaniami, folderami i innych widokami.

C++

F#

.NET

  • Nowe funkcje zwiększające produktywność platformy .NET obejmują oczyszczanie kodu jednym kliknięciem w projektach i rozwiązaniach, nowy skrót klawiaturowy przełączania komentarza do bloku oraz refaktoryzację w celu przenoszenia typów do innych przestrzeni nazw.
  • Teraz użytkownicy mogą sklonować kod z identyfikatora URI SSH za pomocą ekranu klonowania w oknie uruchamiania.
  • Produktywność na platformie .NET dodaje m.in. uzupełnianie niezaimportowanych typów za pomocą technologii IntelliSense, włączanie lub wyłączanie komentarza jednowierszowego, eksportowanie stylów nazewnictwa do pliku editorconfig i nowe ustawienie stylu kodu na potrzeby preferowania dyrektyw using wewnątrz/na zewnątrz przestrzeni nazw.
  • Zaimplementowano dodatki do narzędzi zestawu SDK platformy .NET dotyczące obsługi projektów WinForms i WPF na platformie .NET Core 3.0, oraz poprawki błędów i ulepszenia wydajności.
  • Zestaw Visual Studio SDK w wersji 16.0 został wydany do menedżera NuGet.
  • Udostępniono wersję zapoznawczą Projektanta XAML do programowania WPF na platformie .NET Core 3.0.

Xamarin

Najważniejsze problemy rozwiązane w programie Visual Studio 2019 w wersji 16.1

Szczegóły nowości w programie Visual Studio 2019 w wersji 16.1

  • Funkcja IntelliCode jest teraz ogólnie dostępna i jest instalowana z dowolnym obciążeniem, które obsługuje języki C#, C++, TypeScipt/JavaScript lub XAML.
  • Wersja zapoznawcza funkcji IntelliCode — modele niestandardowe, obsługa języków C++/TS/JS i wnioskowanie na podstawie pliku Editorconfig są domyślnie wyłączone. Aby je włączyć, przejdź do pozycji Narzędzia > Opcje > intelliCode.
  • Usunięto szablon Editorconfig (IntelliCode) z Kreatora nowych elementów. Aby utworzyć wywnioskowany plik Editorconfig, kliknij prawym przyciskiem myszy żądaną lokalizację w Eksplorator rozwiązań i wybierz polecenie Dodaj > nową aplikację EditorConfig (IntelliCode).
  • Używanie okna uruchamiania do klonowania kodu z repozytorium online za pośrednictwem protokołu SSH.
Clone with SSH on start window
Klonowanie za pomocą protokołu SSH w oknie uruchamiania
  • Funkcja Visual Studio IntelliCode jest instalowana domyślnie podczas instalowania obciążenia obsługującego język C#, XAML lub C++.
    • Modele podstawowe języków C# i XAML będą włączane domyślnie.
    • Funkcje w wersji zapoznawczej, takie jak trenowanie modelu niestandardowego i uzupełnianie argumentów, można włączyć za pomocą opcji narzędzi > IntelliCode>.
  • Dodano obsługę rozpoznawania monitorów
  • Nowe poprawki kodu dostępne dla języka C#.
  • Dodano obsługę rozpoznawania monitorów w aplikacji WinForms na podstawie okna przeglądarki właściwości programu Visual Studio. Na maszynie musi być zainstalowana platforma .NET Framework 4.8 RTM.
  • Link źródłowy może teraz używać uwierzytelniania systemu Windows do obsługi kontroli źródła w programie TFS w środowisku lokalnym.
  • Dodano serwer symboli nuget.org do listy domyślnych serwerów symboli

Projekt

  • Przycisk przełączania widoku Eksploratora rozwiązań będzie teraz stale pokazywać menu rozwijane zawierające wszystkie dostępne widoki.
Solution switching
Przełączanie widoku rozwiązania
  • Skrócono czas ładowania w przypadku bardzo dużych rozwiązań. Ulepszenia różnią się w zależności od rozmiaru rozwiązań.

  • Usunięto okno dialogowe Konwertowanie w obszarze Plik > Konwertuj. Ta funkcja została wcześniej uznana za przestarzałą w programie Visual Studio 2015.

  • Zaktualizowano reguły walidacji schematów task.vs.json i launch.vs.json oraz dodano opisy właściwości.

  • Dodano obsługę zdalnego debugowania systemu Linux przy użyciu programu niestandardowego za pośrednictwem pliku launch.vs.json.

Rozszerzalność

  • Użytkownicy mogą teraz używać najnowszej wersji zestawu Microsoft.VisualStudio.SDK w celu stosowania programu Visual Studio 2019 w swoich rozszerzeniach. Pamiętaj, aby używać tej wersji zestawu SDK tylko, jeśli najniższa obsługiwana wersja programu Visual Studio to 16.0.
  • Tworzenie nowych projektów VSIX będzie teraz obejmować wersję 16.0 pakietu NuGet zestawu Microsoft.VisualStudio.SDK.
  • Użytkownicy mogą teraz dodawać tagi do szablonów projektu w celu włączenia kategoryzacji i filtrowania w oknie dialogowym Nowy projekt w programie Visual Studio 2019. Użytkownicy mogą też wybrać tagi wbudowane lub własne niestandardowe tagi języka, platformy i typu projektu.
Template tagging
Tagowanie szablonu
  • Rozszerzenia funkcji CodeLens mogą teraz wyświetlać dowolną zawartość interfejsu użytkownika w oknach podręcznych szczegółów funkcji CodeLens.

  • Zaktualizowano protokół serwera języka przy użyciu następujących funkcji:

    • Obsługa przewidywanych buforów w celu włączenia protokołu LSP na potrzeby porównania w trybie śródwierszowym oraz plików Razor w rozszerzeniu LiveShare.
    • Obsługa niepotrzebnej diagnostyki.
    • Obsługa obiektu textDocument/typeDefinition.
    • Obsługa obiektu textDocument/foldingRange (zwijanie).
  • Usunięto wymaganie pliku resx w projektach VSIX (aktualizacja narzędzi BuildTools)

  • Pakiet NuGet Microsoft.VSSDK.BuildTools zawiera teraz pusty plik resx jako część kompilacji, jeśli plik resx z właściwością MergeWithCTO nie istnieje. Większość rozszerzeń nie używa lub wymaga pliku resx do scalenia, co pozwoli zachować porządek w projekcie.

  • Zmiany rozpoznawania monitorów mogą wpłynąć na niektóre rozszerzenia. Dowiedz się więcej na temat obsługi rozpoznawania monitorów dla rozszerzeń programu Visual Studio.

Redaktor

  • Funkcja wyszukiwania w programie Visual Studio będzie teraz wyświetlać w trybie koncentracji uwagi trzy ostatnio używane akcje wywoływane za jej pośrednictwem, jak pokazano w tym przykładowym modelu. (Uwaga: ikony i określone elementy wiersza nie zostały w pełni zaktualizowane w tym makiecie.)
Visual Studio Search
Makieta wyszukiwania w programie Visual Studio

C++

  • Stosowanie lokalnego Podsystemu Windows dla systemu Linux (WSL) z językiem C++ natywnie w programie Visual Studio bez konieczności dodatkowej konfiguracji bądź połączenia SSH.
Windows Subsystem for Linux
Podsystem Windows dla systemu Linux
  • Narzędzie AddressSanitizer jest teraz zintegrowane w programie Visual Studio dla projektów systemu Linux i WSL.
ASan integration
Integracja ASan
  • Teraz użytkownicy mogą oddzielić maszynę zdalnej kompilacji od maszyny zdalnego debugowania w przypadku korzystania z systemu Linux, zarówno w projektach MSBuild, jak i CMake.
  • Etykietki Szybka podpowiedź zawierają teraz hiperlink do wyszukiwania dokumentów online, z których można dowiedzieć się więcej na temat konstrukcji kodu. W przypadku kodu podkreślonego czerwoną falistą linią hiperlink w Szybkiej podpowiedzi odsyła do informacji o błędzie online.
  • Kod wewnątrz etykietek Szybka podpowiedź teraz jest kolorowy, aby odzwierciedlać kolorowanie w edytorze.
Colorized code in Quick Info tooltips
Kolorowy kod w etykietkach Szybka podpowiedź
  • Automatyczne szybkie poprawki dla ostrzeżenia analizy kodu C6001: użycie niezainicjowanej pamięci <zmienna> i C26494 VAR_USE_BEFORE_INIT (zmienna użyta przed zainicjowaniem) są dostępne za pośrednictwem menu żarówki w odpowiednich wierszach, domyślnie włączone odpowiednio w minimalnym zestawie natywnych reguł firmy Microsoft i zestawach reguł typu podstawowego sprawdzania języka C++.
New Code Analysis quick fixes
Nowe szybkie poprawki analizy kodu
  • Ulepszenia edytora ustawień narzędzia CMake, w tym obsługa podsystemu Windows dla systemu Linux i konfiguracji z istniejących pamięci podręcznych, zmiany kompilacji domyślnej i instalowanie elementów głównych oraz obsługa zmiennych środowiskowych w konfiguracjach narzędzia CMake systemu Linux.
Improvements to the CMake Settings Editor
Ulepszenia edytora ustawień narzędzia CMake
  • Ulepszone rejestrowanie połączeń zdalnych ułatwia diagnozowanie problemów z tworzeniem aplikacji międzyplatformowych.
Improved logging for remote connections
Ulepszone rejestrowanie połączeń zdalnych
  • Teraz możesz oddzielić maszynę zdalnej kompilacji od maszyny zdalnego debugowania w przypadku korzystania z systemu Linux (opcja specyficzna dla projektów programu MSBuild, wkrótce dostępna dla narzędzia CMake).
  • Pasek szablonu może wypełniać menu rozwijane na podstawie wystąpień tego szablonu w bazie kodu.
New Template Bar dropdown menu
Nowe menu rozwijane paska szablonu
  • Funkcja IntelliCode języka C++ jest teraz dostarczana w pudełku i można je włączyć w obszarze Narzędzia > Opcje > funkcji IntelliCode > Ogólne. Ta wersja funkcji IntelliCode działa z większą dokładnością i oferuje obsługę funkcji bezpłatnych.
  • Integracja narzędzia CMake obsługuje teraz łańcuch narzędzi Clang/LLVM dla projektów przeznaczonych dla systemu Windows i/lub Linux. Można teraz kompilować, edytować i debugować projekty narzędzia CMake, które korzystają z rozwiązania Clang, MSVC lub GCC.
CMake integration supports the Clang/LLVM toolchain
Integracja narzędzia CMake obsługuje łańcuch narzędzi Clang/LLVM
  • Symbole żarówek dla brakujących instrukcji #include, które mogą być instalowane przez menedżera pakietów vcpkg, oraz automatyczne uzupełnianie dostępnych pakietów na potrzeby dyrektywy find_package narzędzia CMake.
Autocompletion of available packages
Automatyczne uzupełnianie dostępnych pakietów
  • Narzędzie CMake dostarczane z programem Visual Studio zostało zaktualizowane do wersji 3.14. Ta wersja dodaje wbudowaną obsługę generatorów programu MSBuild przeznaczonych dla projektów programu Visual Studio 2019 r oraz interfejsów API integracji środowiska IDE opartych na plikach.

  • Strony właściwości ogólnych projektów języka C++ zostały zmienione tak, aby niektóre opcje zostały umieszczone oddzielnie na nowej stronie Zaawansowane. Strona Zaawansowane zawiera również dodatkowe właściwości preferowanej architektury zestawu narzędzi, bibliotek debugowania, wersji pomocniczej zestawu narzędzi MSVC i kompilacji aparatu Unity (jumbo).

  • Następujące funkcje języka C++20 w wersji zapoznawczej zostały dodane do naszej implementacji biblioteki standardowej języka C++ i są dostępne w obszarze /std:c++latest:

    • starts_with() i ends_with() dla obiektu basic_string/basic_string_view.
    • contains() dla kontenerów asocjacyjnych.
    • remove(), remove_if() i unique() dla obiektów list i forward_list zwracają teraz obiekt size_type.
    • shift_left() i shift_right() dodane do obiektu <algorithm>.
  • Następujące funkcje języka C++20 w wersji zapoznawczej zostały zaimplementowane w kompilatorze języka C++ i są dostępne w obszarze /std:c++latest:

    • Zwiększona zdolność znajdowania szablonów funkcji za pomocą zależnego od argumentów wyszukiwania wyrażeń wywołania funkcji przy użyciu jawnych argumentów szablonu (P0846R0).
    • Wyznaczone inicjowanie (P0329R4), które pozwala na wybieranie określonych elementów członkowskich podczas inicjowania agregacji, np. za pomocą składni Type t { .member = expr }.
  • Obsługa wyrażeń lambda została przebudowana w celu naprawienia dużej liczby długotrwałych usterek. Ta zmiana jest włączana domyślnie w przypadku korzystania z funkcji /std:c++latest. W innych trybach języka /std:c++* i w trybie domyślnym nowy analizator można włączyć za pomocą elementu /experimental:newLambdaProcessor, np. /std:c++17 /experimental:newLambdaProcessor.

  • Dokumentacja narzędzia CMake w edytorze

  • Uzupełnienia i skrócone informacje dotyczące wbudowanych poleceń narzędzia CMake, zmiennych i właściwości ułatwiają edytowanie plików CMakeLists.txt.

Tooltip info for add_subdirectory CMake command
Informacje etykietki narzędzia polecenia narzędzia CMake add_subdirectory

Język F# i narzędzia języka F#

To właściwie wersja pośrednia języka F# i jego narzędzi, niepozbawiona jednak zalet! Podobnie jak w przypadku aktualizacji programu VS 16.0, również ta wersja koncentruje się na wydajności narzędzi edytora.

Kompilator F# i środowisko interaktywne F#
  • Dodano obsługę elementu P/Invoke do środowiska interaktywnego języka F# na platformie .NET Core (#6544)
  • Dodano optymalizację kompilatora dotyczącą struktury Span<'T> używanej w pętli for (#6195)
  • Dodano optymalizację, aby uniknąć nadmiarowych przydziałów Some dla opcji języka F# w różnych scenariuszach (#6532)
  • Zmieniono kolejność wykonywania wyrażeń używanych podczas tworzenia wystąpień anonimowych rekordów, aby odbywało się od góry do dołu zamiast alfabetycznie, w celu dopasowania bieżącego działania do zwykłych rekordów (#6487)
  • Usterka polegająca na tym, że bardzo duże wyrażenia literałów lub bardzo duże deklaracje struktur mogły powodować przepełnienie stosu kompilatora podczas kompilacji, została usunięta (#6258)
  • Usterka polegająca na tym, że punkty przerwania nie były już wyzwalane podczas debugowania funkcji z rekordami anonimowymi, została usunięta (#6512)
  • Usterka polegająca na tym, że rekordy anonimowe przekazywane do konstrukcji, w których oczekiwano parametru obj, powodowały awarię kompilatora, została usunięta (#6434)
  • Usterka polegająca na tym, że pętle for var expr1 to expr2 do ... mogły spowodować dziwacznie prawidłową (i odrzuconą) składnię, została usunięta (#6586)
  • Usterka polegająca na tym, że rekordy anonimowe nie mogły być prawidłowo używane ze zdarzeniami, została usunięta (#6572)
  • Stara usterka dotycząca niezwykle długich parserów generowanych w programie FsLexYacc (ponad 100 milionów wierszy) została usunięta (#5967)
  • Stary problem w składniku wtyczki dostawcy typów kompilatora, który mógł zostawić otwartą furtkę pozwalającą na przeciek pamięci spowodowany przez dostawcę typów, został rozwiązany (#6409)
  • Saul Rennison dodał do kompilatora F# obsługę opcji --pathmap, co rozwiązuje problem polegający na tym, że w wynikowym pliku wykonywalnym pochodzącym z kompilacji były zawarte ścieżki bezwzględne do plików źródłowych w osadzonym zasobie pliku sygnatury F# (#5213)
  • Optymalizacja abstrakcyjnego drzewa składni F# AST, która zwiększa jego wykorzystanie przez inne narzędzia i środowiska (np. Fable), została dodana przez ncave (#6333)
  • Steffen Forkmann dodał optymalizację dotyczącą trawersowania informacji podczas rozwiązywania elementów członkowskich (#4457)
  • Poprawka dotycząca komunikatów o błędach, polegająca na tym, że kiedy w implementacji typu brakuje niezbędnych zastąpień, zgłaszana jest lista tych brakujących zastąpień, została dodana przez Gauthiera Segaya (#4982)
Narzędzia języka F#
  • Lista rozwijana Platforma docelowa dla projektów F# w zestawie .NET SDK będzie teraz obejmować wartości dla wszystkich dostępnych wartości platformy .NET Core, .NET Standard i .NET Framework w celu ułatwienia migracji do platformy .NET Core z .NET Framework w zestawie .NET SDK
  • Usterka polegająca na tym, że zmiana nazwy parametrów typu ogólnego powodowała poprzedzenie nazw podwójnym grawisem, została usunięta (#5389)
  • Stary problem polegający na tym, że wystąpienia dostawców typów były tworzone nadmiarowo, powodując z czasem obszerne alokacje, został rozwiązany (#5929)
  • Stary problem polegający na tym, że podczas czytania języka pośredniego niepotrzebnie alokowano 20 MB na krótki czas, został rozwiązany (#6403)
  • Usterka polegająca na tym, że metoda GetToolTipText w usłudze kompilatora F# mogła pokazać tę sama sygnaturę XML dla kilku przeciążeń elementów członkowskich, została usunięta przez Vasilya Kirichenko (#6244)
Infrastruktura „open source” języka F#

Na koniec ulepszyliśmy środowisko współtworzenia, wykonując następujące czynności:

  • Ukończenie kompilacji z procesu źródłowego, aby kompilator F# i podstawowa biblioteka mogły być kompilowane z repozytorium kompilacji źródłowych .NET Core
  • Usunięcie zależności od netstandard1.6, dzięki czemu cała baza kodu ma jednolite cele netstandard2.0 i net472
  • Dodanie pliku .vsconfig do katalogu głównego repozytorium, aby współautorzy korzystający z programu Visual Studio nie musieli znać z wyprzedzeniem wszystkiego, co jest potrzebne do instalacji
  • Przepisano plik README naszego projektu, aby usunąć potencjalnie mylące informacje, umieścić sekcje Szybki start dotyczące rozpoczynania współtworzenia i postarać się o bardziej angażujące komunikaty dotyczące rodzajów zmian, które lubimy podejmować

Produktywność platformy .NET

  • Wprowadzono eksperymentalne uzupełnianie IntelliSense niezaimportowanych typów! Użytkownicy otrzymują teraz sugestie funkcji IntelliSense dla typów zawartych w zależnościach w projekcie, nawet jeśli zestawienie importowe nie zostało jeszcze dodane do pliku. Włącz tę opcję w obszarze Narzędzia > Opcje > Edytor > tekstu C# > IntelliSense.
Intellisense completion for unimported types
Uzupełnianie IntelliSense niezaimportowanych typów
  • Włączanie/wyłączanie komentarza jednowierszowego jest teraz dostępne za pomocą skrótu klawiaturowego (Ctrl + K, /). To polecenie spowoduje dodanie lub usunięcie komentarza jednowierszowego w zależności od tego, czy zaznaczenie jest już skomentowane.
  • Możliwość eksportowania stylów nazewnictwa za pomocą przycisku "Generate editorconfig" (Generuj plik editorconfig) znajdującego się w oknie Narzędzia > Opcje > Edytor tekstu C > # > Code Style.
  • Za pomocą nowej reguły stylu kodu editorconfig można wymusić lub uniemożliwić stosowanie deklaracji using wewnątrz przestrzeni nazw. To ustawienie zostanie również wyeksportowane podczas korzystania z przycisku "Generate editorconfig" (Generuj plik editorconfig) znajdującego się w oknie Narzędzia > Opcje > Edytor > tekstu W stylu kodu języka C#>.
Editorconfig rule for usings outside/inside namespaces
Reguła Editorconfig dotycząca stosowania deklaracji using wewnątrz/na zewnątrz przestrzeni nazw
Tools Options setting for usings inside/outside namespace
Ustawienie opcji narzędzi dotyczące stosowanie deklaracji using wewnątrz/na zewnątrz przestrzeni nazw
  • Kolumna „Kind” funkcji znajdowania wszystkich odwołań ma teraz więcej opcji filtrowania oraz uwzględnia przestrzenie nazw i typy.
Find All References Kind column has more filter options
Kolumna Rodzaj okna Znajdowanie wszystkich odwołań ma więcej opcji filtrowania
  • Dodano poprawkę kodu dotyczącą dzielenia i scalania instrukcji if.
Split or merge if statements
Dzielenie lub scalanie instrukcji if
  • Dodano poprawkę kodu dotyczącą zawijania wyrażeń binarnych.
Wrap binary expressions
Zawijanie wyrażeń binarnych
  • Lista uzupełniania wyrażeń regularnych jest teraz dostępna za pośrednictwem menu funkcji IntelliSense (Ctrl+Spacja) w ciągu wyrażenia regularnego. Te uzupełnienia obejmują też wbudowany opis działania sugestii.
Regex completion offered in Intellisense with (Ctrl + space)
Uzupełnianie wyrażeń regularnych
  • Dodano poprawkę kodu dotyczącą odpieczętowania klasy.
Unseal a class codefix
Odpieczętowanie klasy
  • Używaj oczyszczania kodu jednym kliknięciem dla projektów i rozwiązań. Klikaj prawym przyciskiem myszy projekty lub rozwiązanie w Eksploratorze rozwiązań i wybierz pozycję „Uruchom oczyszczanie kodu”.
Right-click to run code cleanup over the entire solution
Kliknij prawym przyciskiem myszy, aby uruchomić oczyszczanie kodu w całym rozwiązaniu
You will see a dialog box while cleanup is applied to each file
Podczas oczyszczania poszczególnych plików jest wyświetlane okno dialogowe
  • Okno dialogowe refaktoryzacji umożliwia teraz przenoszenie typu do przestrzeni nazw lub folderu. Umieść kursor w obrębie nazwy klasy i wpisz (Ctrl + .), aby otworzyć menu szybkich akcji i refaktoryzacji, a następnie wybierz pozycję „Przenieś do przestrzeni nazw”. Spowoduje to uruchomienie okna dialogowego, w którym można wybrać docelową przestrzeń nazw, do której chcesz przenieść typ.
Place cursor in class name and type (Ctrl+.) to view refactorings
Umieść kursor w obszarze nazwy klasy i wpisz (Ctrl+.), aby wyświetlić refaktoryzacje
Select the destination namespace
Wybierz docelową przestrzeń nazw
  • Przełącz komentarz/usuń komentarz jest teraz dostępny za pomocą skrótu klawiaturowego (Ctrl+Shift+/) lub edytuj > komentarz zaawansowany>. To polecenie spowoduje dodanie lub usunięcie komentarzy do bloku w zależności od wybranej pozycji.
Toggle block comment with (Ctrl+Shift+/)
Przełącz komentarz blokowy za pomocą skrótu (Ctrl+Shift+/)
  • Istnieje teraz poprawka kodu, dzięki której pola struktury tylko do odczytu oferują teraz możliwość zapisu. Umieść kursor w obrębie nazwy struktury i wpisz (Ctrl+.), aby otworzyć menu szybkich akcji i refaktoryzacji, a następnie wybierz pozycję „Włącz możliwość zapisywania w polach tylko do odczytu”.
  • Poprawka kodu umożliwiająca dodawanie pola prywatnego z konstruktora i odwrotnie jest łatwiejsza do odnalezienia i będzie wyświetlana po wybraniu dowolnej części nazwy pola. Ta refaktoryzacja teraz oferuje również wszystkich możliwych konstruktorów.

XAML Projektant (wersja zapoznawcza) na potrzeby programowania WPF dla platformy .NET Core 3.0

  • Oto wczesna wersja zapoznawcza Projektanta XAML dla deweloperów tworzących aplikacje platformy .NET Core 3.0 WPF w programie Visual Studio. Wiele funkcji czasu projektowania będzie w tej chwili niedostępnych. Ponieważ jest to wczesna wersja zapoznawcza, jeśli wystąpią problemy, takie jak awarie, prosimy o przesyłanie opinii o programie Visual Studio do zespołu w celu poprawy środowiska pracy w przyszłych wersjach.
  • Przy każdej aktualizacji programu Visual Studio 2019 będziemy stale implementować coraz więcej funkcji, które wcześniej były dostępne w Projektancie XAML dla aplikacji .NET Framework WPF.

Narzędzia zestawu .NET SDK

W tej wersji poświęcono dużo pracy w celu usunięcia przeszkód w użytkowaniu WPF na platformie .NET Core:

  • Rozwiązano problem polegający na tym, że okno dialogowe błędu wyskakiwało przy dodaniu każdego nowego elementu do projektu .NET Core WinForms lub WPF (#4486).
  • Obsługa plików XAML w projektach zestawu .NET SDK (#1467) zawierających wiele mniejszych elementów pracy w celu osiągniecia analogicznego środowiska do projektów .NET w starym stylu.
  • Obsługa elementów menu kontekstowego dla formularzy WinForms na platformie .NET Core (#137): Formularz systemu Windows, Kontrolka użytkownika, Składnik i Klasa.
  • Obsługa elementu menu kontekstowego dla platformy WPF na platformie .NET Core (#137): okno, strona, kontrola użytkownika, słownik zasobów.
  • Okno źródeł danych jest teraz włączone dla projektów zestawu .NET SDK, pozwalając na typowe scenariusze zarządzania danymi w formularzach WinForms (#4479).

Ponadto w tym wydaniu dodano różne inne poprawki:

  • Projekty zestawu SDK platformy .NET obsługują pliki .razor (#4468).
  • Do strony właściwości debugowania został dodany dostępny tekst pomocy, który może być odczytywany przez czytniki zawartości ekranu (#4568).
  • Dodaliśmy ustawienie, które pozwala wyłączyć dwukrotne kliknięcie w celu otwarcia pliku projektu (#4493).
  • Opcja menu kontekstowego służąca do edycji pliku projektu nie zawiera już nazwy projektu, dzięki czemu menu kontekstowe nie rozszerza się nadmiernie z powodu długiej nazwy projektu (#1492).
  • Usterka podlegająca na tym, że tworzenie źródła danych za pomocą interfejsu użytkownika powiązania danych powodowała tworzenie dwóch plików .datasource, została usunięta (#4485).
  • Usterka polegająca na tym, że użycie powiązanych plików mogło spowodować awarię kontrolera aktualności, została usunięta (#4580).
  • Różne usterki związane z rozpoznawaniem pakietu i wyświetlaniem stanu rozpoznany/nierozpoznany w węźle zależności zostały usunięte (#2924, #4577).

Pełną listę zamkniętych problemów można znaleźć na stronie kamienia milowego 16.1 w usłudze GitHub.

Xamarin

  • Zaktualizowano domyślne środowisko systemu Android do interfejsu API 28 na potrzeby szablonów, tworzenia urządzenia, instalatorów i nie tylko.
  • Funkcja IntelliSense w systemie Windows pokazuje teraz rekomendacje dotyczące atrybutów czasu projektowania podczas pisania kodu XAML zestawu narzędzi Xamarin.Forms.

Znane problemy

Zobacz wszystkie problemy i dostępne obejścia w programie Visual Studio 2019 w wersji 16.1, wybierając poniższy link.

Visual Studio 2019 Known Issues

Opinie i sugestie

Chcemy poznać Twoje zdanie! 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. Ikona 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.


Historia informacji o wersji programu Visual Studio 2019

Więcej informacji na temat poprzednich wersji programu Visual Studio 2019 można znaleźć na stronie Historia informacji o wersji programu Visual Studio 2019.


Początek strony