Informacje 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
- 9 lipca 2019 r. — Visual Studio 2019 w wersji 16.1.6
- 2 lipca 2019 r. — Visual Studio 2019 w wersji 16.1.5
- 25 czerwca 2019 r. — Visual Studio 2019 w wersji 16.1.4
- 11 czerwca 2019 r. — Visual Studio 2019 w wersji 16.1.3
- 4 czerwca 2019 r. — Visual Studio 2019 w wersji 16.1.2
- 24 maja 2019 r. — Visual Studio 2019 w wersji 16.1.1
- 21 maja 2019 r. — 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:
- Visual Studio 2019 16.1 i 16.2 (wersja zapoznawcza 1).
- Visual Studio 2019: Szybsze tworzenie kodu. Pracuj mądrzej. Kreuj przyszłość.
Visual 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.
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
- Rozwiązano znany problem: Nie pokazano narzędzi scalania w obszarze "Rozwiązywanie konfliktów".
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
- Rozwiązano znany problem: Proces roboczy debugera (msvsmon.exe) nieoczekiwanie zakończył się. Debugowanie zostanie przerwane.
- Rozwiązano znany problem: program VS 2019 ulega awarii podczas debugowania kodu asynchronicznego.
- Rozwiązano znany problem: Problem platformy Xamarin po aktualizacji do programu VS2019 16.1.
- Rozwiązano znany problem: [Xcode11] [symulator] aktualizacja do wersji Xcode 11 uniemożliwia uruchomienie symulatora.
- Poprawiono niezawodność programu Visual Studio przez rozwiązanie tymczasowego problemu, który występuje podczas otwierania rozwiązań.
- Naprawiono awarię funkcji wyszukiwania w oknach zmiennych lokalnych i automatycznych lub wyrażeń kontrolnych, gdy środowisko IDE nie jest w trybie przerwania.
Visual 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
- Rozwiązano znany problem: Rozwiązano problem Polegający na tym, że instalator VSiX zgłaszał wyjątek IOException podczas wykonywania z folderu instalacyjnego programu Visual Studio.
- Rozwiązano znany problem: Usunięto dwukrotne monitowanie o ankietę dotyczącą odinstalowania.
- Włączono link pomocy dla nowych użytkowników, który pozwala uzyskać pomoc dla nowych użytkowników w wyborze obciążenia.
Visual 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
- Rozwiązano znany problem: Projektant XAML dla platformy UWP — właściwości kontrolek nie są wyświetlane
- Rozwiązano znany problem: Projektant XAML platformy UWP nie aktualizuje elementów podczas aktualizowania kodu XAML
- Rozwiązano znany problem: właściwości XAML i struktura dokumentu
- Rozwiązano znany problem: okno Właściwości nie pokazywać właściwości podczas klikania obiektu
- Rozwiązano znany problem: Nie można wyświetlić właściwości żadnych elementów
- Rozwiązano znany problem: Błąd instalacji podczas próby nawiązania połączenia z komputerem Mac: "Wersja platformy Xamarin.iOS zainstalowana w wersji "x" (12.8.0.2) jest nowsza niż wersja".
- Rozwiązano znany problem: Rozwiązano problem z błędem awarii programu VS po kliknięciu prawym przyciskiem myszy nazwy rozwiązania na pasku tytułu.
- Zwiększono wydajność dla klientów z zainstalowanym obciążeniem platformy Azure.
- Poprawiono błędy występujące podczas przywracania i kompilowania projektów opartych na zestawie SDK, które używają zestawów SDK innych firm dla docelowych platform UWP.
- Usunięto usterkę w kompilatorze języka C# polegającą na tym, że nie było prawidłowo wyświetlane ostrzeżenie dla klientów dotyczące niepełnej implementacji interfejsu.
- Ulepszono komunikaty o błędach w narzędziach Visual Studio Tools for Kubernetes.
- Usunięto błąd występujący podczas dodawania komentarza w żądaniu ściągnięcia dotyczącego elementu SymbolCheck.
Visual 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
- Rozwiązano znany problem: zadania niestandardowe z domyślnym właściwością contextType za pośrednictwem tasks.vs.json zostały przerwane w otwartym folderze.
- Rozwiązano znany problem: Brak migawki utworzonej dla kodu natywnego języka C++ w narzędziu Użycie pamięci w oknie Narzędzia diagnostyczne podczas debugowania.
- Rozwiązano znany problem: Awaria w programie VS 16.1.0 podczas naciskania linku "wyszukaj w trybie online".
- Rozwiązano problem polegający na tym, że czasami pewne funkcje (np. Znajdowanie wszystkich odwołań) w sesji gościa rozszerzenia LiveShare nie działały.
- Rozwiązano problem polegający na tym, że proces devenv.exe mógł być zawieszony po zamknięciu programu Visual Studio przez maksymalnie 30 sekund.
Visual 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++
- Dodano dokumentację narzędzia CMake w edytorze.
- Stosowanie Podsystemu Windows dla systemu Linux z językiem C++ natywnie w programie Visual Studio i narzędzia AddressSanitizer dla projektów systemu Linux i WSL.
- Wprowadzono ulepszenia i zmodyfikowano kolorowanie w etykietkach Szybka podpowiedź w języku C++.
- Zaimplementowano nowe szybkie poprawki analizy kodu C++.
F#
- Wprowadzono ulepszenia wydajności i zbiorcze poprawki błędów dla języka F# i narzędzi języka 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
- Domyślne środowisko systemu Android dla platformy Xamarin obsługuje teraz interfejs API 28.
- Rekomendacje języka XAML dotyczące atrybutów czasu projektowania dla zestawu narzędzi Xamarin.Forms.
Najważniejsze problemy rozwiązane w programie Visual Studio 2019 w wersji 16.1
- Rozwiązano znany problem: Nie można przejść do symbolu w daszku w projektach MVC ASP.NET.
- Rozwiązano znany problem: Edytor resx nie renderuje.
- Rozwiązano znany problem: Znajdowanie wszystkich odwołań minimalizuje użycie strzałek.
- Rozwiązano znany problem: Nie można skopiować pliku "obj\x64\Debug\Management.exe", ponieważ nie został znaleziony.
- Rozwiązano znany problem: program Xamarin.iOS nie może odnaleźć manifestu aplikacji. Upewnij się, że projekt zawiera plik manifestu o nazwie "Info.plist".
- Rozwiązano znany problem: brak ścieżki do narzędzi NETFX w środowisku nmake.
- Rozwiązano znany problem: kliknięcie projektu ASP.NET Core w rozwiązaniu otwierającym plik projektu .
csproj
- Rozwiązano znany problem: [MSConnect 3142311] Visual Studio IDE 提示 E1449,但是代码能正५编译运行,结果也对 —> monit środowiska IDE programu Visual Studio E1449, ale kod może kompilować i uruchamiać normalnie, i wynik jest również poprawny.
- Rozwiązano znany problem: Odwołanie do zestawu zostało usunięte z projektu po uruchomieniu biblioteki odwołującej się do aplikacji.
- Rozwiązano znany problem: Podczas aktualizowania programu Visual Studio 2019 z wersji RC do wersji ogólnodostępnej skróty RC dla programu Visual Studio pozostają w tyle.
Szczegóły nowości w programie Visual Studio 2019 w wersji 16.1
IDE
- 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.
- 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.
Debuger
- 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.
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.
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.)
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.
- Narzędzie AddressSanitizer jest teraz zintegrowane w programie Visual Studio dla projektów systemu Linux i WSL.
- 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.
- 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++.
- 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.
- Ulepszone rejestrowanie połączeń zdalnych ułatwia diagnozowanie problemów z tworzeniem aplikacji międzyplatformowych.
- 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.
- 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.
- 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.
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()
iends_with()
dla obiektubasic_string
/basic_string_view
.contains()
dla kontenerów asocjacyjnych.remove()
,remove_if()
iunique()
dla obiektówlist
iforward_list
zwracają teraz obiektsize_type
.shift_left()
ishift_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.
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ętlifor
(#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 celenetstandard2.0
inet472
- 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.
- 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#>.
- Kolumna „Kind” funkcji znajdowania wszystkich odwołań ma teraz więcej opcji filtrowania oraz uwzględnia przestrzenie nazw i typy.
- Dodano poprawkę kodu dotyczącą dzielenia i scalania instrukcji if.
- Dodano poprawkę kodu dotyczącą zawijania 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.
- Dodano poprawkę kodu dotyczącą odpieczętowania 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”.
- 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.
- 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.
- 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.
Projektant XAML w wersji zapoznawczej dla 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.
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 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.