Was ist neu in Visual Studio 2022?

Inhalt

Visual Studio 2022 ist jetzt in der Vorschau und wird im November veröffentlicht 2021 zusammen mit .NET 6, was wird kompatibel sein. Enthält viele neue Funktionen und Verbesserungen, wie AI IntelliCode, das Code-Snippets für Sie automatisch vervollständigen kann.

Du kannst Laden Sie die Vorschau herunter von Ihrer Website. Solange es noch ist “experimentell” und noch nicht serienreif, immer noch visuelles Studio, so dass, es sei denn, Sie sind auf Erweiterungen angewiesen, die noch nicht aktualisiert wurden, hab keine angst es zu versuchen.

Wir werden die wichtigsten Änderungen ab der Vorschau behandeln 3, aber wenn du die Patchnotes Zeile für Zeile lesen willst, Sie können es von Microsoft-Dokumenten aus tun. Es gibt auch ein Fahrplan die allgemeine Richtung beschreiben.

Endlich ist es von 64 Bits

Visual Studio war schon immer 32 Bits, was bedeutet, dass es beschränkt wurde auf 4 GB RAM im Hauptprozess. Im Allgemeinen, überschreitet dieses Budget für normale Projekte nicht, aber einige Benutzer können bei besonders großen Lösungen auf unzureichende Speicherausnahmen stoßen.

Mit VS 2022, ist behoben und jetzt ist es eine Anwendung von 64 Bits. Microsoft hat Projekte mit getestet 1600 Projekte und 300k Dateien, und es funktioniert gut.

In der Theorie, 64 Bits sollten schneller laufen, und es scheint bei den Startzeiten etwas schneller zu sein, aber Microsoft hat auch an der Leistung im Allgemeinen gearbeitet, Es ist also schwer zu sagen, wie sehr dich das wirklich beeinflusst. In jedem Fall, eine gute Abwechslung.

Natürlich, Sie können weiterhin Anwendungen entwickeln von 32 Bits mit VS 2022. Dies gilt nur für den Herausgeber.

AI IntelliCode ist großartig

Visual Studio-Funktionen 2022 ein großes Upgrade für Ihre IntelliCode-Autocomplete-Engine. Es ist in der Lage, ganze Zeilen und Code-Schnipsel automatisch zu vervollständigen, und es funktioniert sehr gut.

Es ist ein bisschen anders als GitHub-Copilot, wer macht einen ähnlichen job. Copilot generiert vollständige Code-Snippets und funktioniert am besten für kleine, geschlossene Funktionen mit einer klaren Lösung. Es ist großartig, aber es hat seine eigenen probleme, hauptsächlich die Tatsache, dass der Code, den Sie generieren, nicht garantiert ist, was Sie wollen (und kann Codewort für Wort aus zufälligen GitHub-Repositorys extrahieren, was ist ein anderes problem).

IntelliCode verfolgt einen viel eingeschränkteren Ansatz und füllt nur eine einzige Zeile aus, unter Berücksichtigung einiger der folgenden Faktoren:

  • Variablennamen und Positionen
  • Bibliotheken, die Sie verwenden
  • Funktionen im umgebenden Code
  • Die IntelliSense-Dropdown-Liste, die Sie tatsächlich nach unten drücken können, um IntelliCode weitere Vorschläge zu geben

Nach zwei Wochen Benutzung, das musst du wirklich selbst ausprobieren. Es ist überraschend intelligent, und viele Male, während ich es benutzte, dachte ich nach “Beeindruckend, Das wollte ich gerade schreiben!”

Zum Beispiel, schreibe eine Funktion, die eine Zahl von nimmt 1 al 12:

Um dieses Ergebnis zu verstehen und bereitzustellen, IntelliCode macht viel mehr als die automatische Vervollständigung der Syntax; Verstehe, dass ich auf eine Ausnahme warte, ziemlich offensichtlich, da ich schreibe “werfen”, und Sie werden möglicherweise feststellen, dass diese Ausnahme nur ausgelöst wird, wenn ein Vergleich der Ganzzahlgröße fehlschlägt. Wissen was Width ist ein Argument, das überprüft wird, bevor der Code ausgeführt wird, und dass ich eine Ausnahme werfe, weil etwas mit dem Argument nicht stimmt.

Das alles wissen, nimmt eine sehr genaue Vermutung über meine Absichten an und beschließt, dass a ArgumentOutOfRangeException Es muss das sein, was ich versuche zu schreiben, bevor Sie mit dem Schreiben beginnen können “Neu”.

UND, wenn du eine Seite verschiebst, Sie können die Ergebnisse für verschiedene Optionen eingeben. Es ist immer noch ein bisschen inkonsistent (beschlossen zu programmieren “Breite” und dann verwendet nameof) aber, in der Regel, Es funktioniert gut.

IntelliCode läuft die ganze Zeit, und alles, was Sie tun müssen, ist Tab-Tab zu drücken, um es zu akzeptieren; Andernfalls, du kannst weiter schreiben. Zur Zeit, funktioniert nur für C #, aber mehr Sprachen “Demnächst”.

.NET-Unterstützung 6

.NETZ 6 es ist die neueste version, auch in der Vorschauversion. VS 2022 wird eine integrierte Unterstützung dafür und all seine Funktionen haben, und es ist Standard in .NET 6 für neue Projekte.

Bestimmtes, VS 2022 wird volle Unterstützung für .NET MAUI . haben, die plattformübergreifende Anwendungsoberfläche, Microsofts neuer Standard für die plattformübergreifende native Anwendungsentwicklung.

.NET-Hot-Reload

Eines der nervigsten Dinge beim Programmieren ist der Blick auf den Bildschirm, warten, bis die Anwendung kompiliert ist, startet und aktualisiert mit den neuesten Änderungen. Hot Reloading ist eine Funktion vieler anderer Sprachen wie JavaScript, und wurde von Web-Frameworks wie React verwendet, um schnelle Änderungen vorzunehmen. Nichtsdestotrotz, bis jetzt, es gibt keine standardisierte Lösung für .NET.

Es ist nicht vollständig universell und erfordert ein bestimmtes Projekt-Setup, aber VS 2022 Inklusive heißer Aufladung für “WPF, Windows Forms, .NET MAUI-Vorschau, ASP.NET Core-Anwendungen mit Code dahinter, Konsolen-Apps, WinUI 3 und viele andere”. Dies schließt Klassenbibliotheken aus, die von einer anderen Anwendung verwendet werden.

Bestimmte Arten von Änderungen werden möglicherweise nicht richtig angewendet, was Sie auffordert, erfolgreich neu zu starten. Du kannst sehen die vollständige Liste von ihnen hier, aber das Wesentliche ist:

  • Unmodifizierte Methodensignaturen
  • Keine Nutzungshinweise hinzufügen
  • Unmodifizierte Schnittstellen
  • Ohne Umbenennung von Mitgliedern jeglicher Art

Grundsätzlich, Sie können den Code in jeder Methode bearbeiten, aber sobald Sie anfangen, die Struktur des Projekts zu berühren, Möglicherweise müssen Sie neu starten.

Es ist gut in die VS-Debugging-Erfahrung integriert, mit einem neuen Symbol für “Anwenden von Codeänderungen” , wodurch das Aufladen im laufenden Betrieb aktiviert wird. Sie können auch das neue verwenden dotnet watch Befehl zum automatischen Neuladen bei Dateiänderungen.

Razor-Web-Apps / Blazor kann derzeit heißes Aufladen nutzen, aber Blazor WebAssembly hat noch ein paar Dinge zu lösen und funktioniert derzeit immer noch nicht. Nichtsdestotrotz, es wird daran gearbeitet und es ist möglich, dass es Ende November die endgültige Version erreichen wird.

Ferntest

VS 2022 enthält eine experimentelle Vorschau, mit der Sie Tests in anderen Umgebungen ausführen können, einschließlich Linux-Container, WSL und sogar über SSH.

Es hat ein bisschen Setup und, selbstverständlich, Sie müssen sicherstellen, dass Ihre Umgebung so konfiguriert ist, dass Ihr Code korrekt ausgeführt wird, aber einmal bin ich, Sie können beim Ausführen Ihrer Tests verschiedene Umgebungen auswählen.

Allgemeine Verbesserungen

Es gibt viele kleine Änderungen in Zusammenbruch von Patchnotes, Deshalb werden wir hier einige der interessantesten auflisten.

Die Reinigung hat einige Verbesserungen der Lebensqualität gebracht, mit neuen Kontextoptionen für erweiterte Breakpoints, ebenso gut wie “Ausführung zum Cursor erzwingen”, was alle vorhandenen Breakpoints ignoriert und an der von Ihnen ausgewählten Codezeile stoppt. Dies kann sehr nützlich sein, wenn Sie etwas testen möchten, ohne alle Breakpoints zu entfernen oder alles manuell wieder zu überspringen.

Haltepunkt-Kontextmenü

Ausführung zum Cursor erzwingen

VS Git-Integrationen unterstützen jetzt mehrere Repositorys pro Lösung, und das Commit zu vielen Repositorys ist jetzt einfacher.

Alle Symbole wurden aus Konsistenzgründen neu gestaltet.

Beispiele für neue Icons mit hellem und dunklem Hintergrund

XML-Kommentare unterstützen jetzt mehrzeilige Kommentare mit beibehaltenen Leerzeichen und CDATA-Blöcken.

Quick Info für XML behält Leerzeichen bei

“Alle Referenzen finden” Führt nicht mehr zu wiederholten Garbage-Ergebnissen, wenn Sie sich in einem Multi-Goal-Projekt befinden.

Finden Sie alle Referenzgruppen Mehrzweckprojekte

Rasiermesserseiten / Blazor hat zahlreiche Bearbeitungsintegrationen erhalten und funktioniert jetzt besser mit IntelliSense, Syntaxhervorhebung und bessere Formatierung in @code-Blöcken. Jetzt können Sie auch “Code anzeigen” im Razor-Archiv, was seit einiger Zeit eine nervige Einschränkung ist.

Unterstützung der TagHelpers-Klassifizierung

Und es gibt noch einige weitere Projektvorlagen, einschließlich Angular- und React-Apps, die auf ASP.NET Core gehostet werden, die mit API-Integrationen automatisch erstellt werden können.

Um die vollständige Liste der Änderungen zu erhalten, du kannst das überprüfen VS-Patchnotizen 2022.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.