Delen via


Visual Studio-logo releaseopmerkingen voor Visual Studio 2022

We zijn verheugd om de beschikbaarheid van Visual Studio 2022 v17.12 aan te kondigen. Deze update is gericht op het bieden van fantastische ontwikkelaarservaringen voor het werken met .NET 9-projecten en nieuwe AI-productiviteitsfuncties, samen met doorlopende verbeteringen in de hele omgeving.

Functies

Lijst met functies voor 17.12 die is uitgebracht op 12 november 2024.

Productiviteit

kopiëren uit de lijst met fouten 📣

het kopiëren van een fout uit de lijst met fouten kopieert nu alleen de beschrijving in plaats van de hele rij naar het klembord.

Er wordt een fout weergegeven in de lijst met fouten die u niet weet hoe u dit kunt oplossen. Selecteer deze en druk op Ctrl+C- om de beschrijving voor een zoekopdracht op internet te kopiëren. Nadat u deze in de zoekmachine hebt geplakt, realiseert u zich dat alle kolomkoppen en rijwaarden zijn gekopieerd in plaats van alleen de beschrijving. Nu moet u alles behalve de foutbeschrijving verwijderen voordat u de webzoekopdracht kunt uitvoeren. Dit is omslachtig, maar nu hebben we een oplossing!

foutlijst kopiëren opgelost

Wanneer u een fout uit de lijst met fouten kopieert met behulp van Ctrl+C, wordt alleen de beschrijving naar het klembord gekopieerd. Dit maakt het gemakkelijker om online naar de fout te zoeken of deze met anderen te delen.

U kunt de hele rij nog steeds kopiëren door met de rechtermuisknop op de fout te klikken en Rij kopiëren te selecteren in het snelmenu of door op Ctrl+Shift+C-te drukken.

Als u de foutbeschrijving wilt gebruiken, is een zoekopdracht op internet uitvoeren, drukt u gewoon op Ctrl+F1 om te zoeken naar informatie over de fout online.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Ga naar regel overal in code zoeken 📣

In Code zoeken kunt u nu naar een specifieke regel in het huidige document of een ander opgegeven document navigeren.

Soms weet u dat er een probleem is op een bepaalde regel in uw code en dat u er snel bij wilt. Misschien werd u verteld over een fout die op regel 43 van een bepaald bestand wordt gegenereerd, of dat u onder aan een specifiek bestand wilt komen.

code zoeken ondersteunt nu snelle navigatie naar een specifieke regel in uw code.

Open code zoeken en ga naar een regel in het huidige document met behulp van dubbele punt + regelnummer. :39 navigeert bijvoorbeeld naar regel 39 in het actieve bestand.

Ga naar regel in het huidige document

U kunt ook naar een regel in een ander document gaan met de bestandsnaam + dubbele punt + regelnummer. Order:43 navigeert bijvoorbeeld naar regel 43 in Order.cs. Als u niet de exacte bestandsnaam opgeeft, probeert de zoekopdracht de beste overeenkomst te vinden.

Ga naar regel in een ander document

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

het venster Code zoeken 📣

U kunt nu het venster Code zoeken vrij plaatsen met mogelijkheden zoals dokken en automatisch verbergen.

Als u Code of Functie zoeken nodig hebt om op uw weg te blijven, hebt u nu meer controle over het gedrag van het zoekvenster.

U kunt nu het zoekvenster docken en hulpprogrammavensteracties uitvoeren, zoals Solution Explorer en anderen.

Zoeken aan de onderkant

Nadat u code zoeken of functie zoekenhebt geopend, klikt u rechtsboven op het vakpictogram om deze te converteren naar een taakvenster. U kunt ervoor kiezen om het ergens anders vast te leggen, te pop-out, automatisch te verbergen, enzovoort. U kunt teruggaan naar het pop-upvenster dat niet kan worden toegestaan door op het pictogram rechtsboven te klikken.

rechterbovenhoek van het venster, tweede pictogram is het pictogram van het gereedschapsvenster

We hebben ook de preview-ervaring in de zoekfunctie vereenvoudigd en opgeschoond. Er is nu één knop, aangegeven met een oogpictogram, om het voorbeeld in of uit te schakelen.

rechterbovenhoek van het venster is het eerste pictogram van het voorbeeldvenster

De positie van het voorbeeldvenster wordt ook aangepast op basis van de afmetingen van het zoekvenster.

Zoeken aan de rechterkant

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Samengevouwen tekstindicator aanpassen 📣

Aangepaste kleuren instellen voor de samengevouwen tekstindicator in de Visual Studio-editor.

U kunt uw editorervaring nu nog verder aanpassen met nieuwe opties voor het aanpassen van de samengevouwen tekstindicator:

Aangepaste uitgevouwen en samengevouwen tekstindicatoren in de Visual Studio Editor-

Als u dit wilt uitproberen en aangepaste voorgrond- en achtergrondkleuren wilt instellen, gaat u naar Extra > Opties > Omgeving > Lettertypen en kleuren.

tekstindicatorvermeldingen samengevouwen op de pagina Lettertypen en kleuren

Daar vindt u twee nieuwe items voor aanpassing:

  • samengevouwen tekstindicator (samengevouwen)
  • samengevouwen tekstindicator (uitgevouwen)

U kunt de kleuren voor samengevouwen en uitgevouwen indicatoren onafhankelijk van elkaar instellen met vooraf gedefinieerde kleuren of aangepaste kleuren van uw keuze.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Resultaten zoeken vernieuwen 📣

U kunt de resultaten nu vernieuwen naar een eerdere zoekactie om up-todatumzoekovereenkomsten op te halen.

We hoorden van veel gebruikers dat het frustrerend is om het venster Zoeken opnieuw te openen en de bewegingen door te lopen van het opnieuw uitvoeren van een zoekopdracht om bijgewerkte resultaten te krijgen. Misschien hebt u net wat code geherstructureerd en wilt u controleren of alles is gewijzigd zoals verwacht, of u hebt enkele recente wijzigingen opgehaald en de recente zoekbewerking nodig om deze updates weer te geven.

Nadat u Zoeken in bestandenhebt voltooid, hebt u nu de optie om de resultaten zoeken in het venster te vernieuwen. U krijgt de bijgewerkte resultaten zonder dat u de zoekopdracht opnieuw hoeft uit te voeren.

knop Zoeken vernieuwen rechts van Zoeken stoppen

We hebben ook de voormalige optie Herhalen zoeken opnieuw ontworpen om deze te onderscheiden van Vernieuwen. Het wordt nu weergegeven als Zoeken wijzigen met een potloodpictogram. Met deze knop wordt Zoeken in Bestanden nog steeds opnieuw geopend met dezelfde zoekcriteria die u voor dat resultatenvenster hebt gebruikt.

knop Zoeken wijzigen uiterst rechts van de werkbalk

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Meer ruimte voor horizontale schuifbalk 📣

U kunt nu de zichtbaarheid van de indicatoren op bestandsniveau in CodeLens beheren.

Het gebied met de horizontale schuifbalk kan behoorlijk rommelig worden in Visual Studio. We maken het gemakkelijker om het op te schonen door de indicatoren op bestandsniveau in CodeLens standaard uit te schakelen.

CodeLens-indicator op bestandsniveau in ondereditormarge

Als u de optie wilt inschakelen, vindt u de optie CodeLens-indicator op bestandsniveau weergeven onder Extra > Opties > Teksteditor > Geavanceerd. Deze optie is van invloed op de zichtbaarheid van bestandstypen met het besturingselement CodeLens op bestandsniveau in de onderste editormarge, zoals XAML, HTML en CSS, en heeft geen invloed op bestanden die inline CodeLens bevatten.

optie voor codelens-indicator op bestandsniveau weergeven

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Niet-blokkerende code opschonen bij het opslaan van

Wanneer codeopruiming wordt uitgevoerd op Opslaan, werkt deze nu op een niet-blokkerende manier, voor een soepelere coderingservaring.

Eerder wanneer een codeopruiming wordt uitgevoerd op Opslaan, kunt u geen acties uitvoeren in de IDE. We hebben dit nu verbeterd om op een niet-blokkerende manier te werken.

Het opschoningsproces wordt op de achtergrond uitgevoerd en kan automatisch worden geannuleerd als u doorgaat met typen, zodat de code soepeler en responsiefer verloopt.

code opschonen bij het opslaan van

transitieve afhankelijkheden in de gebruikersinterface van Package Manager op oplossingsniveau

Wanneer u het tabblad Geïnstalleerd bekijkt in de gebruikersinterface van Pakketbeheer van Visual Studio op oplossingsniveau, worden nu zowel directe als transitieve pakketten weergegeven.

Eerder op het tabblad Geïnstalleerd in de gebruikersinterface van Pakketbeheer van Visual Studio kunt u alleen directe en transitieve afhankelijkheden voor uw projecten zien. Met deze release hebben we ook de mogelijkheid toegevoegd om transitieve afhankelijkheden voor het oplossingsniveau te zien.

transitieve afhankelijkheden op oplossingsniveau

transitieve afhankelijkheden met beveiligingsproblemen in Solution Explorer

Wanneer u NuGetAuditMode instelt op all, worden in Solution Explorer indicatoren weergegeven voor transitieve afhankelijkheden met beveiligingsproblemen.

NuGet Audit, voor het eerst toegevoegd in Visual Studio 17.8 (en .NET 8), biedt waarschuwingen tijdens het herstellen als pakketten die door uw project worden gebruikt, bekende beveiligingsproblemen hebben.

Zie de documentatie over NuGet Auditvoor meer informatie over NuGet Audit, inclusief alle configuratieopties.

Deze beveiligingsproblemen kunnen zich in uw directe afhankelijkheden bevinden, evenals in de transitieve afhankelijkheden (pakketten zijn afhankelijk van uw afhankelijkheden). Als u nu NuGetAuditMode instelt op all, worden in Solution Explorer niet alleen indicatoren weergegeven voor directe maar ook voor transitieve afhankelijkheden met beveiligingsproblemen.

beveiligingsproblemen met transitieve afhankelijkheden in Solution Explorer

GitHub Copilot

Stel GitHub meer vragen

Zoeken in GitHub om doorvoeringen, problemen, pull-aanvragen, opslagplaatsen en onderwerpen te vinden, rechtstreeks vanuit Visual Studio.

U kunt nu de GitHub Copilot-chat gebruiken om op GitHub te zoeken naar doorvoeringen, problemen, pull-aanvragen, opslagplaatsen en onderwerpen.

U kunt vragen stellen zoals:

  • @github Wat zijn alle open PULL's die aan mij zijn toegewezen?
  • @github Wat zijn de meest recente problemen die aan mij zijn toegewezen?
  • @github Wanneer was de nieuwste release?
  • @github De recente samengevoegde pull-aanvragen van @davidfowl weergeven

nieuwe GitHub Skills

Deze functionaliteit is beschikbaar voor alle GitHub Copilot-gebruikers. Meer informatie over beschikbare GitHub Skills vindt u in de GitHub Copilot-documentatie.

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


aangepaste instructies voor GitHub Copilot-

Een bestand maken dat automatisch informatie toevoegt aan alle vragen die u gitHub Copilot Chat stelt.

Met GitHub Copilot kunt u chatantwoorden ontvangen die zijn afgestemd op de werkstroom van uw team, voorkeurshulpprogramma's en projectspecifieke gegevens, simpelweg door context te bieden. In plaats van deze contextuele details toe te voegen aan elke chatquery, kunt u een bestand maken dat deze informatie automatisch levert. Hoewel deze extra context niet wordt weergegeven in de chat, is deze beschikbaar voor GitHub Copilot, zodat deze nauwkeurigere en relevante antwoorden kan genereren.

aangepaste instructies voor GitHub Copilot

Aangepaste instructies inschakelen
  1. Schakel de functie in via Tools > Options > GitHub > Copilot-> en controleer (preview) Schakel aangepaste instructies in om te worden geladen vanuit .github/copilot-instructions.md-bestanden en toegevoegd aan aanvragen.
  2. Voeg copilot-instruction.md toe aan de hoofdmap van uw respository in het .github-bestand en maak het bestand als dit nog niet bestaat.

GitHub Copilot aangepaste instructies inschakelen

Meer informatie over het maken van aangepaste instructies hier

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


modelselectie in GitHub Copilot Chat

GitHub Copilot kunt u nu uw model kiezen.

OpenAI o1-preview en o1-mini zijn nu beschikbaar voor alle gebruikers in GitHub Copilot Chat in Visual Studio.

U kunt deze modellen nu eerst proberen met behulp van o1-preview, o1-mini of het standaard GPT-4o-model om GitHub Copilot Chat uit te voeren. Met beschikbare modelwisselingen kunt u naadloos overstappen van het uitleggen van API's of het genereren van basiscode tot het maken van ingewikkelde algoritmen of foutopsporingsfouten.

Ga naar de GitHub Changelog- voor meer informatie over deze functie.

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


uitgebreide contextuele kennis

Uitgebreide contextuele kennis in GitHub Copilot biedt nauwkeurigere antwoorden.

Uitgebreid contextueel begrip in GitHub Copilot

GitHub Copilot biedt nu verbeterde contextuele kennis om een nog nauwkeuriger antwoord te bieden. Met deze update kan GitHub Copilot intuïtief belangrijke kenmerken in uw code interpreteren, waarbij suggesties worden aangepast aan de unieke behoeften van uw project. Deze slimmere benadering van codehulp is ontworpen om u efficiënter te laten werken, zonder dat er regelmatig contextaanpassingen nodig zijn.

Probeer het vandaag nog met GitHub Copilot!

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


updates voor inhoudsuitsluiting

Inhoudsuitsluiting ondersteunt nu submodules en geneste opslagplaatsen.

We hebben verbeterd hoe ons systeem submodules en geneste opslagplaatsen verwerkt, waardoor u gemakkelijker met complexe projectstructuren kunt werken.

Daarnaast hebben we ondersteuning toegevoegd voor niet-Git-opslagplaatsen, waardoor de flexibiliteit van uw werkstroom wordt uitgebreid en u naadloos een breder scala aan projecten kunt integreren.

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


ai-controle van slimme variabelen

Optimaliseer uw foutopsporingswerkstroom met geïntegreerde AI-variabeleinspectie.

Het inspecteren en analyseren van waarden van Locals, Autos en DataTips is nog nooit zo eenvoudig geweest met Ask GitHub Copilot in Visual Studio. Klik met de rechtermuisknop op een waarde om gedetailleerde AI-gestuurde inzichten te krijgen over fouten, onverwachte resultaten of afwijkingen, allemaal zonder dat u uw IDE hoeft te verlaten.

ai-variabele opzoeken

Deze functie verbetert de snelheid van het oplossen van problemen aanzienlijk door variabelen in realtime in uw IDE te analyseren wanneer er onverwachte waarden optreden.

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


met AI gemaakte IEnumerable Visualizer-

met AI gemaakte LINQ-bewerkbare expressies in de IEnumerable Visualizer.

We hebben de bewerkbare expressiefunctie verbeterd in de IEnumerable Visualizer met AI-hulp. Met de nieuwe functie Ask Copilot kunnen gebruikers AI rechtstreeks in het tekstvak voor bewerkbare expressies gebruiken om complexe LINQ-expressies te maken.

AI Editable Expression IEnumerable Visualizer

Als u toegang wilt krijgen tot de GitHub Copilot-chat, klikt u op het GitHub Copilot-pictogram in de rechterbenedenhoek van de sectie met bewerkbare expressies. In de chat vindt u voorbeelden van LINQ-syntaxisvoorbeelden. Daarnaast kunt u uw query in natuurlijke taal beschrijven en gitHub Copilot genereert de bijbehorende LINQ-query. Als u LINQ-queryfilters wilt toepassen op de visualisatie, gebruikt u de knop weergeven in Visualizer in de chat.

Het biedt directe feedback en richtlijnen, waardoor het proces voor het maken van complexe filters en transformaties intuïtiever en efficiënter wordt.

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


Foutopsporingstests met GitHub Copilot-

Hulp krijgen bij foutopsporing van mislukte tests met behulp van Foutopsporingstests met GitHub Copilot.

Hulp nodig bij het opsporen van fouten in uw mislukte eenheidstests. GitHub Copilot kan u nu helpen door u een foutopsporingsplan te bieden en u te begeleiden bij het opsporen van fouten in de mislukte test om u dichter bij het doorgeven te brengen door te klikken op de knop Foutopsporing met Copilot in Test Explorer.

Fouten opsporen met GitHub Copilot-

Nadat u de functie hebt gestart, biedt GitHub Copilot u een plan voor foutopsporing, stelt u de juiste onderbrekingspunten in en bekijkt u variabelen en start u de foutopsporingssessie. Wanneer het onderbrekingspunt bereikt, biedt het GitHub Copilot waarden voor de bekeken variabelen en bepaalt u de volgende stap, gaat u verder met de foutopsporing of lost u de probleemcode op. U kunt doorgaan met dit gesprek totdat u een geslaagde test hebt.

GitHub Copilot Chat met het foutopsporingsplan en de volgende stappen

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


code herstellen met GitHub Copilot-📣

GitHub Copilot helpt u bij het oplossen van codeproblemen.

GitHub Copilot is nu geïntegreerd in de gloeilamp en de foutenlijst, zodat u snel oplossingen en inzichtelijke uitleg over codeproblemen krijgt. Of u nu ontwikkelt in C# of C++, deze functie helpt u om problemen in uw codebase efficiënter te begrijpen en op te lossen.

Om aan de slag te gaan, roept u de gloeilamp aan en selecteert u Fix met Copilot. Hiermee start u een inline-chat met GitHub Copilot, met een beschikbare oplossing.

Code herstellen met GitHub Copilot vanuit de gloeilamp

U kunt ook het GitHub Copilot-pictogram in de lijst met fouten selecteren om het chatvenster te openen, waar u gedetailleerde uitleg en oplossingen vindt voor de fout die u bij de hand hebt.

Code oplossen met GitHub Copilot in de lijst met fouten

Door gebruik te maken van LLM's biedt GitHub Copilot nuttige uitleg en oplossingen rechtstreeks binnen de gloeilamp en foutenlijst, waardoor uw coderingservaring wordt verbeterd.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


Betere AI-voltooiingen voor C#

GitHub Copilot zorgt voor extra context van relevante bronbestanden om de voltooiingen voor C# te verbeteren.

Voltooiingen van GitHub Copilot-code bieden inline suggesties voor automatisch aanvullen wanneer u codeert. Deze suggesties worden gegenereerd op basis van de inhoud van uw huidige actieve bestand en eventuele andere geopende bestanden in uw editor. We hebben echter ontdekt dat het integreren van relevantere context deze suggesties aanzienlijk verbetert.

Om de ervaring voor C#-ontwikkelaars te verbeteren, hebben we GitHub Copilot bijgewerkt met extra C#-context, zoals beschikbare typen en methoden in voltooiingen.

Met de nieuwste versie van Visual Studio beschouwt GitHub Copilot nu automatisch semantisch relevante bestanden voor extra context, zelfs als deze bestanden niet zijn geopend in uw editor. Deze verbetering helpt halluinaties te verminderen en biedt relevantere en nauwkeurige suggesties.

Vóór: Semantisch relevante bestanden worden niet beschouwd als context voor GitHub Copilot-voltooiingen

Semantisch relevante bestanden worden niet beschouwd als context voor GitHub Copilot-voltooiingen

Na: Semantisch relevante bestanden worden beschouwd als context voor GitHub Copilot-voltooiingen

Semantisch relevante bestanden worden beschouwd als context voor GitHub Copilot-voltooiingen

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


referentiecode in GitHub Copilot

Introductie van code waarnaar wordt verwezen in GitHub Copilot, zodat u codesuggesties met openbare codeovereenkomsten kunt toestaan terwijl u gedetailleerde informatie over de overeenkomst ontvangt.

We zijn verheugd om aan te kondigen dat code waarnaar wordt verwezen nu beschikbaar is in GitHub Copilot in Visual Studio.

voorbeeld van openbare code waarnaar wordt verwezen

Deze nieuwe mogelijkheid biedt ontwikkelaars transparantie door hen op de hoogte te stellen wanneer GitHub Copilot-suggesties overeenkomen met openbare code. U kunt nu de overeenkomende code, het bronbestand en de bijbehorende licentiegegevens zien, zodat ze beter geïnformeerde beslissingen kunnen nemen tijdens het coderen.

Met codeverwijzen kunt u suggesties met openbare codeovereenkomsten blokkeren of toestaan, waardoor de controle en aanpassing worden verbeterd.

Door code te integreren die verwijst naar GitHub Copilot, stimuleren we het delen van kennis, verbeteren we transparantie en kunt u met vertrouwen creëren. Of u nu een afzonderlijke ontwikkelaar bent of deel uitmaakt van een groter team, deze functie verbetert uw werkstroom en helpt u eenvoudig door de complexiteit van openbare code te navigeren.

Probeer GitHub Copilot vandaag nog uit in Visual Studio en neem de controle over uw ontwikkelproces met meer transparantie en vertrouwen!

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


begeleide chat in GitHub Copilot

Maak kennis met een nieuwe, meer gesprekswijze om te chatten met GitHub Copilot.

We introduceren een nieuwe, meer gesprekswijze manier om te communiceren met GitHub Copilot Chat.

voorbeeld van begeleide chatervaring

We hebben een interactievere en gesprekswijze manier geïntroduceerd om GitHub Copilot Chat te gebruiken. In plaats van vast te zitten of niet zeker te zijn, helpt GitHub Copilot u bij het verduidelijken van vragen wanneer de context onduidelijk is, zodat u nauwkeurigere en nuttige antwoorden kunt krijgen.

Deze begeleide chatervaring helpt bij het verfijnen van uw query's, biedt suggesties en zorgt voor soepelere, productievere interacties. Met deze nieuwe chatmodaliteit geniet u van een slimmere, intuïtievere GitHub Copilot die zich aanpast aan uw behoeften terwijl u codeert.

Geef de nieuwe begeleide chatervaring vandaag eens en zie het verschil voor uzelf!

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


GitHub Copilot-onboarding

sneller aan de slag in GitHub Copilot Chat!

Hulp nodig bij het aan de slag gaan met GitHub Copilot Chat? We hebben twee nieuwe onboardingfuncties geïntroduceerd om u sneller aan de slag te helpen.

Startprompts

Stuur uw eerste bericht naar GitHub Copilot door op een van de startersprompts te klikken. Gebruik deze aanwijzingen om te zien welke mogelijkheden GitHub Copilot u biedt in uw werkstroom.

GitHub Copilot-startersprompts

Promptbibliotheek

Als u opnieuw naar een aantal vooraf gemaakte prompts wilt verwijzen, klikt u op de knop Vragenbibliotheek (boekpictogram) om een lijst weer te geven met alle beschikbare prompts. Deze bibliotheek bevat veelgebruikte prompts, slechts een klik verwijderd.

GitHub Copilot promptlibrary

Of u nu nieuwe codeertaken verkent of alleen op zoek bent naar inspiratie, onze prompts zijn er om u te helpen meteen aan de slag te gaan en het meeste uit GitHub Copilot Chat te halen.

Probeer eens eens om te zien waar het je brengt!

Belangrijk

Als u deze functie wilt gebruiken, moet u GitHub Copilot activeren


.NET

Meer bereiken met .NET 9 📣

.NET 9 verhoogt de ontwikkeling van cloudeigen en intelligente apps, waarbij u zich richt op productiviteitsverbeteringen, gestroomlijnde implementaties en versnelde AI-integratie.

.NET 9 verhoogt de ontwikkeling van cloudeigen en intelligente apps, gericht op productiviteitsverbeteringen, gestroomlijnde implementaties en versnelde AI-integratie, en biedt superieure prestaties voor een breed scala aan toepassingen. Met volledige ondersteuning voor .NET 9 in Visual Studio 17.12 kunt u eenvoudig gebruikmaken van alle nieuwste verbeteringen. Ga naar Wat is er nieuw in .NET 9voor meer informatie over wat er nieuw is.

.NET 9-

Daarnaast vindt u updates voor functies rond de IDE die het werken met .NET en ASP.NET productiever maken dan ooit.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.


waarschuwingen onderdrukken voor specifieke GitHub Advisories die worden gerespecteerd in Visual Studio

NuGet waarschuwingen voor specifieke GitHub-adviezen en depressies kan onderdrukken, worden in Visual Studio gerespecteerd.

NuGet Audit biedt waarschuwingen wanneer een pakket dat in het project wordt gebruikt, een bekend beveiligingsprobleem heeft. Het wordt altijd aanbevolen om een upgrade uit te voeren naar een nieuwe versie van het pakket, maar als de upgrade onmogelijk is en u er zeker van bent dat de software geen risico loopt, kunt u waarschuwingen voor specifieke GitHub-adviezen onderdrukken door NuGetAuditSuppress items toe te voegen aan het projectbestand.

<Project Sdk="Microsoft.NET.Sdk">
  <ItemGroup>
    <NuGetAuditSuppress Include="https://github.com/advisories/GHA1234" />
  </ItemGroup>
</Project>

mogelijkheid om nuget.org als controlebron te configureren

U kunt nu nuget.org instellen als een controlebron om informatie over beveiligingsproblemen op te halen, zelfs wanneer u andere NuGet-feeds gebruikt.

NuGet Audit vereist een pakketbron die een database met beveiligingsproblemen biedt. nuget.org biedt informatie over beveiligingsproblemen van de GitHub Advisories-database.

Vanaf Visual Studio 17.12 is het nu mogelijk om controlebronnen op te geven in NuGet.Config--bestanden, zodat het niet meer nodig is om nuget.org als pakketbron te gebruiken.

Als u tijdens het herstellen geen nuget.org als pakketbron gebruikt en NuGet Audit wilt gebruiken voor kwetsbare pakketrapportage, voegt u het volgende toe aan een NuGet.Config--bestand in uw oplossingsmap:

<confiuration>
  <!-- any existing config, including <packageSources> -->
  <auditSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </auditSources>
</configuration>

Foutopsporing & diagnostische gegevens

Blazor WebAssembly-foutopsporing 📣

Een verbeterde foutopsporingservaring voor Blazor WebAssembly-apps die gericht zijn op .NET 9 of hoger.

Visual Studio biedt nu een verbeterde foutopsporingservaring voor Blazor WebAssembly-apps die gericht zijn op .NET 9 of hoger:

  • Gegevenstypen die worden weergegeven in het foutopsporingsprogramma komen nu overeen met de verwachte .NET-gegevenstypen.
  • Typ leden en zichtbaarheid van leden met de verwachte pictogrammen.
  • De weergegeven aanroepstack wordt opgeschoond zodat alleen de .NET-aanroepstack wordt weergegeven en de instelling Just My Code correct wordt uitgevoerd.
  • Het venster modules wordt nu ondersteund.
  • Ondersteuning voor expressie-evaluatie in het venster Direct en voor horloges en voorwaardelijke onderbrekingspunten wordt uitgebreid en verbeterd.

Verbeteringen voor Blazor-foutopsporing

De nieuwe preview-foutopsporingservaring inschakelen:

  • Schakel de Schakel instelling voor het nieuwe .NET 9+ Mono-foutopsporingsprogramma in.
  • Installeer de nieuwste .NET 9 SDK.
  • Werk uw Blazor-app bij naar .NET 9.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Meter-histogram in de profiler

Verbeterde prestatie-inzichten met behulp van het meter histogram in het hulpprogramma profilerteller.

De recente uitbreiding van de prestatieprofileringssuite van Visual Studio introduceert de functie meter histogram. Met dit hulpprogramma kunt u histogramgegevens identificeren en analyseren die zijn gegenereerd door histograminstrumenten. Bij het vastleggen van gegevens van deze instrumenten worden de histogramresultaten gevisualiseerd, wat een duidelijke weergave van de gegevensdistributie biedt.

Meter HistogramTeller

Daarnaast biedt de zwembaangrafiek een gedetailleerde, gesegmenteerde weergave van metrische prestatiegegevens, waardoor u prestatieproblemen effectief kunt vaststellen en oplossen.

weergavemethode retourneert waarden 📣

Het foutopsporingsprogramma toont nu inline retourwaarden met AI-hulp voor verbeterde efficiëntie.

In het Foutopsporingsprogramma van Visual Studio worden nu inlinewaarden voor retourinstructies weergegeven die reageren op een van de meest aangevraagde functies van de ontwikkelaarscommunity.

Met deze verbetering kunt u zien welke exacte waarden worden geretourneerd door functies rechtstreeks in de code, waardoor er geen extra code of tijdelijke variabelen nodig zijn om retourwaarden te inspecteren.

inline retourwaarden

Met GitHub Copilot kunt u dit verder doen met behulp van de optie Vraag copilot om retourwaarden rechtstreeks in Visual Studio te analyseren, zodat u problemen onmiddellijk kunt oplossen.

Het wordt ondersteund in zowel systeemeigen als beheerde code.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

groepen onderbrekingspunten eenvoudig exporteren 📣

Moeiteloos importeren en exporteren van onderbrekingspuntgroepen.

Visual Studio Breakpoint-groepen bieden nu ondersteuning voor import- en exportfunctionaliteit, zodat u uw onderbrekingspuntstructuren eenvoudig kunt beheren en onderhouden in meerdere projecten of omgevingen.

Import- importeren van onderbrekingspuntengroepen

Met deze nieuwe functie kunt u uw onderbrekingspuntgroepen exporteren met hun configuraties en deze later importeren in verschillende oplossingen, zodat u een consistente instelling voor foutopsporing kunt uitvoeren zonder dat u handmatig opnieuw onderbrekingspuntengroepen hoeft te maken.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

IntelliSense voor de 📣 IEnumerable Visualizer

Verbeterde IEnumerable Visualizer met IntelliSense voor snellere LINQ-query's.

De IEnumerable Visualizer is verbeterd met IntelliSense en biedt realtime codesuggesties en automatischecompletion, waardoor HET schrijven van LINQ-expressies sneller en nauwkeuriger wordt.

IEnumerable Visualizer IntelliSense-

Deze verbetering vereenvoudigt het proces van het bouwen en bewerken van query's door aanbevelingen voor slimme code aan te bieden, de kans op fouten te verminderen en de ontwikkelingstijd te versnellen.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Geheugengebruik in de loop van de tijd analyseren

selecteert en vergelijkt u twee momentopnamen van het geheugen met behulp van het venster Diagnostisch hulpprogramma.

Het venster Diagnostisch hulpprogramma ondersteunt nu het vergelijken van momentopnamen van geheugen, waardoor het gemakkelijker is om geheugenwijzigingen in de loop van de tijd te analyseren.

Als u deze functie wilt gebruiken, moet u ervoor zorgen dat u ten minste twee momentopnamen van geheugen hebt vastgelegd onder het tabblad Geheugen in het venster Diagnostisch hulpprogramma.

Momentopnamen selecteren voor vergelijking
  • Houd de Ctrl--toets ingedrukt en klik op de momentopnamerijen om twee momentopnamen te selecteren.
  • U kunt ook de Shift--toets ingedrukt houden en de up/down pijltoetsen gebruiken om twee opeenvolgende momentopnamen te selecteren.
Selectie van momentopnamen opheffen
  • Houd de Ctrl--toets ingedrukt en klik op de momentopname die u wilt opheffen.
Het verschil weergeven

Nadat u de geheugenmomentopnamen hebt geselecteerd voor vergelijking, klikt u op de knop Diff- weergeven boven de lijst met momentopnamen om de verschillen tussen de momentopnamen weer te geven.

MMA- voor diff-momentopnamen weergeven

Git-hulpprogramma's

Bestandsnamen beheren met Git 📣

U kunt gerust zijn wanneer u de naam van bestanden wijzigt met een nieuwe melding.

Wanneer u de naam van bestanden wijzigt vanuit Solution Explorer, wordt u eraan herinnerd uw wijzigingen te faseereren om de naam van de namen in Git te bekijken. Dit verhoogt uw vertrouwen dat Git uw bestandswijziging herkent en correct bijhoudt. We vonden dit een verwarringspunt voor veel klanten, dus we werkten samen met mensen in de ontwikkelaarscommunity om een nieuwe melding te maken.

Git mv notification

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

pull-aanvraagconcepten en -sjablonen 📣

concepten voor pull-aanvragen maken en uw beschrijvingen starten met sjablonen in Visual Studio.

U kunt nu concepten voor pull-aanvragen maken en uw beschrijvingen starten met GitHub-sjablonen in Visual Studio. Dit waren de twee belangrijkste aanvragen voor het maken van een pull-aanvraag.

Concept-PULL's

Gebruik de vervolgkeuzelijst op de knop maken om te Maken als concept.

conceptoptie pull-aanvragen maken

PR-sjablonen

Uw standaard pr-sjabloon wordt gebruikt bij het maken van een nieuwe pull-aanvraag voor zowel GitHub als Azure DevOps. Meer informatie over het toevoegen van een pull-aanvraagsjabloon aan uw opslagplaats vindt u in de GitHub-documentatie en Azure DevOps-documentatie.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.En deze enquête om de functie nog beter te maken.

Interne GitHub-opslagplaatsen maken 📣

Visual Studio biedt nu ondersteuning voor het maken van interne opslagplaatsen en bevat richtlijnen voor elk type opslagplaats om u meer vertrouwen te geven bij het starten van een nieuw project.

Visual Studio ondersteunt nu interne opslagplaatsen voor uw GitHub-organisaties. We hebben ook richtlijnen opgenomen voor elk type opslagplaats om u meer duidelijkheid te geven over de zichtbaarheid van het nieuwe project, afhankelijk van het account dat u gebruikt.

dialoogvenster Nieuwe opslagplaats

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Git-koppeling kopiëren 📣

U kunt een GitHub- of Azure DevOps-koppeling naar een specifieke coderegel krijgen, zodat u deze eenvoudig kunt delen met uw collega's.

Wanneer u een paar regels code deelt met een collega, kan het vaak handig zijn om extra context te krijgen vanuit uw opslagplaats. Als ze echter aan iets anders werken, kan het te lang duren en hun werk verstoren om uw vertakking te uitchecken.

U kunt nu de code markeren die u wilt delen in uw editor, het contextmenu openen met een rechtermuisknop en onder het Git-submenu een deelbare koppeling naar uw code krijgen in GitHub of Azure DevOps. Dit maakt het eenvoudig en eenvoudig om samen te werken en het maakt de stroom tussen de IDE en uw externe opslagplaatsen op internet soepeler.

Contextmenu git-URL kopiëren

U kunt ook rechtstreeks deelbare koppelingen ophalen vanuit de doorvoergeschiedenis. Hierdoor kan momenteel niet naar code worden verwezen, net zo moeiteloos.

Git-URL kopiëren in het venster git-opslagplaats

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

ondersteuning voor
Git-opslagplaats voor meerdere opslagplaatsen 📣

U kunt nu pull-aanvragen maken en werkitems koppelen in scenario's met meerdere opslagplaatsen voor zowel GitHub als Azure DevOps.

U kunt nu pull-aanvragen maken en werkitems koppelen in scenario's met meerdere opslagplaatsen. Voor zowel GitHub als Azure DevOps ondersteunen we uw integraties wanneer u de opslagplaatskiezer gebruikt om u te richten op een bepaalde opslagplaats in uw scenario's met meerdere opslagplaatsen.

opslagplaats kiezen

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

AI Git-doorvoerbericht aanpassen 📣

U kunt aanvullende instructies toevoegen aan de prompt voor het genereren van uw Git-doorvoerbericht met GitHub Copilot.

U kunt nu aanvullende instructies toevoegen aan de prompt voor het genereren van uw Git-doorvoerbericht met GitHub Copilot. Hiermee kunt u het doorvoerbericht aanpassen zodat deze beter aansluit bij de standaarden van uw werkstroom en team. U kunt het aantal regels opgeven dat moet worden gegenereerd, de lengte van de lijnen en zelfs een voorbeeld van een doorvoerstijl opgeven. Bewerk het bericht in het promptveld onder Tools > Options > GitHub > Copilot > Source Control Integration.

Git-bericht aanpassen

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

IDE

configuratie voor het starten van meerdere projecten 📣

Stroomlijn foutopsporing door lanceringsprofielen in te stellen en op te slaan voor specifieke projecten binnen oplossingen voor meerdere projecten. Deel configuraties moeiteloos met uw team.

Met de functie Configuratie voor het starten van meerdere projecten kunt u profielen instellen en opslaan voor het starten van specifieke projecten binnen een oplossing met meerdere projecten in vooraf gedefinieerde statussen voor foutopsporing.

configuratie voor het starten van meerdere projecten

Dit vereenvoudigt het werken met complexe oplossingen, verbetert de efficiëntie van foutopsporing en maakt het eenvoudig delen van configuraties mogelijk tussen teamleden.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Notitie

Deze functie moet zijn ingeschakeld onder Extra-> Preview-functies beheren


MotW-beveiligingswaarschuwingen

Beveiligingswaarschuwingen van het web (MotW) zijn nu geïntegreerd in de algehele vertrouwensfunctionaliteit.

Visual Studio geeft een beveiligingswaarschuwing weer wanneer wordt gedetecteerd dat u inhoud probeert te openen die is getagd met de id Mark of the Web (MotW).

Deze nieuwe vertrouwenswaarschuwing geeft de risico's aan van het openen van inhoud van mogelijk onveilige bronnen, zoals internetdownloads.

dialoogvenster Vertrouwen met waarschuwingen over de beveiligingsrisico's van het openen van webdownloads in Visual Studio

U kunt de standaardvertrouwenservaring wijzigen door naar de Trust Settings te gaan onder Tools > Options > Environment.

met Vertrouwensinstellingen kunt u de standaardvertrouwenservaring aanpassen

Teams Toolkit nieuwe AI-sjablonen

De Teams Toolkit onboardt nieuwe AI Teams-app-sjablonen.

Teams Toolkit voegt drie nieuwe Ai-app-sjablonen voor Teams toe:

Dit zijn:

Ai-app-sjablonen voor Teams

  1. Basic AI Chat Bot - uw eigen copilots in Microsoft Teams gebouwd met Teams AI-bibliotheek

  2. Chatten met uw gegevens - een intelligente chatbotsjabloon met domeinkennis van aangepaste gegevensbron.

    Met Teams Toolkit kunt u nu Aangepaste Copilot maken. Dit is een chatbot met BEHULP van AI met RAG-mogelijkheden die natuurlijke taal kunnen begrijpen en domeingegevens kunnen ophalen om domeinspecifieke vragen te beantwoorden. Deze sjabloon biedt ondersteuning voor toegang tot uw aangepaste gegevens in de Custom Copilot-app.

    Wanneer u deze sjabloon selecteert, kunt u twee manieren selecteren om verbinding te maken met uw gegevens:

    een. Azure AI Search-: uw chatbot heeft toegang tot gegevens in de Azure AI-zoekservice en gebruikt deze in gesprek met gebruikers.

    b. aangepaste gegevensbron: u kunt elke gewenste gegevensbron toevoegen aan de Aangepaste Copilot-app, bijvoorbeeld bestandssysteem of vector DB.

  3. AI-agent: een AI-agent in Teams die beslissingen kan nemen en acties kan uitvoeren op basis van LLM-redenering.

Probeer de nieuwe AI-app-sjablonen uit om uw AI-reis in Teams te starten.

bestanden kopiëren tussen exemplaren 📣

U kunt nu bestanden en mappen uit Solution Explorer in één exemplaar van Visual Studio naar een andere kopiëren.

We zijn verheugd om een zeer aangevraagde functie in Visual Studio te introduceren. U kunt nu naadloos codebestanden en mappen kopiëren en plakken tussen verschillende Visual Studio-exemplaren met behulp van Solution Explorer. Selecteer gewoon het gewenste bestand of de gewenste map, gebruik Ctrl+C of Ctrl+X-, schakel over naar een ander Visual Studio-exemplaar en gebruik Ctrl+V- om deze bestanden of mappen op te nemen in uw nieuwe oplossing. Alle wijzigingen worden nauwkeurig doorgevoerd in het bestandssysteem.

Naast kopiëren en plakken kunt u ook de bestanden en mappen van het ene exemplaar van Visual Studio naar het andere slepen.

bestanden kopiëren tussen Visual Studio-exemplaren

Voorheen was deze functionaliteit slechts beschikbaar voor enkele projecttypen, maar we hebben deze nu uitgebreid met alle belangrijke projecttypen in Visual Studio.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Wolk

Azure App Service beveiligingsupdates publiceren

veilig publiceren naar Azure App Service met behulp van geïntegreerde beveiligingsupdates.

De publicatierichtlijnen van Azure App Service adviseert klanten basisverificatie uit te schakelen en publiceren via geïntegreerde verificatie in te schakelen.

Azure Tools Secure Publish

De nieuwe functie in Visual Studio 2022 schakelt basisverificatie uit en maakt geïntegreerde beveiliging mogelijk voor publicatie naar Azure App Service. Dit zorgt ervoor dat publicatiereferenties veilig worden verwerkt, waardoor de risico's voor basisverificatie worden verminderd.

Wanneer gebruikers publiceren naar een Azure App Service waarvoor basisverificatie is ingeschakeld (dit is niet aanbevolen), zien gebruikers de optie Basisverificatie inschakelen inschakelen en wordt deze standaard uitgeschakeld. Klanten die basisverificatie moeten behouden, kunnen het selectievakje inschakelen, maar gezien de aanbeveling is basisverificatie uit te schakelen, is dit standaard uitgeschakeld. U dus veilig als dit de eerste keer is dat u publiceert of als u veilig zodra u het publicatieproces hebt doorlopen nadat u Visual Studio hebt bijgewerkt.

Beveiligde publicatie van Azure-hulpprogramma's uitgeschakeld

Als u de web-app onlangs hebt gemaakt via de portal of deze of een toekomstige versie van Visual Studio, wordt basisverificatie standaard uitgeschakeld. Voor elke web-app waarvoor al basisverificatie is uitgeschakeld, wordt de web-app per ongeluk minder veilig gemaakt door het selectievakje helemaal uit te schakelen, zodat u veilig blijft.

Beveiligde publicatie van Azure Tools ingeschakeld

Azure WebJobs Linux-ondersteuning 📣

Publiceren naar Azure WebJobs in Linux wordt nu ondersteund door met de rechtermuisknop te klikken op Publiceren in Visual Studio.

Platformoverschrijdende .NET 5.0+ Console-apps worden ondersteund in Azure WebJobs Linux. U kunt nu ook met de rechtermuisknop klikken op Het publiceren van uw code naar Azure WebJobs in Linux vanuit Visual Studio.

dialoogvenster Publiceren met Linux-doel-

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Azure Functions Flex Consumption

Publish to Azure Flex Consumption hosting plan, momenteel in preview.

Als u het nieuwe Azure Functions Flex Consumption-hostingabonnement probeert, momenteel in preview, kunt u met de rechtermuisknop klikken op Publiceren naar Flex vanuit Visual Studio.

Flex Consumption zal de functionaliteit van uw apps verder uitbreiden en u het volgende bieden:

  • Virtual Network-integratie zonder extra kosten
  • Snel en voorspelbaar schalen met de keuze van de instantiegrootte en gelijktijdigheidsbeheer per instantie
  • Serverloos met schalen naar nul en u betaalt alleen voor exemplaren terwijl ze actief zijn
  • Beperking van koude start met de optionele functie Always Ready-instanties

Lees meer over Flex Consumption in het blogbericht aankondiging of documentatie en probeer een van onze voorbeelden.

Azure Functions Flex Consumption publiceren

beveiligingsupdate voor verbonden services

uw apps en ontwikkelervaringen veiliger maken.

In deze update voor Connected Services kunt u uw projectcode nu verbinden met Azure-resources, zoals Azure Storage, zonder dat u geheimen of verbindingsreeksen nodig hebt in uw code of configuratie.

Nu geeft u de verbinding een naam. De eindpunten blijven behouden tot de configuratie in plaats van de volledige verbindingsreeks. Dit betekent minder geheimen op schijf, zodat uw ontwikkeltijd standaard veiliger is en minder fouten ondervindt bij het doorvoeren van geheimen in broncodebeheer.

dialoogvenster Verbinding maken met Azure Storage

We gebruiken ook de nieuwste Azure SDK's, dus u krijgt ondersteuning voor het maken van verbinding met uw Azure-resources met behulp van uw Visual Studio -aanmelding (of Azure CLI) in plaats van verbinding te maken via een verbindingsreeks. Wanneer uw code lokaal wordt uitgevoerd, wordt uw aangemelde referentie gebruikt om toegang te krijgen tot de resources. Wanneer de Azure SDK wordt uitgevoerd in Azure, wordt de beheerde identiteit van de app-service gebruikt voor toegang tot de resources.

Connected Services stelt alles voor u in en injecteert de juiste code om geïntegreerde identiteit te gebruiken in plaats van geheimen. Tijdens het publiceren wordt uw app geconfigureerd met de juiste identiteit en rollen die nodig zijn voor toegang tot de resources.

Bureaublad

Verbeterde MSIX-hulpprogramma's voor UWP-apps op .NET 9 📣

Visual Studio verwijst nu naar de nieuwe MSIX-hulpprogramma's voor één zelfstandig project om UWP-apps in .NET 9 te verpakken.

In de eerste preview- van UWP-ondersteuning voor .NET 9 hebben we windowsAppSDK gebruikt om de MSIX-hulpprogramma's te bieden voor het verpakken van apps met behulp van de configuratie van één project (in tegenstelling tot het gebruik van een Windows Application Packaging-project, bijvoorbeeld een .wapproj-bestand). Dit heeft verschillende problemen geïntroduceerd, het belangrijkste is dat de transitieve afhankelijkheid van WebView2 van WindowsAppSDK ook automatisch is toegevoegd aan alle UWP-apps, zelfs als dat niet nodig is.

We hebben nu de MSIX-hulpprogramma's voor één project volledig losgekoppeld en gepubliceerd als een nieuw zelfstandig NuGet-pakket: Microsoft.Windows.SDK.BuildTools.MSIX. Dit omvat alles wat nodig is voor het bouwen, implementeren en uitvoeren van UWP-apps op .NET 9, en het genereren van MSIX-pakketten om te publiceren in de Microsoft Store of sideload. Met de UWP op .NET 9-hulpprogramma's in Visual Studio worden deze twee pakketverwijzingen automatisch toegevoegd wanneer dat nodig is:

MSIX-hulpprogramma's

Hiermee verwijdert u zowel de transitieve afhankelijkheid WebView2 als de buildfout die aanwezig was voor nieuwe projecten in eerdere preview-versies, wanneer u de eigenschap WindowsSdkPackageVersion niet handmatig instelt in het .csproj-bestand. Met deze wijziging worden nieuwe projecten gewoon gebouwd en uitgevoerd zonder dat er extra wijzigingen nodig zijn.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Uitgebreide Zoekfunctie voor WinUI-onderdelen

De installatie van WinUI-projecten verbeteren met verbeterde zoekfunctie voor Visual Studio Installer, waardoor de locatie van onderdelen voor ontwikkelaars wordt vereenvoudigd.

Stroomlijn de installatie van uw WinUI-project verder met onze nieuwste update voor het installatieprogramma van Visual Studio. Ontwikkelaars kunnen nu snel WinUI-gerelateerde onderdelen vinden, waardoor de vorige frustratie over het navigeren door een leeg zoekresultaat wordt geëlimineerd. Deze verbetering vereenvoudigt de configuratie van de ontwikkelomgeving, waardoor een intuïtievere en efficiëntere gebruikerservaring mogelijk is.

Een afbeelding met een nieuwe zoekopdracht naar Afzonderlijke WinUI-onderdelen in Visual Studio Installer

Open het Installatieprogramma van Visual Studio, ga naar Tabblad Afzonderlijke onderdelen en zoek naar WinUI-gerelateerde trefwoorden (WinUI, WinRT)!

.NET 9 SDK-ondersteuning voor UWP-📣

Visual Studio bevat nu de .NET 9 SDK met UWP-ondersteuning.

Een van de benodigde stappen om UWP uit te proberen op .NET 9 in de eerste preview- was het installeren van een nachtversie van de .NET 9 SDK. Met deze nieuwe versie van Visual Studio is dat niet meer nodig.

Visual Studio bevat nu de .NET 9 SDK, met alle nieuwe ondersteuning voor UWP op .NET 9 (met name logica om te verwijzen naar de UWP XAML-projecties en om CsWinRT te configureren voor projecttypen voor UWP XAML-apps). U kunt nu UWP bouwen en uitvoeren op .NET 9-projecten met de .NET SDK die automatisch wordt geïnstalleerd met Visual Studio.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Vereenvoudigd .csproj voor UWP-📣

UseUwpTools wordt nu automatisch ingesteld door Visual Studio voor moderne UWP-projecten op .NET 9.

UWP-apps en -bibliotheken die .NET 9 gebruiken om twee eigenschappen in hun .csproj-bestanden te vereisen: UseUwp, waarmee de .NET SDK voor UWP XAML-apps wordt geconfigureerd en UseUwpTools, waarmee alle nieuwe hulpprogramma's in Visual Studio UWP XAML-apps kunnen bouwen en uitvoeren.

De eigenschap UseUwpTools wordt nu automatisch ingesteld door Visual Studio wanneer UseUwp is ingesteld, om de .csproj minder uitgebreid te maken in het algemene scenario. Voor geavanceerde scenario's is het nog steeds mogelijk om u af te sluiten door handmatig UseUwpToolsuit te schakelen.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

RID's voor UWP in .NET 9 vaste 📣

UWP in .NET 9-klassebibliotheken de juiste waarden voor systeemeigen AOT instellen.

Er is een fout opgelost in de APPX-hulpprogramma's voor UWP-klassebibliotheken (en WinRT-onderdelen) op .NET 9, waarbij standaard de runtime-id's van UWP op .NET Native zijn toegepast (bijvoorbeeld met behulp van het win10- voorvoegsel en platformen die niet meer worden ondersteund, zoals arm).

Met de APPX-hulpprogramma's worden nu standaard de juiste RID's voor .NET 9-projecten ingesteld: win-x86;win-x64;win-arm64. Het is nog steeds mogelijk om deze handmatig op te geven, indien gewenst.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

maken van UWP-project opgeloste 📣

We hebben de wizard Universele sjabloon opgelost die ervoor zorgde dat er geen foutdialoogvenster meer werd weergegeven bij het maken van nieuwe UWP in .NET 9-projecten.

Als u de preview-versie van VSIX gebruikt met de nieuwe projectsjablonen voor UWP op .NET 9, hebt u misschien gemerkt dat er direct een foutdialoogvenster werd weergegeven bij het maken van een nieuw project. Dit was met name problematisch bij het maken van een nieuwe oplossing, omdat Visual Studio deze niet correct zou openen na het maken van het project. Dit probleem is nu opgelost en het maken van nieuwe projecten die gericht zijn op UWP op .NET 9, werkt nu correct.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Web

variabelen
aanvragen in HTTP-bestanden 📣

HTTP-bestanden ondersteunen nu aanvraagvariabelen. Hier kunt u een aanvraag verzenden en vervolgens gegevens uit het antwoord of de aanvraag gebruiken in toekomstige aanvragen.

Wanneer u werkt met HTTP-bestanden, wordt in een veelvoorkomend scenario een eindpunt aangeroepen, een waarde uit het antwoord opgehaald en een volgende aanvraag verzonden. U kunt bijvoorbeeld een eindpunt aanroepen om een gebruiker te verifiëren en vervolgens bij latere aanroepen kunt u het token doorgeven dat is geretourneerd vanuit het aanmeldingseindpunt. Vóór deze release was dit niet mogelijk in Visual Studio. In het onderstaande fragment ziet u een voorbeeld van hoe dit werkt in een HTTP-bestand.

# @name login
POST {{TodoApi_HostAddress}}/users/token
Content-Type: application/json

{
  "username": "{{myusername}}",
  "password": "{{mypassword}}"
}

###

GET {{TodoApi_HostAddress}}/todos
Authorization: Bearer {{login.response.body.$.token}}

###

In het bovenstaande codefragment zijn er twee aanvragen, de eerste die het /users/token-eindpunt aanroept om de gebruiker te verifiëren. Direct boven de aanvraagregel ziet u de opmerking # @name login. Deze syntaxis geeft de aanvraag een naam (login in dit geval) en configureert deze als een aanvraagvariabele. Wanneer de aanvraag wordt verzonden, hebt u toegang tot waarden uit het antwoord of de aanvraag in een toekomstige aanvraag die vanuit dat HTTP-bestand wordt verzonden. Omdat dit een aanvraag is om u aan te melden, moet u voorzichtig zijn met het beveiligen van uw geheimen. In Visual Studio hebben we ondersteuning voor toegang tot geheimen op een veilige manier. Zie deze sectie in de documenten voor meer informatie over het afhandelen van geheimen.

Met de tweede aanvraag wordt een geverifieerd eindpunt aangeroepen, /todos, waarmee de todo items voor die gebruiker worden geretourneerd. In de aanvraag wordt het token doorgegeven als koptekst met de regel.

Authorization: Bearer {{login.response.body.$.token}}

Het /users/token-eindpunt retourneert een antwoord in JSON. Het token wordt geëxtraheerd met een JSON-padexpressie, $.token, in de hoofdtekst van het antwoord. Als u een eindpunt gebruikt dat XML retourneert, kunt u in plaats van een JSON-padexpressie een XPath-expressie doorgeven. De ondersteuning in Visual Studio is geïnspireerd op de bestaande OSS-extensie voor REST Client die beschikbaar is voor Visual Studio Code. Hier vindt u meer informatie over aanvraagvariabelen. We voegen binnenkort documentatie toe om deze ondersteuning in veel meer detail te bespreken.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Vitest-ondersteuning in JavaScript en TypeScript-📣

Wanneer u JavaScript- en TypeScript-projecten gebruikt, kunt u nu testcases maken met Vitest.

In JavaScript- en TypeScript-projecten (JSTS), projecten met de extensie .esproj, hebben we ondersteuning toegevoegd voor het detecteren en uitvoeren van tests die zijn geschreven met Vitest-. Als u aan de slag wilt met Vitest-tests, voegt u in een JSTS-project het vitest-pakket toe met behulp van npm in Solution Explorer en wijzigt u vervolgens het projectbestand zodat de volgende eigenschappen zijn gedeclareerd.

    <JavaScriptTestRoot>test\</JavaScriptTestRoot>
    <JavaScriptTestFramework>Vitest</JavaScriptTestFramework>

Zorg ervoor dat de waarde voor JavaScriptTestRoot het juiste relatieve pad heeft naar waar uw testbestanden zich bevinden.

Voeg uw tests toe aan de juiste map en bouw het project/de oplossing. Daarna ziet u de testcases in Test Explorer.

Test explorer met vitesttests

In Test Explorer ziet u de verschillende testcases die zijn gedetecteerd en die de testcases uitvoeren.

We hebben nog geen ondersteuning toegevoegd voor foutopsporing, maar die ondersteuning wordt binnenkort toegevoegd. Een ander bekend probleem is wanneer u dubbelklikt op een testcase in Test Explorer. Hiermee gaat u naar de eerste regel van het bestand waarin de testcase is gedefinieerd. We zullen deze ervaring ook verbeteren.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Hints voor inlay voor meer talen 📣

ondersteuning voor Inlay Hint is toegevoegd aan JavaScript, TypeScript, Python en Razor, evenals een instelling om het gedrag ervan te beheren.

Inlayhints geven aanvullende informatie weer over broncode die inline wordt weergegeven. Dit wordt meestal gebruikt om afgeleide typen, parameternamen en andere impliciete informatie uit uw code rechtstreeks in uw editor weer te geven.

We hebben ondersteuning toegevoegd om Inlay-hints weer te geven in JavaScript, TypeScript, Razor en Python. We hebben ook een nieuwe instelling toegevoegd, zodat u het gedrag van hints in deze talen kunt aanpassen. Deze instelling is nog niet van toepassing op C# en C++ . Als u Inlay-hints voor deze talen wilt inschakelen, kunt u de nieuwe instelling gebruiken in Extra > Opties > Teksteditor > Alle talen > Hints voor inlays. U ziet de nieuwe optie in de volgende afbeelding.

globale instelling voor hints voor inlays

Er zijn drie verschillende waarden voor Inlay Hints.

  • Altijd: De hints voor inlay altijd weergeven.
  • Terwijl u op Alt+F1drukt: Alleen hints voor inlay worden weergegeven terwijl Alt- en F1- worden ingedrukt. Dit is de standaardwaarde.
  • Nooit: Hints voor inlay worden nooit weergegeven.

Voor JavaScript en TypeScript is er een pagina met extra opties om het gedrag van Inlay-hints te configureren. Deze vindt u in Tools > Options > Text Editor > JavaScript/TypeScript > Advanced > General.

Deze opties worden weergegeven in de volgende afbeelding.

globale TypeScript-instelling voor Hints voor inlays

Standaard zijn al deze opties uitgeschakeld. Schakel de hints in die u wilt weergeven voor JavaScript- en TypeScript-bestanden. In een toekomstige update kunnen we de standaardwaarden voor deze opties wijzigen. In de onderstaande afbeelding ziet u een JavaScript-bestand met Inlay-hints.

hints voor inlays

In de vorige afbeelding zijn de inlayhints die worden weergegeven de grijze vakken met : number om het type van de variabele aan te geven.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

gedeelde HTTP-bestanden

In HTTP-omgevingsbestanden hebben we ondersteuning toegevoegd voor het delen van variabelen in omgevingen.

Wanneer u HTTP-bestanden in Visual Studio gebruikt, kunt u omgevingen definiëren zodat u verschillende instellingen voor API-tests kunt maken. Eerder was het delen van een variabele in deze omgevingen niet mogelijk. We hebben ondersteuning toegevoegd voor een nieuwe vermelding, $shared, in het omgevingsbestand waarmee u standaardwaarden kunt definiëren voor variabelen die beschikbaar zijn in alle omgevingen.

Denk bijvoorbeeld aan het omgevingsbestand (http-client.env.json) hieronder.

{
    "$shared": {
        "HostAddress": "https://localhost:7293"
    },
    "dev": {
        "username": "sayedha"
    },
    "dev2": {
        "username": "madsk"
    },
    "staging": {
        "username": "staginuser",
        "HostAddress": "https://sayedrest.example.com"
    }
}

We hebben de gedeelde waarden in $shared hierboven gedefinieerd die bestaat uit de HostAddress variabele die is ingesteld op localhost:7293.

Van de drie gedefinieerde omgevingen heeft geen van beide ontwikkelomgevingen de waarde voor HostAddress opgegeven, maar fasering heeft er een waarde voor.

Wanneer u de dev of dev2 omgeving gebruikt, komt de waarde voor HostAddress uit $shared omdat deze omgevingen geen waarde voor HostAddresshebben. Wanneer u de faseringsomgeving gebruikt, wordt de waarde voor HostAddress ingesteld op https://sayedrest.example.com.

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

Gegevens

SDK-projecten in SSDT-📣

U kunt nu de sdk-bestandsindeling van het project gebruiken in uw SQL Server Data Tools-projecten.

Met deze update worden SQL-projecten toegevoegd op basis van de Microsoft.Build.Sql SDK, die platformoverschrijdende ondersteuning en verbeterde pakketverwijzingen naar SSDT-projecten (SQL Server Data Tools) biedt. Met minder uitgebreide projectbestanden en databaseverwijzingen naar NuGet-pakketten kunnen teams efficiënter samenwerken aan grote databases in één project of meerdere sets objecten uit verschillende projecten compileren.

SQL-project in Solution Explorer SDK-stijl

Database-implementaties van een Microsoft.Build.Sql-project kunnen worden geautomatiseerd in Windows- en Linux-omgevingen waarin het dotnet-hulpprogramma Microsoft.SqlPackage het buildartefact (.dacpac) publiceert vanuit het SQL-project. Meer informatie over de preview van SQL-projecten in SDK-stijl en DevOps voor SQL.

De Microsoft.Build.Sql-project-SDK is open source en ontwikkeld op GitHub-.

Zorg ervoor dat u het nieuwste SSDT-preview-onderdeel installeert in het Installatieprogramma van Visual Studio om de SQL-projecten in DE SDK-stijl in uw oplossing te gebruiken.

Installer preview SSDT-functie inschakelen

📣 Zie functieticket om uw feedback te delen en door te gaan met het gesprek.

C++

C++ opdrachtregelargumenten instellen

Een nieuwe manier om de opdrachtregelargumenten rechtstreeks vanuit de werkbalk in te stellen.

Stel snel de opdrachtregelargumenten voor uw C++-project in met het nieuwe Argumenten instellen werkbalkitem. Met deze keuzelijst met invoervak kunt u de opdrachtregelargumenten rechtstreeks vanaf de werkbalk instellen, zodat u snel uw argumenten kunt wijzigen. Wanneer u uw project uitvoert, worden alle argumenten die in het vak worden ingevoerd, doorgegeven.

Dit werkbalkonderdeel wordt standaard weergegeven als u Game-ontwikkeling met C++ workload hebt geïnstalleerd. Als u deze niet ziet, kunt u deze toevoegen door met de rechtermuisknop op de werkbalk te klikken en Argumenten instellente selecteren.

Opmerking: deze functie is momenteel alleen beschikbaar voor Unreal Engine-projecten. Algemene C++-projecten worden in toekomstige releases ondersteund.

C++ opdrachtregelargumenten instellen

uitleg van
weergaven voor inzichten maken

Meer informatie over het gebruik van elk tabblad Build Insights via een zojuist toegevoegde koppeling naar documentatie.

U kunt nu een korte beschrijving zien over hoe elk tabblad van Build Insights kan worden gebruikt, samen met een koppeling naar de documentatie voor een gedetailleerde uitleg.

uitleg van weergaven voor inzichten maken

aanpassingen van het pad Naar inzichten bouwen

Krijg een duidelijkere weergave van uw bestand in Build Insights. Zie het volledige pad bij aanwijzen.

We hebben volledige en relatieve paden verborgen om onbelangrijke e-mail te verminderen. Als u volledige paden wilt zien, plaatst u de muisaanwijzer op het bestand. U ziet ook een nieuwe bestandsnaam kolom voor zowel bestanden als vertaaleenheden, die standaard worden weergegeven om u te helpen bestanden snel te identificeren zonder lange paden te parseren.

Aanpassingen van inzichtenpad maken

Map openen voor unreal engine-uproject

Een nieuwe manier om uw uproject te openen.

We hebben een extra toegangspunt toegevoegd om uw Unreal Engine-uproject te openen met de uprojectondersteuning van Visual Studio. U kunt uw uproject nu rechtstreeks openen vanuit het menu Bestand door project Openen > Unreal Engine te selecteren.... Hiermee opent u uw Unreal Engine-project in Visual Studio.

Zie Direct bewerken .uproject in Visual Studiovoor meer informatie over het gebruik van deze functie.

Map openen van unreal engine

verbeterde handtekening

U kunt nu handtekeningen wijzigen met onze verbeterde C++-interface.

We hebben de interface Change Signature voor C++bijgewerkt. U kunt nu parameters toevoegen, verwijderen en opnieuw rangschiknen in de sectie parameterconfiguratie. Daarnaast kunt u de volgorde wijzigen door ze te selecteren en naar een nieuwe positie te slepen.

De toegangsmethoden blijven hetzelfde: druk op Ctrl-+. de Snelle acties en herstructureringen menu activeren en Handtekening wijzigenselecteren.

verbeterde voor wijzigingshandtekening

Belangrijkste door de gebruiker gerapporteerde bugfixes

📣 Bekijk de volledige lijst met alle door de gebruiker gerapporteerde opgeloste fouten die in deze release zijn opgenomen.

Bekende problemen

  • Fout 'Exporteren van het certificaat is mislukt' treedt op bij het opsporen van fouten in een ASP.NET Core-webproject waarvoor HTTPS is ingeschakeld en het WSL-foutopsporingsprofiel wordt gebruikt. Dit gebeurt vanwege wijziging die fouten veroorzaakt: dev-certificaatexport maakt geen map meer. U kunt dit omzeilen door de %appdata%\ASP.NET\Https map te maken voordat u fouten opspoort.

Versie 17.12.4

uitgebracht op 14 januari, 2025

Belangrijkste bugfixes Vanuit de community
Geadresseerde van een incompatibiliteit tussen Live++ (een C++ Hot Reload-hulpprogramma van derden) en Visual Studio 2022 feedbackticket
Een probleem opgelost met Alles-In-One Zoeken (Ctrl+T, Ctrl+Q). feedbackticket
Visual Studio Debugger kan geen waarden weergeven in het venster 'Locals'. feedbackticket
Er is een fout opgelost waardoor VS onmiddellijk vastliep en werd gesloten bij het openen van NuGet Package Manager als het detailvenster aan de rechterkant zeer klein was. feedbackticket
Er is een probleem opgelost waarbij het aanwijzen van een docker-bestand VS kon vastlopen.
Er is een probleem opgelost met onjuiste initialisatie voor bepaalde structs met leden van nul.
Er is een probleem opgelost voor x86-doelen waarbij frameregisters die tijdens coroutines worden gebruikt, mogelijk niet correct opnieuw worden geladen. feedbackticket
VS bevat nu DE 8.0.100 (SR10); MAUI 9.0.14 (SR1.4)
De syntaxiskleur flikkerde tijdens het schuiven via https://github.com/dotnet/roslyn/pull/75796||
Beveiligingsadviezen behandeld CVE
Beveiligingsprobleem met uitvoering van .NET en Visual Studio Remote Code CVE-2025-21172
Beveiligingsprobleem met .NET, .NET Framework en Visual Studio Remote Code CVE-2025-21176
Beveiligingsprobleem met uitvoering van Externe code in Visual Studio CVE-2025-21178
Teken voor regelterugloop in externe URL stelt kwaadwillende opslagplaats in staat referenties te lekken CVE-2024-50338
Beveiligingsprobleem met uitvoering van externe code in .NET CVE-2025-21171
(alleen Linux) .NET-uitbreiding van beveiligingsproblemen met bevoegdheden CVE-2025-21173
Beveiligingsprobleem met betrekking tot uitbreiding van bevoegdheden in Visual Studio CVE-2025-21405

Versie 17.12.3

uitgebracht op 3 decemberrd, 2024

Belangrijkste bugfixes Vanuit de community
NuGet-fouten na een upgrade van VS v17.11.6 naar v17.12 met .NET 9. feedbackticket
Privé Unity-berichten die onjuist zijn gemarkeerd als ongebruikte IDE0051. feedbackticket
Intellisense werkt niet meer in het Word C++-project. feedbackticket
Er is een probleem opgelost waarbij tekens mogelijk worden gedupliceerd bij het typen in een bestand met een ingesloten taal. feedbackticket
Er is een probleem opgelost waarbij het oplossen van samenvoegconflicten in RAZOR-bestanden en .cshtml-bestanden een leeg venster zou opleveren. feedbackticket
Azure Devops Permalink vanuit Visual Studio 2022 werkt niet. feedbackticket
Er is een probleem opgelost waarbij Visual Studio vastliep als de omgevingsvariabele DOTNET_SYSTEM_GLOBALIZATION_INVARIANT was ingesteld op 1. feedbackticket
Er is een fout opgelost bij het opstarten van prestatieprofielen voor C++-projecten. feedbackticket

Versie 17.12.2

uitgebracht novemeber 26th, 2024

Belangrijkste bugfixes Vanuit de community
C++ IntelliSense geeft geen fouten meer weer voor projecten die in Visual Studio 17.11 werkten met IntelliSense. feedbackticket
Het Copilot-indexeerproces vergrendelt bestanden niet meer. feedbackticket
Er is een crash van de compiler opgelost in C++/CLI-code die is gericht op .NET Core en param-matrices gebruikt. feedbackticket
releaseopmerkingen voor .NET voor iOS/tvOS/macOS/macCatalyst
Nadat Windows Update KB5041580, loopt Visual Studio op de achtergrond vast bij het openen van een venster van de samenvoegeditor. feedbackticket
[LKG18] Sommige verkleinde functies hebben onvolledige informatie in hun secundaire fragmenten. feedbackticket
Interne compilerfout C1001 voor arm64-build. feedbackticket
SSDT loopt vast met kritieke fout die is opgetreden in VS17.12. feedbackticket

Versie 17.12.1

uitgebracht novemeber 19, 2024

Belangrijkste bugfixes Vanuit de community
Er is een probleem opgelost waarbij de syntaxiskleur flikkerde tijdens het schuiven via https://github.com/dotnet/roslyn/pull/75796
Deze release bevat updates voor het handhaven van de naleving van internationale taalwetten.

Van ons allemaal in het team, bedankt voor het kiezen van Visual Studio. Als u vragen hebt, kunt u ons bereiken op Twitter of Developer Community.

Gelukkig coderen!
het Visual Studio-team


Notitie

Deze update kan nieuwe Software van Microsoft of derden bevatten die afzonderlijk is gelicentieerd, zoals beschreven in de kennisgevingen van derden of in de bijbehorende licentie.