André Alves de Lima

Talking about Software Development and more…

Conheça o que vem aí na próxima versão do Visual Studio

A próxima versão do Visual Studio, até agora denominada Visual Studio “15” e que provavelmente se chamará Visual Studio 2017 (se a Microsoft continuar com a mesma estratégia de nomenclatura), está atualmente em Preview 5. Indiscutivelmente, o foco dessa versão tem sido a melhoria de performance nos mais diversos aspectos do Visual Studio, indo desde a experiência de instalação até a responsividade do editor, passando pelo tempo de carregamento do Visual Studio e tempo de carregamento das soluções. Tudo isso está sendo otimizado para que nós, desenvolvedores, não percamos tempo desnecessário e foquemos no que realmente nos interessa: programar.

Instalação mais rápida e limpa

A primeira experiência que temos com qualquer aplicação é com o seu instalador. Se o processo de instalação de um aplicativo apresenta problemas ou demora demais, nós já ficamos com um pé atrás. Esse é um comportamento natural dos seres humanos. Com certeza você já deve ter ouvido aquela expressão que “a primeira impressão é a que fica“, não é mesmo?

Pois bem. Se você já instalou qualquer edição do Visual Studio até a 2015, você sabe que o processo é demorado e toma um espaço considerável em disco. Não é à toa que a maior reclamação sobre o Visual Studio no Twitter diz respeito ao tempo de instalação e/ou o espaço em disco necessário.

Se para nós já era claro que a experiência de instalação do Visual Studio era demorada, imagina só para a Microsoft, que provavelmente ouve essa reclamação diariamente?

Para melhorar o tempo de download e instalação do Visual Studio, a Microsoft reconstruiu do zero o instalador para a próxima versão do Visual Studio:

Como você pode perceber, o novo instalador está dividido em “bundles“, que você deverá escolher dependendo das suas necessidades. Até o instalador do Visual Studio 2015, você tinha que escolher exatamente os itens que você gostaria de instalar, tendo que tomar cuidado para não esquecer um item que seja imprescindível nos seus projetos. Eu vejo muita gente escolhendo fazer a instalação completa por não saber exatamente o que escolher, justamente porque uma lista com 100 opções para selecionar deixa qualquer pessoa confusa.

Os “bundles” foram introduzidos para acabar com essa confusão. Seus nomes são mais claros e objetivos. Você desenvolve aplicativos desktop? Então é uma boa ideia marcar o item “.NET desktop development“. Você só trabalha com desenvolvimento web? Então provavelmente você não precisará desse “bundle“, mas sim, do “Web Development“.

Além disso, a Microsoft está criando agora a opção de instalação “Visual Studio Core Editor“, que instalará somente o editor, compiladores, ferramentas de debugging e suporte a controle de versão (TFS/Git). Essa instalação mínima só consumirá aproximadamente 325 Mb em disco, ao invés dos 6 Gb necessários para a instalação mínima do Visual Studio 2015.

Por fim, toda essa experiência de instalação ficará ainda melhor, porque a Microsoft otimizou o processo e, teoricamente, a instalação deverá demorar muito menos tempo do que a instalação do Visual Studio 2015. O Giovanni Bassi cronometrou o tempo de instalação do Visual Studio “15” e o resultado foi surpreendente: 2 minutos e meio para concluir a instalação do “Visual Studio Core Editor” e 13 minutos para concluir a instalação do Visual Studio com as ferramentas para desenvolvimento web. Muito melhor do que os tempos de instalação do Visual Studio 2015.

Mais para a frente eu também quero fazer um teste parecido, utilizando duas máquinas virtuais idênticas no Microsoft Azure, uma instalando o Visual Studio 2015 completo e outra instalando o Visual Studio “15” completo, ambas a partir da ISO (que ainda não está disponível para as versões de Preview do Visual Studio “15” – por isso que eu ainda não fiz o teste).

Se você quiser saber mais sobre o novo instalador da próxima versão do Visual Studio, confira estes links:

Faster, Leaner, Focused on Your Development Needs: The New Visual Studio Installer

Visual Studio “15”: Installing Just What You Need

Anatomy of a Low Impact Visual Studio Install

Testamos o tempo de instalação do Visual Studio “15”

Domingo Surpresa – Visual Studio “15” Preview 5

Melhorias de performance: inicialização e carregamento de soluções

Não é só a experiência de instalação que está sendo melhorada na próxima versão do Visual Studio. Como eu mencionei no início do post, a Microsoft está focando muito na melhoria de performance dos mais diversos aspectos do Visual Studio “15“.

Como você deve saber, a inicialização do Visual Studio pode ser um tanto quanto demorada em alguns computadores. Em especial, a primeira execução do Visual Studio (first launch) tende a ser bem demorada. Isso acontece porque vários caches são criados nessa primeira execução do Visual Studio (como MEF, extensões, caixa de ferramentas, fontes, etc).

No Visual Studio “15“, a Microsoft alterou a criação de várias dessas caches para um modelo assíncrono. O que não deu para ser feito assíncrono, ela alterou para um modelo “deferido“, ou seja, alguns componentes só serão carregados quando o Visual Studio perceber que você precisará deles (como a caixa de ferramentas e lista de fontes, por exemplo). Todas essas melhorias resultaram em uma primeira execução do Visual Studio “15” que é 3 vezes mais rápida do que o Visual Studio 2015.

Já quanto às outras inicializações, a Microsoft implementou a possibilidade do carregamento assíncrono e “on-demand” de extensões. Porém, eu posso estar errado, mas, pelo que eu entendi, isso não será automático. Cada autor de extensão deverá implementar esse suporte em cada uma das suas extensões. Dessa forma, nós ainda vamos demorar um pouco para sentirmos o efeito dessa melhoria. Até o momento, a Microsoft implementou o esquema de carregamento sob demanda para as extensões da Xamarin e do Python.

Outra melhoria que a Microsoft está implementando nesse aspecto é uma janela que mostrará quais extensões e janelas de ferramentas que estão afetando negativamente o carregamento do seu Visual Studio. Nessa janela você pode decidir o que fazer com esses itens (desativar a extensão/ferramenta ou mantê-la ativada mesmo assim):

Além disso, a Microsoft adicionou uma outra funcionalidade que melhorará o tempo de carregamento de soluções grandes. Essa nova funcionalidade está sendo chamada de “Lightweight Solution Load“. Essa opção não virá habilitada por padrão e você só deve ativá-la caso você trabalhe com soluções médias ou grandes (Tools -> Options -> Projects and Solutions -> General -> Lightweight Solution Load). Com essa funcionalidade ativada, ao carregar uma solução, você ainda conseguirá navegar pelo código (com “Navigate To“, “Go to definition“, “Find all references“, etc), aplicar refactorings e compilar a solução. Porém, algumas operações serão feitas somente sob demanda.

Veja só este vídeo que a Microsoft gravou comparando o tempo de abertura da solução do Roslyn (que é composta por centenas de projetos) no Visual Studio 2015 e Visual Studio “15“:

Para saber mais sobre essas melhorias do Visual Studio, confira estes links:

Faster Visual Studio “15” Startup

Shorter Solution Load Time in Visual Studio “15”

Redução nos estouros de memória

Não sei se você sabe, mas, o Visual Studio ainda é um executável 32 bits. Isso quer dizer que o seu processo é limitado a 4 Gb de memória RAM. Uma vez que o processo do Visual Studio ultrapassa esse limite, duas coisas podem acontecer: ou ele começa a não funcionar direito (começa a agir de modo “estranho“) ou ele trava por completo, dando um erro de “out of memory“. Você provavelmente já passou por essas situações. Todo desenvolvedor Microsoft sabe que, quando o Visual Studio começa a não funcionar direito, é hora de fechar e abrir de novo. Isso provavelmente acontece porque o processo estava chegando perto do limite de 4 Gb de memória.

Para melhorar essa situação na nova versão do Visual Studio, a Microsoft está separando várias ferramentas em sub-processos. Dessa forma, ela diminui a carga do processo principal (devenv.exe), reduzindo, consequentemente, a chance de o Visual Studio travar por falta de memória.

Um dos serviços que foram migrados para um processo separado foi o serviço que implementa a compatibilidade com o Javascript no Visual Studio (IntelliSense para o Javascript, navegação dentro de arquivos Javascript, etc), que é necessário em aproximadamente um terço das soluções.

Outro serviço substituído nessa otimização foi o suporte ao Git. A versão 2015 do Visual Studio utiliza internamente uma biblioteca chamada “libgit2” para implementar as funcionalidades do Git. Na nova versão do Visual Studio a Microsoft está substituindo essa biblioteca pelo uso direto do executável “git.exe“, o que obviamente reduziu a utilização de memória do processo principal, além de ter trazido também diversas melhorias de responsividade.

Por fim, a Microsoft está otimizando o carregamento de símbolos (arquivos pdb) durante o processo de debugging. Em algumas situações o Visual Studio estava carregando mais arquivos de símbolos do que era necessário, e isso foi corrigido.

Para mais informações sobre esse tema, confira este link:

Reduced Out of Memory Crashes in Visual Studio “15”

Responsividade melhorada

Sabe quando tentamos digitar algum código no editor do Visual Studio e o editor parece que trabalha em “slow motion“? Sabe aquela impressão que enquanto estamos digitando a terceira palavra o editor ainda nem acabou de digitar a primeira palavra? Ou quando clicamos em alguma opção e o Visual Studio dá aquela travada até fazer o que deveria ser feito? Ou até mesmo quando clicamos no botão para iniciar e a aplicação e o modo de debugging demora a iniciar? Obviamente a Microsoft procura melhorar a responsividade dessas operações a cada nova versão do Visual Studio.

No Visual Studio “15” a Microsoft está removendo o processo host para aplicações WPF, Windows Forms e Console em tempo de debugging. Não sei se você já percebeu, mas, quando debugamos uma aplicação desse tipo, o Visual Studio inicia um processo com extensão “.vshost.exe“. Esse processo servia para deixar o próximo processo de debugging mais rápido. Porém, ele estava causando uma certa lerdeza quando clicávamos no botão para parar a execução da aplicação (inclusive para outros tipos de projetos que nem utilizavam esse host, como projetos ASP.NET, UWP, etc). Por isso a Microsoft decidiu removê-lo e otimizou o processo de debugging de forma que ele está mais rápido do que no Visual Studio 2015, e sem o problema da lerdeza ao clicarmos no botão para parar a execução da aplicação.

Além disso, a Microsoft melhorou também a performance do editor XAML, principalmente no que diz respeito à mudança de uma tab para outra. Muito do trabalho que era feito diretamente no editor será feito agora em uma thread em segundo plano, o que melhorou consideravelmente o tempo de resposta do editor.

Por fim, na janela “Manage Visual Studio Performance” nós encontraremos agora uma lista de extensões que estão possivelmente causando aquela sensação de lerdeza do editor (será que o ReSharper vai aparecer nessa lista?):

Para saber mais sobre as melhorias de responsividade no Visual Studio “15”, confira este link:

Improved overall Visual Studio “15” Responsiveness

Melhorias de produtividade

Não são só melhorias de performance que a Microsoft está implementando na próxima versão do Visual Studio. Além de tudo funcionar mais rápido, ela também está trazendo diversas novas funcionalidades muito interessantes. Dessas novas funcionalidades, duas me chamaram a atenção. A primeira delas é o fato que o IntelliSense agora está ficando mais inteligente, filtrando e selecionando automaticamente as opções disponíveis de acordo com o contexto. Ou seja, se você está chamando um método que recebe um tipo específico de objeto, o IntelliSense automaticamente selecionará e/ou filtrará as opções de forma que somente objetos do tipo esperado sejam exibidos na lista.

A segunda funcionalidade que me chamou a atenção foi o “Run to Click“. Sabe quando estamos debugando um código e queremos que a execução avance até uma certa linha? Nesse caso nós normalmente colocamos um breakpoint e apertamos “F5” para o programa rodar até aquele ponto. Com essa nova funcionalidade, nós não precisamos mais disso. Um novo botão será exibido no começo de cada linha de código, cuja função será fazer com que a execução corra até a linha escolhida. Veja só que legal o novo botãozinho verde com símbolo de “avançar” no editor de texto:

Para dar uma olhada em outras funcionalidades de produtividade que estão sendo adicionadas no Visual Studio “15“, acesse este link:

Announcing Visual Studio “15” Preview 5

Onde baixar?

Gostou do que viu até aqui? Quer baixar a versão de preview para testar você mesmo? É só acessar este link:

http://aka.ms/vs/15/preview/vs_enterprise

Só tome cuidado porque existem alguns problemas de compatibilidade com versões anteriores do Visual Studio “15“, que podem até mesmo fazer com que funcionalidades do Visual Studio 2015 parem de funcionar. Sugiro que você dê uma olhada neste post do Renato Groffe para saber exatamente quais são esses problemas de compatibilidade.

Concluindo

A nova versão do Visual Studio está trazendo diversas melhorias de performance, responsividade, redução na utilização de memória, além de várias novas funcionalidades que aumentarão a sua produtividade no desenvolvimento dos seus aplicativos. Neste post você conferiu uma lista completa de todas as novas funcionalidades e melhorias divulgadas até agora e já disponíveis no Preview 5. Não perca tempo, baixe agora mesmo e fique por dentro das novidades você também!

O que você achou das melhorias que estão por vir na próxima versão do Visual Studio? Deixe a sua opinião na caixa de comentários!

Por fim, convido você a inscrever-se na minha newsletter. Ao fazer isso, você receberá um e-mail toda semana sobre o artigo publicado e ficará sabendo também em primeira mão sobre o artigo da próxima semana, além de receber dicas “bônus” que eu só compartilho por e-mail. Inscreva-se utilizando o formulário logo abaixo.

Até a próxima!

André Lima

Images by MSDN
https://blogs.msdn.microsoft.com/visualstudio/2016/10/05/announcing-visual-studio-15-preview-5/

Newsletter do André Lima

* indicates required



Powered by MailChimp

10 thoughts on “Conheça o que vem aí na próxima versão do Visual Studio

  • André Rogério Bononi disse:

    Olá, André.

    Bem interessante estas novas funcionalidades e melhorias. Duas me chamaram a atenção, em particular. A rapidez na inicialização do Visual Studio e a “flechina verde” para execução até o ponto. Bem interessante mesmo.

    Agora, eu vou te deixar uma pergunta. No Visual Studio 2010 (não verifiquei no 2015, ainda), eu sofro com um problema que não coniso detectar qual é.

    Quando, por qualquer motivo, preciso formatar minha máquina ou, por exemplo, quando migrei do Windows 7 para o Windows 10, todos os meus projetos dão um erro de Compilação em relação à pasta Bin e Obj. Diz que estas pasta estão sendo usads em outro processo. Normalmente, preciso fechar o visual studio e excluir estas duas pastas para conseguir compilar a solução. Aí funciona, mas, ao fazer qualquer alteração no projeto, o problema reaparece.

    Vou convivendo com isso! Abraços!!!!

    • andrealveslima disse:

      Olá André, obrigado pelo comentário!

      Cara, você já deu uma olhada nas permissões da pasta onde o seu projeto está armazenado? Pode ser que o Visual Studio não esteja com as permissões necessárias para criar arquivos nessas pastas, aí você pode receber erros na hora da compilação.. Qual é extamente o erro que você recebe?

      De qualquer forma, eu recomendaria que você fizesse o upgrade para alguma versão mais nova do Visual Studio.. A 2010 já é bem antiga e, a não ser que você tenha uma razão muito específica para ainda estar utilizando essa versão, eu faria um upgrade para o 2015..

      Abraço!
      André Lima

  • Frederico Oliveira disse:

    Excelente artigo.

    No meu antigo PC “de poucos meses atrás” era realmente triste usar o VS2015, agora que troquei completamente o PC, não tenho mais problemas de travadas, o que incomoda mesmo é a primeira inicialização do VS2015.

    Futuramente pretendo testar esta nova versão.

    • andrealveslima disse:

      Olá Frederico, obrigado pelo comentário!

      Realmente o Visual Studio pesa em computadores mais antigos.. Não é qualquer computador que roda ele com uma performance aceitável.. Vamos ver se essas melhorias da próxima versão do Visual Studio vão realmente fazer a diferença.. :)

      Abraço!
      André Lima

  • Renato Groffe disse:

    Parabéns pelo excelente post André e obrigado pela menção!

  • Frederico Simões disse:

    André meus parabéns pelo excelente artigo publicado.

    Uma pergunta. Sabe dizer se a Microsoft irá liberar uma versão gratuita como a Community disponível hoje no 2015?

    Obrigado mais uma vez pelos excelentes artigos!

    • andrealveslima disse:

      Olá Frederico, muito obrigado pelo comentário!

      Não dá para saber, mas, tomando como base a atitude da Microsoft nas últimas releases do Visual Studio, acredito que ela disponibilizará a próxima versão no estilo “Community” também.. A Microsoft está cada vez mais liberando as ferramentas de forma gratuita, acho que não faz sentido ela parar com essa estratégia na próxima versão..

      Abraço!
      André Lima

      • Frederico Oliveira disse:

        A microsoft a alguns anos tinha um pensamento fechado em relação a sua plataforma, fez um belo teste lançando um sistema mobile muito elogiado, tanto pela segurança como velocidade, o problema é que ela demorou a entrar no seguimento e quando entrou não soube conquistar desenvolvedores e fábricas para adotarem o sistema, ficando sempre em 3º lugar na disputa.
        Agora com esta guinada para open source com diversos programas gratuitos “Visual Studio Code”, “reconhecimento facial”, junto com uma distro Linux dentro da plataforma Microsoft, se eu levantasse esta questão a 5 anos, eu tomaria até porrada.

        É muito importante manter softwares free para a comunidade usar e assim querer lançar produtos, pois existem plataformas robustas e que não exige pagamento para se usar como o Android Studio, Netbeans entre outras.

        Eu tenho gostado bastante desta nova mentalidade da empresa, que em primeiro lugar está colocando o desenvolvedor. Arrisco a dizer que estamos na melhor época da história para ser um desenvolvedor.

        Um abraço

        • andrealveslima disse:

          Olá Frederico!

          Concordo plenamente com você.. Realmente a Microsoft “perdeu o bonde” do mobile.. Não sei se tem como recuperar agora, talvez seja um jogo perdido.. E quanto a manter softwares gratuitos para a comunidade, sem dúvida alguma é uma estratégia importante.. Por isso eu acho que a Microsoft não vai voltar atrás com esse esquema da edição “Community” nas próximas versões..

          Enfim, vamos aproveitar essa época que, como você mesmo disse e eu concordo, é a melhor época na história do desenvolvimento de software! Bora desenvolver!

          Abraço!
          André Lima

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *