Dicas e truques de desempenho do Visual Studio
As recomendações de desempenho do Visual Studio destinam-se a situações de memória baixa, que podem ocorrer em casos raros. Nessas situações, você pode otimizar determinados recursos do Visual Studio que talvez você não esteja usando. As dicas a seguir não se destinam a recomendações gerais.
Nota
Se você estiver tendo dificuldades para usar o produto devido a problemas de memória, informe-nos por meio da ferramenta de comentários .
Usar um sistema operacional de 64 bits
Se você atualizar seu sistema de uma versão de 32 bits do Windows para uma versão de 64 bits, expanda a quantidade de memória virtual disponível para o Visual Studio de 2 GB para 4 GB. Uma atualização do sistema operacional de 64 bits permite que o Visual Studio lide com cargas de trabalho maiores.
Para obter mais informações, confira Limites de Memória para as versões do Windows e do Windows Server.
Dica
O Visual Studio 2022 no Windows é um aplicativo de 64 bits. As versões anteriores são de 32 bits.
Desabilitar a restauração automática de arquivo
O Visual Studio reabre automaticamente documentos que foram deixados abertos na sessão anterior. Essa ação de restauração automática de arquivo pode prolongar os tempos necessários para carregar uma solução em até 30% ou mais, dependendo do tipo de projeto e dos documentos que estão sendo abertos. Designers como Windows Forms e XAML e alguns arquivos JavaScript e TypeScript podem ser lentos para abrir.
O Visual Studio notifica você em uma barra amarela quando a restauração automática de documentos está fazendo com que uma solução seja carregada mais lentamente. Você pode desabilitar a reabertura automática de arquivos seguindo estas etapas:
Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções.
Na página Projetos e Soluções>Geral, desmarque a opção Reabrir documentos ao carregar a solução.
Se você desabilitar a restauração automática de arquivos, uma maneira rápida de navegar até os arquivos que deseja abrir é usando um dos comandos Ir para:
Para a funcionalidade geral Ir para, selecione Editar>Ir para>Ir para Todos osou pressione Ctrl+T.
Vá para a localização da última edição em uma solução usando Editar>Ir para>Ir para Localização da Última Edição ou pressionando Ctrl+Shift+Backspace.
Use Ir para o Arquivo Recente para ver uma lista de arquivos visitados recentemente em uma solução. Selecione Editar>Ir para>Arquivo Recente, ou pressione Ctrl+1, Ctrl+R.
Configurar opções de debugging
Se normalmente estiver com pouca memória durante as sessões de depuração, você poderá otimizar o desempenho fazendo uma ou mais mudanças de configuração.
Habilitar Apenas Meu Código
A otimização mais simples é habilitar o recurso Just My Code, que carrega apenas símbolos para seu projeto. Habilitar esse recurso pode resultar em uma economia significativa de memória para depurar aplicativos gerenciados (.NET). Essa opção já está habilitada por padrão em alguns tipos de projeto.
Para habilitar o Apenas Meu Código, escolha Ferramentas>Opções>Depuração>Geral e selecione Habilitar Apenas Meu Código.
Especificar símbolos para carregar
Para depuração nativa, a carga de arquivos de símbolo (.pdb) consome muitos recursos de memória. Você pode definir as configurações de símbolo de depuração para economizar memória. Normalmente, você configura a solução para carregar apenas módulos do seu projeto.
Para especificar o carregamento de símbolos, escolha Ferramentas>Opções>Depuração>Símbolos.
Defina as opções para Carregar apenas módulos especificados em vez de Carregar todos os módulose especifique quais módulos você deseja carregar. Durante a depuração, você também pode clicar com o botão direito do mouse em módulos específicos na janela Módulos para incluir explicitamente um módulo no carregamento de símbolo. (Para abrir a janela durante a depuração, escolha Depuração>Janelas>Módulos.)
Para obter mais informações, confira Especificar arquivos de símbolo e de origem no depurador.
Desabilitar Ferramentas de Diagnóstico
É recomendável desabilitar a criação de perfil da CPU após o uso. Esse recurso pode consumir grandes quantidades de recursos. Depois que a criação de perfil da CPU estiver habilitada, esse estado será mantido nas sessões de depuração subsequentes, portanto, vale a pena desativá-la explicitamente quando terminar. Você pode economizar recursos desabilitando as ferramentas de diagnóstico durante a depuração se não precisar dos recursos fornecidos.
Para desabilitar as Ferramentas de Diagnóstico, inicie uma sessão de depuração, selecione Ferramentas>Opções>Depuração>Gerale, em seguida, desmarque a opção Habilitar Ferramentas de Diagnóstico durante a depuração.
Para obter mais informações, confira Ferramentas de Criação de Perfil.
Desabilitar ferramentas e extensões
Algumas ferramentas ou extensões podem ser desativadas para melhorar o desempenho.
Dica
Geralmente, você pode isolar problemas de desempenho desativando extensões uma de cada vez e verificando novamente o desempenho.
Serviço de linguagem gerenciada (Roslyn)
Para obter informações sobre as considerações de desempenho da Plataforma do Compilador .NET ("Roslyn"), consulte considerações de desempenho para soluções grandes.
Desabilitar CodeLens
O Visual Studio executa uma tarefa Localizar todas as referências em cada método como exibido. O CodeLens fornece recursos como a exibição embutida do número de referências. O trabalho é executado em um processo separado, como ServiceHub.RoslynCodeAnalysisService32. Em soluções grandes ou em sistemas com restrição de recursos, esse recurso pode ter um impacto significativo no desempenho. Se você estiver enfrentando problemas de memória, por exemplo, ao carregar uma solução grande em um computador de 4 GB ou alto uso de CPU para esse processo, poderá desabilitar o CodeLens para liberar recursos.
Para desabilitar CodeLens, escolha Tools>Options>Text Editor>All Languages>CodeLense desmarque o recurso.
Para obter mais informações, confira Localizar alterações de código e outros históricos com o CodeLens.
Outras ferramentas e extensões
Desabilitar extensões
Extensões são componentes de software adicionais adicionados ao Visual Studio que fornecem novas funcionalidades ou estendem a funcionalidade existente. As extensões geralmente podem ser uma fonte de problemas de recursos de memória. Se você estiver enfrentando problemas de recursos de memória, tente desabilitar extensões uma de cada vez para ver como ela afeta o cenário ou o fluxo de trabalho.
Para desabilitar extensões, acesse Extensões>Gerenciar Extensõese desabilite uma extensão específica.
Desabilitar o modo de mapa
modo mapa exibe linhas de código, em miniatura, na barra de rolagem. O modo de mapa está habilitado por padrão.
Para desabilitar o modo de mapa, acesse Tools>Options>Text Editor>All Languages>Scroll Barse, na seção comportamento, desmarque a opção Usar modo de mapa para barra de rolagem vertical.
Desabilitar quebra de linha de palavras
Quebra automática de linha exibe a parte de uma longa linha de código que se estende além da largura atual da janela do editor de código. O encapsulamento do Word está ativado por padrão.
Para desabilitar a quebra de linha de palavras para um projeto no qual você está trabalhando no momento, vá para Editar>Avançado>Quebrar linha de palavras. (Você pode alternar essa configuração usando os mesmos comandos de menu.)
Para desabilitar a quebra de linha de palavras para todos os projetos, acesse Ferramentas>Opções>Geral>Editor de Texto>Todas as Linguagens>Geral e, na seção Configurações, desmarque a opção Quebrar linha de palavras.
Desabilitar o Designer XAML
O Designer de XAML é habilitado por padrão, mas só consome recursos se você abrir um arquivo .xaml. Se você trabalha com arquivos XAML, mas não deseja usar a funcionalidade do designer, desabilite esse recurso para liberar memória.
Para desabilitar o Designer XAML, vá para Ferramentas>Opções>Designer XAML>Habilitar Designer XAML, e desmarque a opção.
Remover as cargas de trabalho
Você pode usar o Instalador do Visual Studio para remover cargas de trabalho que não são mais usadas. Essa ação pode simplificar o custo de inicialização e de runtime ignorando pacotes e assemblies que não são mais necessários.
Adicionar arquivos não rastreados ao .gitignore local
O Visual Studio executa o comando git
git status
com arquivos não rastreados para fornecer uma experiência perfeita quando você adiciona novos arquivos a um repositório. Quando há um grande número de arquivos não rastreados,git status
pode consumir memória extra. Para ignorar esses arquivos e melhorar o desempenho degit status
, você pode adicionar esses arquivos ou pastas ao arquivo .gitignore local. Para acessar o arquivo, acesse Configurações do Git>>Configurações do Repositório Git. Em seguida, na seção arquivos Git, selecione Adicionar para criar um arquivo .gitignore ou selecione Editar se você já tiver um.Habilitar o grafo de confirmação nas ferramentas do Git
Novo no Visual Studio 2022 versão 17.2: Se você estiver enfrentando atrasos ao exibir seu repositório Git ou histórico de ramificação no Visual Studio, integramos um recurso de "grafo de confirmação" que pode ser útil. Para usar o grafo de confirmação, faça o download e instale o Visual Studio 2022. Para saber mais sobre o grafo de commits, consulte o post do blog Fortaleça sua experiência com o Git no Visual Studio.
Forçar uma coleta de lixo
O CLR usa um sistema de gerenciamento de memória de coleta de lixo. Nesse sistema, às vezes, a memória é usada por objetos que não são mais necessários. Esse estado é temporário; o coletor de lixo libera essa memória com base em seu desempenho e heurística de uso de recursos. Você pode forçar o CLR a coletar qualquer memória não usada usando uma chave de acesso no Visual Studio. Se houver uma quantidade significativa de lixo aguardando a coleta e você forçar uma coleta de lixo, você deverá ver o uso de memória do processo devenv.exe ser deixado no Gerenciador de Tarefas. Raramente é necessário usar esse método. No entanto, depois que uma operação cara for concluída (como um build completo, uma sessão de depuração ou um evento aberto de solução), ela pode ajudá-lo a determinar a quantidade de memória que realmente está sendo usada pelo processo. Como o Visual Studio é misto (gerenciado e nativo), geralmente é possível que o alocador nativo e o coletor de lixo disputem pelos recursos de memória limitada. Em condições de alto uso de memória, pode ser útil forçar o coletor de lixo a ser executado.
Para forçar uma coleta de lixo, use este atalho de teclado: Ctrl+Alt+Shift+F12, Ctrl+Alt+Shift+F12 (pressione duas vezes).
Se forçar a coleta de lixo de forma confiável faz seu cenário funcionar, relate isso na ferramenta de comentários do Visual Studio, pois esse comportamento provavelmente trata-se de um bug.
Para obter uma descrição detalhada do coletor de lixo CLR, consulte conceitos básicos da coleta de lixo.