Prestandatips och tricks för Visual Studio
Prestandarekommendationer för Visual Studio är avsedda för situationer med låg mängd minne, vilket kan inträffa i sällsynta fall. I dessa situationer kan du optimera vissa Visual Studio-funktioner som du kanske inte använder. Följande tips är inte avsedda som allmänna rekommendationer.
Not
Om du har problem med att använda produkten på grund av minnesproblem kan du meddela oss via -feedbackverktyget.
Använda ett 64-bitars operativsystem
Om du uppgraderar systemet från en 32-bitarsversion av Windows till en 64-bitarsversion expanderar du mängden virtuellt minne som är tillgängligt i Visual Studio från 2 GB till 4 GB. Med en 64-bitars uppgradering av operativsystemet kan Visual Studio hantera större arbetsbelastningar.
Mer information finns i Minnesgränser för Windows- och Windows Server-versioner.
Tips
Visual Studio 2022 i Windows är ett 64-bitarsprogram. Tidigare versioner är 32-bitars.
Inaktivera automatisk filåterställning
Visual Studio öppnar automatiskt dokument som lämnades öppna i föregående session. Den här automatiska filåterställningsåtgärden kan förlänga tiden det tar att läsa in en lösning med upp till 30% eller mer, beroende på projekttyp och dokument som öppnas. Designers som Windows Forms och XAML och vissa JavaScript- och TypeScript-filer kan vara långsamma att öppna.
Visual Studio meddelar dig i ett gult fält när automatisk dokumentåterställning gör att en lösning läses in långsammare. Du kan inaktivera automatisk filöppning genom att följa dessa steg:
Välj Verktyg>Alternativ för att öppna dialogrutan Alternativ.
På sidan Projects and Solution>General avmarkerar du Öppna dokument vid laddning av lösningen.
Om du inaktiverar automatisk filåterställning är ett snabbt sätt att navigera till filer som du vill öppna genom att använda något av Gå till kommandon:
Välj Redigera>Gå till>Gå till allaeller tryck på Ctrl+Tför funktionen Allmänt Gå till .
Gå till den senaste redigeringsplatsen i en lösning med Redigera>Gå till>Gå till senaste redigeringsplatseller genom att trycka på Ctrl+Skift+Backspace.
Använd Gå till senaste fil för att se en lista över nyligen besökta filer i en lösning. Välj Redigera>Gå till>Gå till senaste fileller tryck på Ctrl+1, Ctrl+R.
Konfigurera felsökningsalternativ
Om du vanligtvis får ont om minne under felsökningssessioner kan du optimera prestanda genom att göra en eller flera konfigurationsändringar.
Aktivera Just My Code-
Den enklaste optimeringen är att aktivera funktionen Just My Code, som bara läser in symboler för projektet. Om du aktiverar den här funktionen kan du spara mycket minne för felsökning av hanterade program (.NET). Det här alternativet är redan aktiverat som standard i vissa projekttyper.
Om du vill aktivera Just My Codeväljer du Tools>Options>Debugging>Generaloch väljer sedan Enable Just My Code.
Ange symboler som ska läsas in
För intern felsökning är det dyrt att läsa in symbolfiler (.pdb) när det gäller minnesresurser. Du kan konfigurera inställningarna för felsökningssymbolen för att spara minne. Vanligtvis konfigurerar du lösningen så att den bara läser in moduler från projektet.
Om du vill ange symbolinläsning väljer du Verktyg>Alternativ>Felsökning>Symboler.
Ange alternativen till Läs in endast angivna moduler i stället för Läs in alla moduleroch ange sedan vilka moduler du vill läsa in. När du felsöker kan du också högerklicka på specifika moduler i fönstret Moduler för att uttryckligen inkludera en modul i symbolbelastningen. (Om du vill öppna fönstret när du felsöker väljer du Felsöka>Windows>-moduler.)
Mer information finns i Ange symbol- och källfiler i felsökningsprogrammet.
Inaktivera diagnostikverktyg
Vi rekommenderar att du inaktiverar CPU-profilering efter användning. Den här funktionen kan förbruka stora mängder resurser. När CPU-profilering har aktiverats sparas det här tillståndet under efterföljande felsökningssessioner, så det är värt att uttryckligen stänga av det när det är klart. Du kan spara vissa resurser genom att inaktivera diagnostikverktygen vid felsökning om du inte behöver de angivna funktionerna.
Om du vill inaktivera Diagnostikverktygstartar du en felsökningssession genom att välja Verktyg>Alternativ>Felsökning>Allmäntoch avmarkerar sedan alternativet Aktivera diagnostikverktyg vid felsökning av.
Mer information finns i Profileringsverktyg.
Inaktivera verktyg och tillägg
Vissa verktyg eller tillägg kan stängas av för att förbättra prestandan.
Tips
Du kan ofta isolera prestandaproblem genom att stänga av tillägg en i taget och kontrollera prestanda igen.
Hanterad språktjänst (Roslyn)
Information om prestandaöverväganden för .NET Compiler Platform ("Roslyn") finns i Prestandaöverväganden för stora lösningar.
Inaktivera CodeLens-
Visual Studio utför en Hitta alla referenser uppgift på varje metod när den visas. CodeLens innehåller funktioner som den infogade visningen av antalet referenser. Arbetet utförs i en separat process, till exempel ServiceHub.RoslynCodeAnalysisService32. I stora lösningar, eller på resursbegränsade system, kan den här funktionen ha en betydande inverkan på prestandan. Om du har minnesproblem, till exempel när du läser in en stor lösning på en dator med 4 GB eller hög CPU-användning för den här processen, kan du inaktivera CodeLens för att frigöra resurser.
Om du vill inaktivera CodeLensväljer du Verktyg>Alternativ>textredigeraren>Alla språk>CodeLensoch avmarkerar funktionen.
Mer information finns i Hitta kodändringar och annan historik med CodeLens.
Andra verktyg och tillägg
Inaktivera tillägg
Tillägg är ytterligare programvarukomponenter som läggs till i Visual Studio och som ger nya funktioner eller utökar befintliga funktioner. Tillägg kan ofta vara en källa till minnesresursproblem. Om du har problem med minnesresurser kan du prova att inaktivera tillägg en i taget för att se hur det påverkar scenariot eller arbetsflödet.
Om du vill inaktivera tillägg går du till Tillägg>Hantera tilläggoch inaktiverar ett visst tillägg.
Inaktivera kartläge
Kartläge visar kodrader i miniatyr i rullningslisten. Kartläget är aktiverat som standard.
Om du vill inaktivera kartläge går du till Verktyg>Alternativ>textredigeraren>Alla språk>rullningslister. I avsnittet Beteende avmarkerar du alternativet Använd kartläge för lodrät rullningslist.
Inaktivera radbrytning
Radbyte visar den del av en lång kodrad som sträcker sig bortom den aktuella bredden i kodredigerarens fönster. Radbrytning är aktiverat som standard.
Om du vill inaktivera radbrytning för ett projekt som du arbetar med, går du till Redigera>Avancerat>Radbrytning. (Du kan växla den här inställningen med samma menykommandon.)
Om du vill inaktivera radbrytning för alla projekt går du till Verktyg>Alternativ>Allmänt>textredigeraren>Alla språk>Allmäntoch i avsnittet Inställningar avmarkerar du alternativet Radbryt.
Inaktivera XAML Designer-
XAML-designern är aktiverad som standard, men använder bara resurser om du öppnar en .xaml- fil. Om du arbetar med XAML-filer men inte vill använda designerfunktionen inaktiverar du den här funktionen för att frigöra lite minne.
Om du vill inaktivera XAML Designer går du till Verktyg>Alternativ>XAML Designer>Aktivera XAML Designeroch avmarkerar alternativet.
Ta bort arbetsbelastningar
Du kan använda Visual Studio Installer för att ta bort arbetsbelastningar som inte längre används. Den här åtgärden kan effektivisera start- och körningskostnaden genom att hoppa över paket och sammansättningar som inte behövs längre.
Lägg till ospårade filer i lokala .gitignore-
Visual Studio kör Git-kommandot
git status
med ospårade filer för att ge en smidig upplevelse när du lägger till nya filer på en lagringsplats. När det finns ett stort antal ospårade filer kangit status
förbruka extra minne. Om du vill ignorera dessa filer och förbättra prestandan förgit status
kan du lägga till dessa filer eller mappar i din lokala .gitignore-fil. Om du vill komma åt filen går du till Git>-inställningar>Git-lagringsplatsinställningar. I avsnittet Git-filer väljer du sedan Lägg till för att skapa en .gitignore-fil eller väljer Redigera om du redan har en.Aktivera commit-graf i Git-verktyg
Ny i Visual Studio 2022 version 17.2: Om du upplever fördröjningar när du visar din Git-lagringsplats eller grenhistorik i Visual Studio har vi integrerat en funktion för incheckningsdiagram som kan vara till hjälp. Om du vill använda incheckningsdiagram ser du till att du ladda ned och installera Visual Studio 2022. För att lära dig mer om commit-graf, se blogginlägget Supercharge din Git-upplevelse i Visual Studio.
Framtvinga en skräpinsamling
CLR använder ett minneshanteringssystem för skräpinsamling. I det här systemet används ibland minne av objekt som inte längre behövs. Det här tillståndet är tillfälligt. skräpinsamlaren släpper det här minnet baserat på dess prestanda- och resursanvändnings-heuristik. Du kan tvinga CLR att samla in oanvänt minne med hjälp av en snabbtangent i Visual Studio. ** Om det finns en betydande mängd avfall som väntar på att samlas in och du tvingar fram en sophantering, bör du se minnesanvändningen i processen devenv.exe minska i Aktivitetshanteraren. Det är sällan nödvändigt att använda den här metoden. Men när en dyr åtgärd har slutförts (till exempel en fullständig version, felsökningssession eller en lösningsöppningshändelse) kan det hjälpa dig att avgöra hur mycket minne som verkligen används av processen. Eftersom Visual Studio är blandat (hanterat & internt) är det ibland möjligt för den interna allokeraren och skräpinsamlaren att konkurrera om begränsade minnesresurser. Under förhållanden med hög minnesanvändning kan det hjälpa att tvinga sophämtaren att köra.
Om du vill tvinga fram en skräpinsamling använder du det här kortkommandot: Ctrl+Alt+Skift+F12, Ctrl+Alt+Skift+F12 (tryck två gånger).
Om att tvinga igång skräpinsamling får ditt scenario att fungera, skicka in en rapport via feedbackverktyget Visual Studio eftersom detta beteende sannolikt är en bugg.
En detaljerad beskrivning av CLR-skräpinsamlaren finns i Grunderna för skräpinsamling.