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:
- Adicionar métodos
- Adicionar campos
- Adicionar construtores
- Adicionar propriedades
- Adicionar eventos
- Adicionar indexadores
- Adicionar inicializadores de campos e propriedades
- Adicionar delegates, enums, interfaces, tipos abstratos e genéricos
- Modificar o código do construtor
- Modificar os métodos que usam sintaxe lambda(expression-bodied members)
- Modificar inicializadores de campos e propriedades.
- Adicionar e modificar métodos que usam recursos pós 2005
- Async/await
- Operações com objetos dynamic
- Interadores
- Recursos do C# 6, como: string interpolation, null-conditional e outros.
- Reordenar membros do tipo
- Reordenar parâmetros tipos em tipos genéricos
- 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:
- Deleção de membros
- Deleção de tipos
- Deleção de métodos
- Modificação de assinatura de método
- Modificação de nome de método
- Modificação de generics, interfaces e tipos abstratos
- Adicionar ou modificar novos itens em um enum já existente
- 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:
- Coloque um Breakpoint em seu código onde a variável que você quer acompanhar fique no escopo.
- Execute seu código e deixe a execução parar no breakpoint que você colocou
- Na janelas Locals ou nas Auto Windows, clique com o botão direito, e selecione a opção Make Object ID
- Agora você deverá ver algo assim na coluna de valor
- Então o novo valor do Object Id é gerado
- Agora coloque a variável na janela Watch usando seu Object ID, no caso 1#
- 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
[youtube]CocaZosG8nk[/youtube]