7870.monkeyhoverboard2[1]

Edit & Continue Debug Visual Studio 2015


Fala galera, beleza?!

Desde 2005 o Visual Studio tem suporte a função de Edit & Continue, que é basicamente uma função que permite você enquanto estiver debugando, editar o código sem parar de debugar.

Edit & Continue Debug Visual Studio 2015

O Visual Studio 2015 vai trazer um bocado de novidades bem legais, e essa é uma das principais. Diga adeus ao precário suporte a edit & continue anos 2005, agora com essa nova versão você vai poder fazer:

  1. Adicionar métodos
  2. Adicionar campos
  3. Adicionar construtores
  4. Adicionar propriedades
  5. Adicionar eventos
  6. Adicionar indexadores
  7. Adicionar inicializadores de campos e propriedades
  8. Adicionar delegates, enums, interfaces, tipos abstratos e genéricos
  9. Modificar o código do construtor
  10. Modificar os métodos que usam sintaxe lambda(expression-bodied members)
  11. Modificar inicializadores de campos e propriedades.
  12. Adicionar e modificar métodos que usam recursos pós 2005
    1. Async/await
    2. Operações com objetos dynamic
    3. Interadores
    4. Recursos do C# 6, como: string interpolation, null-conditional e outros.
  13. Reordenar membros do tipo
  14. Reordenar parâmetros tipos em tipos genéricos
  15. Refatorar código usando o CTRL + .

O que ainda não é suportado

Bom apesar de trazer varias melhorias, ainda, algumas coisas não são suportadas, veja a lista a seguir:

  1. Deleção de membros
  2. Deleção de tipos
  3. Deleção de métodos
  4. Modificação de assinatura de método
  5. Modificação de nome de método
  6. Modificação de generics, interfaces e tipos abstratos
  7. Adicionar ou modificar novos itens em um enum já existente
  8. Modificar expressões que contém await dentro de parenteses

Object IDs

O Visual Studio desde a versão 2008, tem um recurso muito legal, o Object ID. Esse recurso permite que você possa acompanhar o valor de uma variável mesmo quando não estiver no escopo dela. Para usar esse recurso hoje, siga os passos:

  1. Coloque um Breakpoint em seu código onde a variável que você quer acompanhar fique no escopo.
  2. Execute seu código e deixe a execução parar no breakpoint que você colocou
  3. Na janelas Locals ou nas Auto Windows, clique com o botão direito, e selecione a opção Make Object IDMake Object ID
  4. Agora você deverá ver algo assim na coluna de valor
  5. Então o novo valor do Object Id é gerado
  6. Agora coloque a variável na janela Watch usando seu Object ID, no caso 1#
  7. Agora, quando você entrar em outro método, você ainda continuara vendo sua variável na janela

Se você quiser entender mais sobre esse recurso, de uma olhada nesse link: http://www.wintellect.com/CS/blogs/jrobbins/archive/2008/04/18/finding-an-object-s-gc-generation-in-the-visual-studio-debugger.aspx

Esse recurso foi alterado na versão 2015, agora a sintaxe é um pouco diferente, ao invés de usar 1# você vai usar o simbolo $ antes do número, ficando dessa forma $1. Além disso, ele também vai dispor de um IntelliSense para os Object IDs já criados, e essa mudança de sintaxe torna mais consistente com as pseudo-variáveis, como por exemplo $exception.

Bom galera, por hoje é isso, curta abaixo o vídeo que fiz mostrando um pouco do Edit & Continue em ação.

Edit & Continue Debug em ação


sobre Alberto Monteiro

Desenvolvedor no Grupo Fortes, cuja principal área de conhecimento são em tecnologias Microsoft, como Windows Forms / Services, WPF, ASP.NET(MVC/WEB API), Windows Phone, EF. Gosta de sopa de letrinhas(SOLID, DDD, TDD, BDD, IoC, SoC, UoW), possui aplicações de Windows Phone publicadas no marketplace, já contribuiu no jQuery UI. Atualmente trabalha com ASP.NET MVC / Web API, Windows Azure, Amazon AWS, jQuery/UI, Knockout, EF, Ninject, AutoMapper, Restfulie, SignalR, KendoUI.