Condividi tramite


Suggerimenti e consigli sulle prestazioni di Visual Studio

Le raccomandazioni sulle prestazioni di Visual Studio sono destinate a situazioni di memoria insufficiente, che possono verificarsi in rari casi. In queste situazioni, è possibile ottimizzare determinate funzionalità di Visual Studio che potrebbero non essere in uso. I suggerimenti seguenti non sono concepiti come raccomandazioni generali.

Nota

Se si riscontrano difficoltà a usare il prodotto a causa di problemi di memoria, segnalarlo tramite lo strumento di feedback .

Usare un sistema operativo a 64 bit

Se si aggiorna il sistema da una versione a 32 bit di Windows a una versione a 64 bit, si espande la quantità di memoria virtuale disponibile in Visual Studio da 2 GB a 4 GB. Un aggiornamento del sistema operativo a 64 bit consente a Visual Studio di gestire carichi di lavoro più grandi.

Per altre informazioni, vedere Limiti di memoria per le versioni di Windows e Windows Server.

Mancia

Visual Studio 2022 in Windows è un'applicazione a 64 bit. Le versioni precedenti sono a 32 bit.

Disabilitare il ripristino automatico dei file

Visual Studio riapre automaticamente i documenti lasciati aperti nella sessione precedente. Questa azione di ripristino automatico dei file può prolungare i tempi necessari per caricare una soluzione fino a 30% o più, a seconda del tipo di progetto e dei documenti aperti. I designer che usano Windows Forms, XAML e alcuni file JavaScript e TypeScript potrebbero riscontrare lentezza nell'apertura.

Visual Studio invia una notifica in una barra gialla quando il ripristino automatico dei documenti causa un rallentamento del caricamento di una soluzione. È possibile disabilitare la riapertura automatica dei file seguendo questa procedura:

  1. Selezionare Strumenti>Opzioni per aprire la finestra di dialogo Opzioni .

  2. Nella pagina Progetti e soluzioni>Generale deselezionare Riaprire i documenti al caricamento della soluzione.

Se si disabilita il ripristino automatico dei file, un modo rapido per passare ai file da aprire consiste nell'usare uno dei comandi Vai a:

  • Per la funzione generale Vai a, selezionare Modifica>Vai a>Vai a Tuttooppure premere Ctrl+T.

  • Passare all'ultima posizione di modifica in una soluzione usando Modifica>Vai a>Vai all'ultima posizione di modificaoppure premendo Ctrl+Shift+Backspace.

  • Usare Vai ai file recenti per visualizzare un elenco di file visitati di recente in una soluzione. Selezionare Modifica>Vai a>Vai a file recentioppure premere CTRL+1, CTRL+R.

Configurare le opzioni di debug

Se durante le sessioni di debug hai tipicamente poca memoria disponibile, puoi ottimizzare le prestazioni apportando una o più modifiche alla configurazione.

  • Abilitare Just My Code

    L'ottimizzazione più semplice consiste nell'abilitare la funzionalità Just My Code, che carica solo i simboli per il progetto. L'abilitazione di questa funzionalità può comportare un notevole risparmio di memoria per il debug di applicazioni gestite (.NET). Questa opzione è già abilitata per impostazione predefinita in alcuni tipi di progetto.

    Per abilitare Just My Code, scegliere Strumenti>Opzioni>Debugging>Generalee quindi selezionare Abilitare Just My Code.

  • Specificare i simboli da caricare

    Per il debug nativo, il caricamento dei file di simboli (.pdb) è costoso in termini di risorse di memoria. È possibile configurare le impostazioni dei simboli del debugger per risparmiare memoria. In genere, si configura la soluzione per caricare solo i moduli dal progetto.

    Per specificare il caricamento dei simboli, scegliere Strumenti>Opzioni>Debug>Simboli.

    Impostare le opzioni su Caricare solo i moduli specificati anziché Caricare tutti i modulie quindi specificare i moduli da caricare. Durante il debug, è anche possibile fare clic con il pulsante destro del mouse su moduli specifici nella finestra moduli per includere in modo esplicito un modulo nel caricamento dei simboli. Per aprire la finestra durante il debug, scegliere Debug>Moduli di Windows>.

    Per altre informazioni, vedere Specificare i file di simboli e di origine nel debugger.

  • Disabilitare gli strumenti di diagnostica

    È consigliabile disabilitare la profilatura della CPU dopo l'uso. Questa funzionalità può utilizzare grandi quantità di risorse. Una volta abilitata la profilatura della CPU, questo stato viene salvato in modo permanente tra le sessioni di debug successive, quindi vale la pena disattivarlo in modo esplicito al termine. È possibile salvare alcune risorse disabilitando gli strumenti di diagnostica durante il debug se non sono necessarie le funzionalità fornite.

    Per disabilitare strumenti di diagnostica, avviare una sessione di debug, selezionare Strumenti>Opzioni>Debugging>Generalee quindi deselezionare l'opzione Abilita strumenti di diagnostica durante il debug.

    Per altre informazioni, vedere strumenti di profilatura .

Disabilitare strumenti ed estensioni

Alcuni strumenti o estensioni possono essere disattivati per migliorare le prestazioni.

Mancia

È spesso possibile isolare i problemi di prestazioni disattivando le estensioni una alla volta e ricontrollando le prestazioni.

Servizio di linguaggio gestito (Roslyn)

Per informazioni sulle considerazioni sulle prestazioni della piattaforma del compilatore .NET ("Roslyn"), vedere le considerazioni per le prestazioni delle soluzioni di grandi dimensioni .

  • disabilitare CodeLens

    Visual Studio esegue un'operazione Trova Tutti I Riferimenti su ogni metodo visualizzato. CodeLens offre funzionalità come la visualizzazione inline del numero di riferimenti. Il lavoro viene eseguito in un processo separato, ad esempio ServiceHub.RoslynCodeAnalysisService32. In soluzioni di grandi dimensioni o nei sistemi con vincoli di risorse, questa funzionalità può avere un impatto significativo sulle prestazioni. Se si verificano problemi di memoria, ad esempio quando si carica una soluzione di grandi dimensioni in un computer da 4 GB o un utilizzo elevato della CPU per questo processo, è possibile disabilitare CodeLens per liberare risorse.

    Per disabilitare CodeLens, scegliere Strumenti>Opzioni>Editor di testo>Tutti i linguaggi>CodeLense deselezionare la funzionalità.

    Per altre informazioni, vedere Trovare modifiche al codice e altre cronologie con CodeLens.

Altri strumenti ed estensioni

  • disabilitare le estensioni

    Le estensioni sono componenti software aggiuntivi aggiunti a Visual Studio che forniscono nuove funzionalità o estendono le funzionalità esistenti. Le estensioni possono spesso essere un'origine di problemi di risorse di memoria. Se si verificano problemi di risorse di memoria, provare a disabilitare le estensioni una alla volta per vedere come influisce sullo scenario o sul flusso di lavoro.

    Per disabilitare le estensioni, vai a Estensioni>Gestisci estensionie disabilita una determinata estensione.

  • Disabilitare la modalità mappa

    modalità mappa visualizza righe di codice, in miniatura, sulla barra di scorrimento. La modalità mappa è abilitata per impostazione predefinita.

    Per disabilitare la modalità mappa, passare a Strumenti>Opzioni>Editor di testo>Tutte le lingue>Barre di scorrimentoe nella sezione Comportamento, deselezionare l'opzione Usa modalità mappa per la barra di scorrimento verticale.

  • Disabilitare il ritorno a capo automatico

    ritorno a capo automatico visualizza la parte di una lunga riga di codice che si estende oltre la larghezza corrente della finestra dell'editor di codice. Il ritorno a capo automatico è attivo per impostazione predefinita.

    Per disabilitare il ritorno a capo automatico per un progetto attualmente in uso, andare su Modifica>Avanzate>Ritorno a capo automatico. È possibile attivare o disattivare questa impostazione usando gli stessi comandi di menu.

    Per disabilitare il ritorno a capo automatico per tutti i progetti, andare su Strumenti>Opzioni>Generale>Editor di testo>Tutte le lingue>Generalee, nella sezione Impostazioni, deselezionare l'opzione A capo automatico.

  • Disabilitare Designer XAML

    La finestra di progettazione XAML è abilitata per impostazione predefinita, ma consuma risorse solo se si apre un file .xaml. Se si usano file XAML ma non si vuole usare la funzionalità di progettazione, disabilitare questa funzionalità per liberare memoria.

    Per disabilitare XAML Designer, vai a Strumenti>Opzioni>XAML Designer>Abilita XAML Designere deseleziona l'opzione.

  • Rimuovere i carichi di lavoro

    È possibile usare il programma di installazione di Visual Studio per rimuovere i carichi di lavoro non più usati. Questa azione può semplificare il costo di avvio e di runtime ignorando pacchetti e assembly che non sono più necessari.

  • Aggiungere file non tracciati al file .gitignore locale

    Visual Studio esegue il comando Git git status con file non registrati per offrire un'esperienza semplice quando si aggiungono nuovi file a un repository. Quando è presente un numero elevato di file non registrati, git status può utilizzare memoria aggiuntiva. Per ignorare questi file e migliorare le prestazioni di git status, è possibile aggiungere questi file o cartelle al file con estensione gitignore locale. Per accedere al file, passare a Git>Impostazioni>Impostazioni repository Git. Quindi, nella sezione file Git, selezionare Aggiungi per creare un file .gitignore, oppure selezionare Modifica se ne è già disponibile uno.

  • Abilitare il commit graph negli strumenti di Git

    Novità di Visual Studio 2022 versione 17.2: se si verificano ritardi quando si visualizza il repository Git o la cronologia dei rami in Visual Studio, è stata integrata una funzionalità "commit graph" che può essere utile. Per usare il grafico commit, assicurati di scaricare e installare Visual Studio 2022. Per ulteriori informazioni sul grafo dei commit, vedere il post del blog Supercharge your Git experience in Visual Studio.

Forzare una raccolta dei rifiuti

Il CLR utilizza un sistema di gestione della memoria tramite Garbage Collection. In questo sistema, a volte la memoria viene usata dagli oggetti che non sono più necessari. Questo stato è temporaneo; Il Garbage Collector rilascia questa memoria in base alle prestazioni e all'euristica dell'utilizzo delle risorse. È possibile forzare CLR a raccogliere qualsiasi memoria inutilizzata usando un tasto di scelta rapida in Visual Studio. Se è presente una quantità significativa di rifiuti in attesa di raccolta e si forza un'operazione di raccolta della memoria, verrà visualizzato l'utilizzo della memoria del processo di devenv.exe in Gestione attività. Raramente è necessario usare questo metodo. Tuttavia, dopo il completamento di un'operazione costosa ,ad esempio una compilazione completa, una sessione di debug o un evento aperto della soluzione, può essere utile determinare la quantità di memoria effettivamente usata dal processo. Poiché Visual Studio è misto (gestito & nativo), occasionalmente è possibile che l'allocatore nativo e il Garbage Collector competano per risorse di memoria limitate. In condizioni di utilizzo elevato della memoria, può essere utile forzare l'esecuzione della raccolta di rifiuti.

Per forzare un'operazione di Garbage Collection, usare questa scelta rapida da tastiera: CTRL+ALT+MAIUSC+F12, CTRL+ALT+MAIUSC+F12 (premere due volte).

Se l'uso forzato di Garbage Collection rende affidabile il funzionamento dello scenario, inviare un report tramite lo strumento di feedback di Visual Studio poiché questo comportamento è probabilmente un bug.

Per una descrizione dettagliata del Garbage Collector CLR, vedere Fundamentals of Garbage Collection.