SETEMBRO, 2010 | SÃO PAULO
Instruções gerais (hidden slide):Instruções aos palestrantes: Complete este slide para que o Track Owner avalie a sequência da sua apresentação, tópicos cobertos, integração das demos e alinhamento do conteúdo com a descrição e nível da sessão. Título: Dicas, truques do Visual Studio 2010 e novas funcionalidades do Visual Basic e C#
NívelTécnico: 200
Audiênciafoco: Developers
Objetivos (quaissão as trêsprincipaismensagensquevocêgostariaque a audiênciaabsorva):
1 Mostrar as novasfuncionalidades da IDE do VS 2010
2 Novidades das linguagens C# e VB.NET
3Dicas e Truques
Sequência da suaapresentação (incluindo as demos):CÓDIGO DA SESSÃO:DEV 203Dicas, truques do Visual Studio 2010 e novas funcionalidades do Visual Basic e C#João Paulo Clementi (JP)www.jpclementi.comMicrosoft BrasilRenato HaddadMVP, MCT, MCTS, MCPDrehaddad@msn.com www.renatohaddad.comhttp://weblogs.asp.net/renatohaddad
AgendaVS 2010, Visual Basic e C#Visual Studio 2010 e suas novidades da IDENovidades das linguagens e recursos do VB e C#Linguagem Paralela
Novidades  da IDE
Lista de NovidadesBreakpoint LabelingBreakpoint SearchingBreakpoint Import/ExportDynamic Data ToolingWPF Tree VisualizerCall HierarchyImproved WPF ToolingHistorical DebuggingMini-Dump DebuggingQuick SearchBetter Multi-Monitor SupportHighlight ReferencesParallel Stacks WindowParallel Tasks WindowDocument Map MarginGenerate from UsageConcurrency ProfilerExtensible Test RunnerMVC ToolingWeb DeployJQuery IntelliSenseSharePoint ToolingHTML SnippetsWeb.config TransformationClickOnce Enhancements for Microsoft Office
MuitasfuncionalidadesnovasFoco em funcionalidades específicasPertinente para a maioria dos desenvolvedoresFuncionalidades avançadas em outro momento…
Faces do Visual Studio 2010Visual Studio como um EditorVisual Studio comoumaPlataforma
… Como um EditorUm foco aprimorado em… Escrever o código Entender o códigoNavegar o código Publicar o códigoShell reescrita utilizando WPFAdiciona muitas outras funcionalidades
… Como uma PlataformaVisual Studio 2010 suporta uma galeria de extensõesEstimulando um mercado de terceiros
Linguagens VB e C# 2010Novo no VS 2010Existentes no VS 2008
Recursos da IDE VB & C# 2010Novo no VS 2010Existentes no VS 2008
Melhoriasgerais – Front EndStart pageReescrita utilizando XAML: fácil de customizarLista de projetos recentes - Maior controle Novos projetos: Multi-targetingNovo suporte para Silverlight, MFC, F#, AzureSuporte estendido para Office 2010 e SharePointExtension managerGaleria para extensões do Visual Studio
Melhoriasnainterface do usuárioZoomDocking WindowsGenerate from UsageHighlighting ReferencesNavigate To / Quick SearchIntelliSense Consume-First ModeBox SelectionBuscanacaixa de diálogo “Add New Item”
Novas funcionalidades somentepara o C#CallHierarchyOrganização dos “usingstatements”
ZoomCtrl+Mouse WheelNovasfuncionalidadesqueaumentam o tamanho do seucódigoÚtilparaapresentações e demonstrações
Docking WindowsNovosvisuaispara “docking”Windows podemser “docked” emqualquerlugarMelhorutilização de múltiplosmonitoresWindow -> Reset Windows Layout
Gerandoatravés do uso(Generate from usage)Automaticamentecria “stub code” de códigosquevocêjádigitouPossibilita com quevocê utilize classes e membros antes de defini-losCTRL + .
Highlighting ReferencesDestaque automático de símbolosFunciona com declarações, referencias e muitos outros símbolosFacilita encontrarmos onde os símbolos estão sendo utilizados
Navigate To/Quick SearchCtrl + ,Disponibiliza suporte para “procura-enquanto-você-digita” por arquivos, tipos e membrosPossibilita procura rápidaCtrl+- retorna
Box SelectionNo VS 2008, era possível pressionar ALT para selecionar uma região retangularAgora com funcionalidades adicionais:Inserção de texto: Escreva em uma seleção para inserir o mesmo texto em todas as linhasColar conteúdo de um “box selection” em outroCaixas com largura zeroFazer uma seleção vertical com largura zero para inserir novo texto ou colar conteúdo
IntelliSense Consume-First ModeIntelliSense disponibiliza dois modos de complementar uma sentençaCompletionmodeSuggestionmodeÚtil quando utilizando classes e membros antes de serem definidosO editor mostra o símbolo que você escreve ao invés de uma entrada da listaUse Ctrl+Alt+Spacebar para alternarNo “Suggestionmode”, código insere o que você escreveEnquanto você não apertar tab, que insere o texto selecionado independente do modo que você está
Busca no “Add New Item”Caixa de diálogo “Add New Item” inclui mecanismo de buscaDigite qualquer parte do nome do templateBusca faz o resto
Melhorias de debuggingPode adicionar labels nos breakpointsTodos os breakpoints são “searchable”Pode importar/exportar breakpoints
Floating Data TipsDicas flutuam na janela do códigoAs “dicas flutuantes” continuam visíveis até o fim da sessão de debug
Melhorias de Debugging eDiagnósticosBreakpointFloating Data Tips
Call HierarchyCtrl+Alt+K (ou Ctrl+K, T)Ver chamadas para, e que se originam do método
OrganizandoUsingsRight-click no UsingstatementPode deletar os que não estão sendo utilizados, ordenar ou os dois
Novidades das linguagens e recursos do VB e C#
Somentepara VBNovidades do VB, jáexistentes no C# 3 ounãoaplicável no C# 4Quebra de linhaimplícitaAuto-implementarpropriedadesInicializarcoleçõesArray LiteralsSub LambdasLambdas emváriaslinhas
Quebra de LinhaImplícitaO caracter “_” no Visual Basic indicaumaquebra de linhalógicapara o mesmocódigoVisual Basic 10 remove estaquebraparaalgunscomandosMas nãoemtudofoiremovido, e simpara a maioria
Quebra de LinhaImplícitaQuandoaplicável:Após um atributoApósumavírgulaApós um ponto (parainvocar um métodooupropriedadeApósum operadorbinárioApósumaexpressão LINQApóso (, {, ou <%=Antes do ), }, ou %>
Auto-ImplementaPropriedadesPara simples propriedadesonde o get/set retornam um simples valorVisual Basic criacampor private com o mesmonome da propriedadeusando o prefixo “_”Exemplo: propriedade Nome, o campo será _NomeVisual Basic cria o getter e o setter Para istonãopodeterpropriedadescomosomenteleitura/escrita
Inicializador de ColeçãoSuporte a inicialização de coleção com valorespadrãoUsa as palavraschaves From e with {} para a listaListapodeseremcascataUso de dicionário, porexemploSimples chamadasaométodo Add da classe, passando as informaçõesSe nãohá o método Add, crieseuprópriométodoatravés dos métodos de extensão
Array LiteralsSuportaumasintaxecompactapara a declaração de arrayTiposinferidospelocompiladorBemútilquandovocêprecisarusarvalorespadrãopara um array, e querpermitiraocompiladordefinir o seutipo de array
Multi Linhaspara Sub e LambdasNo Visual Studio 2008, expressões lambda poderiamtersomenteuma simples expressãoqueretorna um valor, no Visual BasicUma função, porexemploNo Visual Studio 2010, expressões lambda podeseruma Sub (ouuma Function)Tambémcontémmúltiplos statementsSuportamétodoanônimos no Visual Basic
Somentepara C#Suporte a linguagemdinâmicaParâmetrosopcionais e nomeadosTiposdinâmicosSuporte a COM Interop
ParâmetrosNomeados e OpcionaisA pedido de parasuportarlinguagensdinâmicasE melhorar o suporte a COM interopC# 4 suporta ambos parâmetrosnomeados e opcionaisPara indicar um parâmetroopcional, forneça o valor padrãoQuandochamado, podefornecer um valor ouusar o padrãoNãopermitecontagem com vírgula
ParâmetrosNomeados e OpcionaisQualquerargumentopodeserpassadopelonomeouposiçãoResolvemosproblemas de contagem de vírgulasO queacontece se vocêfornecer o primeiro e o últimoparâmetro de umalista de 10?Geralmente, use doisparâmetrosnomeados
TiposDinâmicosDynamic permitevocêescrever um método, um peradorouindexarumachamadaAcesso as propriedades e camposInvocarobjetos (object)RequeridoparasuportarlinguagensdinâmicasAjuda com COMInterop
Suporte COM InteropMuitosmétodos COM aceitam e retornamtiposdiferentesrepresentando um Object na PIANa maioria das vezes o desenvolvedorsabe o tipo de retornoMas deveráfazer um Cast no retornoTiposdinâmicospodemserfáceis
Ref ParametersMuitosmétodos COM contémumareferência de parâmetrosNo passado, desenvolvedor C# precisavacriarumavariável local paracadaparêmetroporreferênciaE entãopassarcada valor porreferênciaAgora o compilador C# permitepassar o parâmetropor valorO compiladorcriavariáveistemporárias e descartadepoisNão se preocupe com REF, as chamadas dos métodoscontinuamcomoreferência
Novidades do VB e C#
Linguagem Paralela
FuncionalidadesThreads no Visual Studio 2008Difícil de codificar e debugarTemos tipos públicos e APIs para tarefas paralelasMais produtividade aos desenvolvedoresSimplifica o processo de tarefas paralelas e concorrênciaSó faz sentido usar Paralelelismo com múltiplos processadores
Classeestática “Parallel”Quando as rotinassãoindependentes…… elaspodemserparalelizadasStatementA()StatementB()StatementC()Parallel.Invoke(StatementA(),StatementB(),StatementC())

TechEd Brasil 2010 - Dicas, truques do Visual Studio 2010 e novas funcionalidades do Visual Basic e C#

  • 1.
  • 2.
    Instruções gerais (hiddenslide):Instruções aos palestrantes: Complete este slide para que o Track Owner avalie a sequência da sua apresentação, tópicos cobertos, integração das demos e alinhamento do conteúdo com a descrição e nível da sessão. Título: Dicas, truques do Visual Studio 2010 e novas funcionalidades do Visual Basic e C#
  • 3.
  • 4.
  • 5.
    Objetivos (quaissão astrêsprincipaismensagensquevocêgostariaque a audiênciaabsorva):
  • 6.
    1 Mostrar asnovasfuncionalidades da IDE do VS 2010
  • 7.
    2 Novidades daslinguagens C# e VB.NET
  • 8.
  • 9.
    Sequência da suaapresentação(incluindo as demos):CÓDIGO DA SESSÃO:DEV 203Dicas, truques do Visual Studio 2010 e novas funcionalidades do Visual Basic e C#João Paulo Clementi (JP)www.jpclementi.comMicrosoft BrasilRenato HaddadMVP, MCT, MCTS, MCPDrehaddad@msn.com www.renatohaddad.comhttp://weblogs.asp.net/renatohaddad
  • 10.
    AgendaVS 2010, VisualBasic e C#Visual Studio 2010 e suas novidades da IDENovidades das linguagens e recursos do VB e C#Linguagem Paralela
  • 11.
  • 12.
    Lista de NovidadesBreakpointLabelingBreakpoint SearchingBreakpoint Import/ExportDynamic Data ToolingWPF Tree VisualizerCall HierarchyImproved WPF ToolingHistorical DebuggingMini-Dump DebuggingQuick SearchBetter Multi-Monitor SupportHighlight ReferencesParallel Stacks WindowParallel Tasks WindowDocument Map MarginGenerate from UsageConcurrency ProfilerExtensible Test RunnerMVC ToolingWeb DeployJQuery IntelliSenseSharePoint ToolingHTML SnippetsWeb.config TransformationClickOnce Enhancements for Microsoft Office
  • 13.
    MuitasfuncionalidadesnovasFoco em funcionalidadesespecíficasPertinente para a maioria dos desenvolvedoresFuncionalidades avançadas em outro momento…
  • 14.
    Faces do VisualStudio 2010Visual Studio como um EditorVisual Studio comoumaPlataforma
  • 15.
    … Como umEditorUm foco aprimorado em… Escrever o código Entender o códigoNavegar o código Publicar o códigoShell reescrita utilizando WPFAdiciona muitas outras funcionalidades
  • 16.
    … Como umaPlataformaVisual Studio 2010 suporta uma galeria de extensõesEstimulando um mercado de terceiros
  • 17.
    Linguagens VB eC# 2010Novo no VS 2010Existentes no VS 2008
  • 18.
    Recursos da IDEVB & C# 2010Novo no VS 2010Existentes no VS 2008
  • 19.
    Melhoriasgerais – FrontEndStart pageReescrita utilizando XAML: fácil de customizarLista de projetos recentes - Maior controle Novos projetos: Multi-targetingNovo suporte para Silverlight, MFC, F#, AzureSuporte estendido para Office 2010 e SharePointExtension managerGaleria para extensões do Visual Studio
  • 20.
    Melhoriasnainterface do usuárioZoomDockingWindowsGenerate from UsageHighlighting ReferencesNavigate To / Quick SearchIntelliSense Consume-First ModeBox SelectionBuscanacaixa de diálogo “Add New Item”
  • 21.
    Novas funcionalidades somenteparao C#CallHierarchyOrganização dos “usingstatements”
  • 22.
    ZoomCtrl+Mouse WheelNovasfuncionalidadesqueaumentam otamanho do seucódigoÚtilparaapresentações e demonstrações
  • 23.
    Docking WindowsNovosvisuaispara “docking”Windowspodemser “docked” emqualquerlugarMelhorutilização de múltiplosmonitoresWindow -> Reset Windows Layout
  • 24.
    Gerandoatravés do uso(Generatefrom usage)Automaticamentecria “stub code” de códigosquevocêjádigitouPossibilita com quevocê utilize classes e membros antes de defini-losCTRL + .
  • 25.
    Highlighting ReferencesDestaque automáticode símbolosFunciona com declarações, referencias e muitos outros símbolosFacilita encontrarmos onde os símbolos estão sendo utilizados
  • 26.
    Navigate To/Quick SearchCtrl+ ,Disponibiliza suporte para “procura-enquanto-você-digita” por arquivos, tipos e membrosPossibilita procura rápidaCtrl+- retorna
  • 27.
    Box SelectionNo VS2008, era possível pressionar ALT para selecionar uma região retangularAgora com funcionalidades adicionais:Inserção de texto: Escreva em uma seleção para inserir o mesmo texto em todas as linhasColar conteúdo de um “box selection” em outroCaixas com largura zeroFazer uma seleção vertical com largura zero para inserir novo texto ou colar conteúdo
  • 28.
    IntelliSense Consume-First ModeIntelliSensedisponibiliza dois modos de complementar uma sentençaCompletionmodeSuggestionmodeÚtil quando utilizando classes e membros antes de serem definidosO editor mostra o símbolo que você escreve ao invés de uma entrada da listaUse Ctrl+Alt+Spacebar para alternarNo “Suggestionmode”, código insere o que você escreveEnquanto você não apertar tab, que insere o texto selecionado independente do modo que você está
  • 29.
    Busca no “AddNew Item”Caixa de diálogo “Add New Item” inclui mecanismo de buscaDigite qualquer parte do nome do templateBusca faz o resto
  • 30.
    Melhorias de debuggingPodeadicionar labels nos breakpointsTodos os breakpoints são “searchable”Pode importar/exportar breakpoints
  • 31.
    Floating Data TipsDicasflutuam na janela do códigoAs “dicas flutuantes” continuam visíveis até o fim da sessão de debug
  • 32.
    Melhorias de DebuggingeDiagnósticosBreakpointFloating Data Tips
  • 33.
    Call HierarchyCtrl+Alt+K (ouCtrl+K, T)Ver chamadas para, e que se originam do método
  • 34.
    OrganizandoUsingsRight-click no UsingstatementPodedeletar os que não estão sendo utilizados, ordenar ou os dois
  • 35.
    Novidades das linguagense recursos do VB e C#
  • 36.
    Somentepara VBNovidades doVB, jáexistentes no C# 3 ounãoaplicável no C# 4Quebra de linhaimplícitaAuto-implementarpropriedadesInicializarcoleçõesArray LiteralsSub LambdasLambdas emváriaslinhas
  • 37.
    Quebra de LinhaImplícitaOcaracter “_” no Visual Basic indicaumaquebra de linhalógicapara o mesmocódigoVisual Basic 10 remove estaquebraparaalgunscomandosMas nãoemtudofoiremovido, e simpara a maioria
  • 38.
    Quebra de LinhaImplícitaQuandoaplicável:Apósum atributoApósumavírgulaApós um ponto (parainvocar um métodooupropriedadeApósum operadorbinárioApósumaexpressão LINQApóso (, {, ou <%=Antes do ), }, ou %>
  • 39.
    Auto-ImplementaPropriedadesPara simples propriedadesondeo get/set retornam um simples valorVisual Basic criacampor private com o mesmonome da propriedadeusando o prefixo “_”Exemplo: propriedade Nome, o campo será _NomeVisual Basic cria o getter e o setter Para istonãopodeterpropriedadescomosomenteleitura/escrita
  • 40.
    Inicializador de ColeçãoSuportea inicialização de coleção com valorespadrãoUsa as palavraschaves From e with {} para a listaListapodeseremcascataUso de dicionário, porexemploSimples chamadasaométodo Add da classe, passando as informaçõesSe nãohá o método Add, crieseuprópriométodoatravés dos métodos de extensão
  • 41.
    Array LiteralsSuportaumasintaxecompactapara adeclaração de arrayTiposinferidospelocompiladorBemútilquandovocêprecisarusarvalorespadrãopara um array, e querpermitiraocompiladordefinir o seutipo de array
  • 42.
    Multi Linhaspara Sube LambdasNo Visual Studio 2008, expressões lambda poderiamtersomenteuma simples expressãoqueretorna um valor, no Visual BasicUma função, porexemploNo Visual Studio 2010, expressões lambda podeseruma Sub (ouuma Function)Tambémcontémmúltiplos statementsSuportamétodoanônimos no Visual Basic
  • 43.
    Somentepara C#Suporte alinguagemdinâmicaParâmetrosopcionais e nomeadosTiposdinâmicosSuporte a COM Interop
  • 44.
    ParâmetrosNomeados e OpcionaisApedido de parasuportarlinguagensdinâmicasE melhorar o suporte a COM interopC# 4 suporta ambos parâmetrosnomeados e opcionaisPara indicar um parâmetroopcional, forneça o valor padrãoQuandochamado, podefornecer um valor ouusar o padrãoNãopermitecontagem com vírgula
  • 45.
    ParâmetrosNomeados e OpcionaisQualquerargumentopodeserpassadopelonomeouposiçãoResolvemosproblemasde contagem de vírgulasO queacontece se vocêfornecer o primeiro e o últimoparâmetro de umalista de 10?Geralmente, use doisparâmetrosnomeados
  • 46.
    TiposDinâmicosDynamic permitevocêescrever ummétodo, um peradorouindexarumachamadaAcesso as propriedades e camposInvocarobjetos (object)RequeridoparasuportarlinguagensdinâmicasAjuda com COMInterop
  • 47.
    Suporte COM InteropMuitosmétodosCOM aceitam e retornamtiposdiferentesrepresentando um Object na PIANa maioria das vezes o desenvolvedorsabe o tipo de retornoMas deveráfazer um Cast no retornoTiposdinâmicospodemserfáceis
  • 48.
    Ref ParametersMuitosmétodos COMcontémumareferência de parâmetrosNo passado, desenvolvedor C# precisavacriarumavariável local paracadaparêmetroporreferênciaE entãopassarcada valor porreferênciaAgora o compilador C# permitepassar o parâmetropor valorO compiladorcriavariáveistemporárias e descartadepoisNão se preocupe com REF, as chamadas dos métodoscontinuamcomoreferência
  • 49.
  • 50.
  • 51.
    FuncionalidadesThreads no VisualStudio 2008Difícil de codificar e debugarTemos tipos públicos e APIs para tarefas paralelasMais produtividade aos desenvolvedoresSimplifica o processo de tarefas paralelas e concorrênciaSó faz sentido usar Paralelelismo com múltiplos processadores
  • 52.
    Classeestática “Parallel”Quando asrotinassãoindependentes…… elaspodemserparalelizadasStatementA()StatementB()StatementC()Parallel.Invoke(StatementA(),StatementB(),StatementC())

Notas do Editor

  • #9 O Visual Studio não é somente um editor para você escrever código, mas é também uma plataforma.Você pode adicionar extensões e Add-ins facilmente e existe um grande número de terceiros que já fazem ou irão fazer uma série de extensões para o Visual Studio.Era possível antes mas agora ficou muito mais fácil e intuitivo.
  • #10 Como um editor, o Visual Studio 2010 apresenta tremendas melhorias para:Escrever o Código, Entender o Código, Navegar o Código e Publicar o Código.Além disso a Shell do VS 2010 foi totalmente reescrita, e foi o que possibilitou grande parte das melhorias e adição de novas funcionalidades ao VS
  • #11 Como uma plataforma, o VS 2010 suporta uma galeria de extensões. Existem agora um lugar onde a gente pode buscar e encontrar extensões feitas pela Microsoft e terceiros. É possível também publicar addins.Com isso a Microsoft através do Visual Studio 2010 estimula um mercado de terceiros, pois além de extensões gratuitas, e possível cobrar pelo uso também