Notas de versão do Visual Studio 2015
Termos de licença | Blog do Visual Studio | Developer Community
Observação
Esta não é a versão mais recente do Visual Studio. Para baixar a versão mais recente, visite as notas sobre a versão atual para o Visual Studio 2019.
Versões do Visual Studio 2015
Veja as notas sobre todas as versões do Visual Studio 2015:
- 27 de junho de 2016: Visual Studio 2015 Atualização 3
- 30 de março de 2016: Visual Studio 2015 Atualização 2
- 30 de novembro de 2015: Visual Studio 2015 Atualização 1
- 20 de julho de 2015: Visual Studio 2015
Baixar o Visual Studio 2015
Você pode baixar o Visual Studio 2015 de My.VisualStudio.com. O My.VisualStudio.com requer uma assinatura gratuita do Dev Essentials ou uma assinatura do Visual Studio.
Visual Studio 2015
Lançamento: 20 de julho de 2015
Resumo de Novidades desta versão
- Visual Studio C++ para desenvolvimento multiplataforma
- Ferramentas do Visual Studio para Apache Cordova
- Emulador do Visual Studio para Android
- Ferramentas do Visual Studio para desenvolvimento de Aplicativos universais do Windows
- Visual C++
- C# e Visual Basic
- F#
- .NET Framework 4.6
- Entity Framework
- Visual Studio IDE
- Blend
- Depuração e diagnóstico
- ASP.NET
- Ferramentas do Azure
- NuGet
- JavaScript
- TypeScript
- IntelliTest
- Application Insights
- Gerenciamento de Versões
- Logon único
- Controle de versão do Git
- CodeLens
- Arquitetura, design e modelagem
- Serviço de linguagem XAML
- Diversos
Outras alterações:
Versões relacionadas:
- SDK do Azure 2.7 para .NET
- SDK do Windows 10
- Ferramentas Python para Visual Studio 2.2
- Ferramentas do Visual Studio para Unity 2.0
- Atualização: outubro de 2021: Atualizar com segurança o Node.js para as Ferramentas do Visual Studio para Apache Cordova
- Office Developer Tools para Visual Studio 2015
- Extensão do GitHub para Visual Studio 2015
- Testes de carga com base em nuvem
Detalhes de Novidades desta versão
Visual C++ para Desenvolvimento Móvel Multiplataforma
Agora ficou mais fácil compartilhar, reutilizar, compilar, implantar e depurar todos os códigos, exceto aqueles mais específicos da plataforma, em várias plataformas de aplicativos, tudo isso em uma só solução no Visual Studio. Veja algumas coisas que você pode fazer:
Criar projetos por meio de modelos para aplicativos de Atividade Nativa do Android ou para bibliotecas de código compartilhado que você pode usar em várias plataformas e em aplicativos Android nativos do Xamarin.
Usar o IntelliSense específico da plataforma para explorar APIs e gerar o código correto para os destinos Android ou Windows.
Configurar o build para as plataformas nativas x86 ou ARM.
Implantar o código em dispositivos Android anexados ou usar o emulador do Android de alto desempenho da Microsoft para testes.
Definir pontos de interrupção, inspecionar variáveis, visualizar a pilha e executar o código em etapas no depurador do Visual Studio.
Exibir o log de mensagens em um dispositivo Android usando o visualizador LogCat. (O LogCat é uma ferramenta de diagnóstico essencial para uma boa experiência de edição/>build/>depuração).
Use o LogCat para fazer o seguinte:- Procurar mensagens de log específicas usando a barra de pesquisa.
- Usar a opção Alternar Rolagem Automática para visualizar as próximas mensagens de log com facilidade.
- Limpar as mensagens anteriores de saída de log.
- Escolher entre vários níveis de log.
Escrever um código C++ direcionado à plataforma iOS e aproveitar nossas funcionalidades avançadas de criação de código, como compartilhamento de código, IntelliSense entre plataformas, refatoração e definição de espiada, entre outros. O fornecimento de suporte ao iOS ainda está em andamento, então, fique atento para saber mais sobre isso em breve. Envie comentários usando a opção Conectar para bugs. Além disso, envie suas opiniões usando a opção Enviar um Smiley no IDE do Visual Studio.
Também adicionamos ou atualizamos o seguinte:
- Suporte ao Nível de API 21 do Android (Lollipop).
- Um novo modelo que é baseado no suporte a arquivos Make para Android, que permite usar um sistema de build externo (incluindo o NDK-BUILD).
- Cabeçalhos pré-compilados em todos os modelos (incluindo a biblioteca dinâmica compartilhada, a biblioteca estática e os modelos móveis multiplataforma).
Ferramentas do Visual Studio para Apache Cordova
Anteriormente conhecidas como Aplicativos Híbridos de Vários Dispositivos para Visual Studio, as Ferramentas do Visual Studio para Apache Cordova facilitam a compilação, a depuração e o teste de aplicativos multiplataforma direcionados ao Android, ao iOS, ao Windows e ao Windows Phone por meio de um projeto individual simples do Visual Studio.
Todas as funcionalidades disponíveis em CTPs anteriores já estão disponíveis no Visual Studio 2015 RC, incluindo os seguintes aprimoramentos:
- Atualização sobre o salvamento do Ripple: não há necessidade de recompilação.
- Depurar uma versão do iOS do seu aplicativo do Visual Studio quando ele for implantado no Simulador do iOS ou em um dispositivo conectado em um Mac
- Melhor segurança e configuração simplificada para o agente de build remoto do iOS incluído
- Uma experiência aprimorada de gerenciamento de plug-ins que inclui suporte para adição de plug-ins personalizados ao projeto por meio do Git ou do sistema de arquivos
- Selecionar opções de configuração específicas da plataforma por meio de um designer aprimorado de config.xml
- Suporte para o Apache Cordova 4.0.0.
Ouvimos seus comentários e ampliamos o número de dispositivos nos quais é possível fazer a depuração, da seguinte maneira:
- Android 4.4, Android 4.3 e versões anteriores com o jsHybugger
- iOS 6, 7 e 8
- Windows Store 8.1
Em seguida, ampliamos ainda mais nosso suporte à depuração. Você já pode depurar seus aplicativos Apache Cordova direcionados ao Windows Phone 8.1.
Defina pontos de interrupção, inspecione variáveis, use o console e execute outras tarefas de depuração no emulador do Windows Phone 8.1 ou no dispositivo anexado.
Adicionamos a interoperabilidade da CLI à versão RC. Os projetos Cordova no Visual Studio já serão sincronizados com as alterações feitas na pasta do projeto em disco. As alterações podem fluir bidirecionalmente no Visual Studio, caso você esteja trabalhando com ferramentas de terceiros ou em outros sistemas operacionais. (A estrutura de arquivos padrão para projetos Cordova é baseada na estrutura esperada pelas ferramentas de linha de comando do Apache Cordova, o que facilita o trabalho direto com a Apache Cordova CLI ou com outras ferramentas que esperam essa estrutura de pastas).
Emulador do Visual Studio para Android
Use o Emulador do Visual Studio para Android em um projeto multiplataforma no Visual Studio (Xamarin ou C++) ou nas Ferramentas do Visual Studio para Apache Cordova. O emulador permite alternar entre diferentes emuladores de plataforma sem conflitos com o Hyper-V. Ele dá suporte a uma ampla variedade de sensores e simulações, incluindo GPS/localização, acelerômetro, rotação da tela, zoom, cartão SD, câmera, multitoque e acesso à rede. Também dá suporte às versões 4.4 (KitKat, Nível de API 19) e 5.0 (Lollipop, Nível de API 21) do Android.
O Emulador do Visual Studio para Android dá suporte à simulação de Wi-Fi e à capacidade de escolha entre várias configurações diferentes de hardware de dispositivo.
Adicionamos as seguintes funcionalidades ao RTM:
- Novas plataformas. As imagens do Jellybean (API 17) e do Lollipop 5.1 (API 22) estão disponíveis.
- Interface de linha de comando. Se você navegar até %programfiles(x86)%\Microsoft Emulator Manager\1.0\emulatorcmd.exe em um prompt de comando, poderá interagir com o gerenciador do emulador (listar, instalar, iniciar perfis etc.). sem uma interface do usuário.
- Bibliotecas zip do tipo “arrastar e soltar”. Arrastar e soltar um zip de memória flash no emulador já vai descompactá-lo e instalá-lo automaticamente.
- Guia Cartão SD. Essa nova guia da janela “Ferramentas Adicionais” permite efetuar push e pull de dados no cartão SD.
- Aquisição independente. O emulador pode ser instalado em um computador sem exigir que você instale o Visual Studio. Um atalho para o Emulator Manager é exibido no menu Iniciar para que você possa iniciá-lo e usá-lo em qualquer cadeia de ferramentas de desenvolvimento.
Para obter mais informações, confira Emulador do Visual Studio para Android.
Ferramentas do Visual Studio para desenvolvimento de Aplicativos universais do Windows
As ferramentas do Visual Studio para desenvolvimento de Aplicativos universais do Windows são integradas à instalação do Visual Studio. Essas ferramentas permitem que você crie aplicativos do Windows que são executados em todos os dispositivos Windows 10: o telefone no bolso, o tablet ou o laptop na bolsa, o PC na mesa, os dispositivos IoT e, em breve, os consoles Xbox na sua casa, o Surface Hub, entre outros. Além disso, você pode usar essas ferramentas para criar aplicativos da área de trabalho do Windows que aproveitam as APIs do Windows 10. Para obter mais informações, confira Novidades das Ferramentas do Visual Studio para Aplicativos universais do Windows.
Para obter mais informações sobre o desenvolvimento de aplicativos do Windows, confira o Guia de Aplicativos universais do Windows e o Centro de Desenvolvedores do Windows. Para obter informações sobre os últimos builds e SDKs do Windows, confira o portal do Windows Insider.
Visual C++
Nesta versão, o compilador C++ e a biblioteca padrão foram atualizados com suporte aprimorado para o C++11 e suporte inicial para algumas funcionalidades do C++14. Eles também incluem suporte preliminar para algumas funcionalidades esperadas no C++17 padrão.
Além disso, mais de 500 bugs do compilador foram corrigidos, incluindo muitos enviados por clientes por meio do Microsoft Developer Community. Agradecemos sua ajuda!
Funcionalidades de linguagem
Adicionamos as seguintes novas funcionalidades para aproximar o compilador do C++ padrão:
- Funções retomáveis (resume/await) As palavras-chave resume e await fornecem suporte na linguagem para programação assíncrona e habilitam as funções retomáveis. Atualmente, essa funcionalidade só está disponível para destinos x64. Proposta para o C++17 [N3858]
- Expressões lambda genéricas (polimórficas) Os tipos de parâmetros de função lambda já podem ser especificados usando a opção auto. O compilador interpreta “auto” nesse contexto para indicar que o operador de chamada de função do fechamento é um modelo de função membro e que cada uso de “auto” na expressão lambda corresponde a um parâmetro de tipo de modelo distinto. C++14
- Expressões lambda de captura generalizadas Também conhecidas como init-capture. O resultado de uma expressão arbitrária já pode ser atribuído a uma variável na cláusula de captura de um lambda. Isso permite que tipos somente movimentação sejam capturados por valor e que uma expressão lambda defina membros de dados arbitrários no objeto de fechamento. C++14
- Agora há suporte a literais binários. Esses literais são prefixados com 0B ou 0b e consistem apenas nos dígitos 0 e 1. C++14
- Dedução do tipo de retorno O tipo de retorno das funções normais já pode ser deduzido, incluindo funções com várias instruções return e funções recursivas. Essas definições de função são precedidas pela palavra-chave auto, como nas definições de função com um tipo de retorno à direita, mas com a omissão do tipo de retorno à direita. C++14
- decltype(auto) A dedução de tipo com a palavra-chave auto para inicializar expressões remove os qualificadores de referência e os qualificadores CV de nível superior da expressão. A opção decltype(auto) preserva os qualificadores de referência e CV e já pode ser usada em qualquer lugar que “auto” possa ser usado, exceto para introduzir uma função com um tipo de retorno inferido ou à direita. C++14
- Geração implícita de funções de membro especial de movimentação Os construtores e os operadores de atribuição de movimentação agora são gerados implicitamente quando as condições permitem, colocando o compilador em total conformidade com as referências de rvalue do C++11. C++11
- Herança de construtores Uma classe derivada já pode especificar que herdará os construtores da classe base, Base, incluindo a instrução using Base::Base na definição. Uma classe derivada só pode herdar todos os construtores da classe base. Não há como herdar apenas construtores base específicos. Uma classe derivada não pode herdar de várias classes base se elas têm construtores que tenham uma assinatura idêntica nem pode definir um construtor que tenha uma assinatura idêntica a qualquer um dos construtores herdados. C++11
- Consulta e controle de alinhamento O alinhamento de uma variável pode ser consultado por meio do operador alignof() e controlado com o especificador alignas(). alignof() retorna o limite de bytes em instâncias do tipo que precisam ser alocadas. Para referências, ele retorna o alinhamento do tipo referenciado e, para matrizes, o alinhamento do tipo de elemento. alignas() controla o alinhamento de uma variável. É preciso uma constante ou um tipo, em que um tipo é a abreviação de alignas – alignof(type). C++11
- sizeof estendido O tamanho de uma variável de membro struct ou classe já pode ser determinado sem uma instância da classe ou do struct por meio de sizeof(). C++11
- constexpr Suporte parcial para constexpr no C++11. C++11 (parcial)
- UDLs (literais definidos pelo usuário) Sufixos significativos já podem ser acrescentados a literais numéricos e de cadeia de caracteres para dar a eles uma semântica específica. O compilador interpreta os literais com sufixos como chamadas ao operador de UDL apropriado. C++11
- Estáticos de “magic” thread-safe As variáveis locais estáticas já são inicializadas de maneira thread-safe, eliminando a necessidade de sincronização manual. Somente a inicialização é thread-safe, o uso de variáveis locais estáticas por vários threads ainda precisa ser sincronizado manualmente. A funcionalidade de estáticos thread-safe pode ser desabilitada por meio do sinalizador /Zc:threadSafeInit- para evitar a dependência do CRT. C++11
- Armazenamento local de thread Use a palavra-chave thread_local para declarar que um objeto independente deve ser criado para cada thread. C++11
- O operador noexcept já pode ser usado para verificar se uma expressão pode gerar uma exceção. O especificador noexcept já pode ser usado para especificar que uma função não gera exceções. C++11
- Namespaces embutidos Um namespace já pode ser especificado como embutido para elevar o conteúdo dele ao namespace de delimitação. Os namespaces embutidos podem ser usados para criar bibliotecas com controle de versão que expõem a versão mais recente por padrão, ainda disponibilizando versões anteriores da API explicitamente. C++11
- Uniões irrestritas Um tipo de união já pode conter tipos com construtores não triviais. Os construtores para essas uniões precisam ser definidos. C++11
- Novos tipos de caracteres e literais Unicode Já há suporte para os literais de caracteres e de cadeias de caracteres em UTF-8, UTF-16 e UTF-32, e novos tipos de caracteres char16_t e char32_t foram introduzidos. Os literais de caracteres podem ser prefixados com u8 (UTF-8), u (UTF-16) ou U (UTF-32) como em U'a', enquanto os literais de cadeia de caracteres podem adicionalmente ser prefixados com os equivalentes de cadeia de caracteres bruta u8R (cadeia de caracteres bruta UTF-8), uR (cadeia de caracteres bruta UTF-16) ou UR (cadeia de caracteres bruta UTF-32). Os nomes de caracteres universais podem ser usados livremente em literais Unicode como em u'\u00EF', u8"\u00EF is i" e u"\U000000ef is I". C++11
- func O identificador predefinido func é implicitamente definido como uma cadeia de caracteres que contém o nome não qualificado e não adornado da função de conexão. C++11
- __restrict __restrict já pode ser aplicado a referências.
- Palavra-chave typename. Os usuários já podem escrever typename em vez de class em um parâmetro de modelo. C++14
- Os globais void operator delete(void *, std::size_t) noexcept e void operator delete[](void *, std::size_t) noexcept já podem ser sobrecarregados. C++14
- Separadores de dígitos Agora, você pode intercalar literais numéricos com aspas simples para torná-los mais legíveis. Por exemplo, int x = 1'000'000;. C++14
- Nomes de caracteres universais em literais Você já pode escrever caracteres básicos, como 'A' e o caractere de alimentação de linha, como pontos de código em literais. Por exemplo, const char *s = "\u0041\u000A";. C++11
- Os inicializadores de membros de dados não estáticos agora funcionam corretamente com as listas de inicializadores. C++11
- Atributos Você já pode especificar uma função como [[noreturn]] para informar o compilador de que a função não tem retorno (embora possa gerar uma exceção). Vários constructos também já podem ser especificados como [[deprecated]]. Os atributos agora são permitidos em namespaces e enumeradores. C++11, C++14 e C++17
- UDLs (literais definidos pelo usuário) Os literais numéricos e de cadeia de caracteres já podem ter sufixos significativos que fazem cálculos personalizados nos dados dos literais. C++11
- Atributos de ordenação de dependência de dados Você já pode especificar parâmetros de função, parâmetros lambda ou declarações de função como [[carries_dependency]] para aprimorar as otimizações de estruturas de dados simultâneas que são lidas com frequência, mas raramente modificadas. C++11
- Novas regras para auto com braced-init-lists A dedução automática para inicializações de lista de cópias agora deduzirá um std::initializer_list ou será mal formada. C++17
Funcionalidades da Biblioteca do Visual C++
- UDLs (literais definidos pelo usuário) para tipos de biblioteca padrão Os cabeçalhos <chrono>, <string> e <complex> já fornecem operadores de UDL para sua conveniência. Por exemplo, 123ms significa std::chrono::milliseconds(123), "hello"s significa std::string("hello") e 3.14i significa std::complex(0.0, 3.14).
- Iteradores de encaminhamento de nulos A biblioteca padrão agora permite a criação de iteradores de encaminhamento que não se referem a uma instância de contêiner. Esses iteradores são inicializados por valor e comparados como iguais para um tipo de contêiner específico. A comparação de um iterador inicializado por valor com um que não é inicializado por valor é indefinida. C++14
- quoted() A biblioteca padrão agora dá suporte à função quoted() para facilitar o trabalho com valores de cadeia de caracteres entre aspas e E/S. Com quoted(), uma cadeia de caracteres inteira entre aspas é tratada como uma entidade individual (como cadeias de caracteres que não são de espaço em branco estão em fluxos de E/S). Além disso, as sequências de escape são preservadas por meio de operações de E/S. C++14
- Pesquisa associativa heterogênea A biblioteca padrão agora dá suporte a funções de pesquisa heterogênea em contêineres associativos. Essas funções permitem a pesquisa por tipos diferentes do key_type, desde que o tipo seja comparável a key_type. C++14
- Sequências de inteiros em tempo de compilação A biblioteca padrão agora dá suporte ao tipo integer_sequence que representa uma sequência de valores inteiros que podem ser avaliados em tempo de compilação para facilitar o trabalho com pacotes de parâmetros e simplificar determinados padrões de programação de modelos. C++14
- exchange() A biblioteca padrão agora dá suporte à função de utilitário std::exchange() para atribuir um novo valor a um objeto e retorna o valor antigo dele. No caso de tipos complexos, exchange() evita a cópia do valor antigo quando um construtor de movimentação está disponível, evita a cópia do novo valor se ele é um objeto temporário ou foi movido e aceita qualquer tipo como um novo valor, aproveitando qualquer operador de atribuição de conversão. C++14
- equal(), is_permutation() e mismatch() de intervalo duplo A biblioteca padrão agora dá suporte a sobrecargas para std::equal(), std::is_permutation() e std::mismatch() que aceitam dois intervalos. Essas sobrecargas lidam com sequências de diferentes comprimentos. C++14
- get<T>() A biblioteca padrão agora dá suporte à função de modelo get<T>() para permitir que elementos de tupla sejam endereçados pelo respectivo tipo. Se uma tupla contiver dois ou mais elementos do mesmo tipo get<T>(), a tupla não poderá ser endereçada por esse tipo. No entanto, outros elementos de tipo exclusivo ainda poderão ser endereçados. C++14
- tuple_element_t A biblioteca padrão agora dá suporte ao alias do tipo tuple_element_t<I, T>, que é um alias do typename tuple_element<I, T>::type. Isso proporciona alguma conveniência para programadores de modelo, semelhante aos outros aliases de tipo de metafunção em <type_traits>. C++14
- Especificação Técnica do Sistema de Arquivos “V3” A implementação incluída da Especificação Técnica do Sistema de Arquivos foi atualizada para a versão final.
- Alocadores mínimos A biblioteca padrão agora dá suporte completo à interface de alocador mínimo. Entre as correções notáveis estão std::function, shared_ptr, allocate_shared() e basic_string. C++11
- <chrono> Os tipos chrono high_resolution_clock e steady_clock foram corrigidos. C++11
- constexpr foi implementado em toda a Biblioteca Padrão do C++. C++11, C++14 e C++17
- quick_exit() Você já pode encerrar processos com multithread de maneira mais limpa chamando quick_exit() e executar o código de limpeza em at_quick_exit(). C++11
- void_t dá suporte à metaprogramação avançada de modelos. C++17
- As conversões em unique_ptr<T[]> agora são permitidas se forem consideradas seguras. C++17
- invoke() permite que objetos de função, ponteiros para funções de membro e ponteiros para membros de dados sejam chamados com uma sintaxe uniforme. C++17
- noexcept A biblioteca padrão limpou o uso de noexcept em certas funções. C++17
- uncaught_exceptions() relata o número de exceções em andamento (que pode ser superior a um). C++17
- reference_wrapper já pode ser facilmente copiado. C++17
- map/unordered_map agora dá suporte a insert_or_assign()/try_emplace(). C++17
- As funções não membro size(), empty() e data() agora são fornecidas. C++17
- auto_ptr, random_shuffle() e mecanismos <funcionais> antigos foram preteridos no C++11/14 e removidos do C++17. O Visual Studio 2015 os fornece por padrão, mas a definição de _HAS_AUTO_PTR_ETC como 0 em todo o projeto remove as definições deles.
- As atribuições de unique_ptr agora são restritas com precisão. C++17
- Agora há suporte a bool_constant como um alias de integral_constant<bool>. C++17
Builds mais rápidas do Visual C++
- LTCG (Geração de Código Durante o Tempo de Vinculação) Você já pode instruir a LTCG a recompilar apenas as partes do projeto que são afetadas por uma edição. Isso pode diminuir consideravelmente os tempos de vinculação dos aplicativos que usam a LTCG. Ative essa funcionalidade usando a opção do vinculador /LTCG:incremental.
- Vinculação incremental para bibliotecas estáticas As alterações em bibliotecas estáticas que são referenciadas por outros módulos de código agora são vinculadas de maneira incremental.
- /Debug:FastLink diminui substancialmente os tempos de vinculação por meio de novas técnicas de criação de PDB.
- Foram feitos aprimoramentos algorítmicos no vinculador para diminuir os tempos de vinculação.
- Os aprimoramentos permitirão a criação mais rápida de código pesado do modelo.
- Instrumentação rápida do PGO (otimização guiada por perfil) Um novo modo de instrumentação leve para jogos e sistemas em tempo real foi introduzido no PGO. Acompanhado de outras novas funcionalidades disponibilizadas por meio das opções /GENPROFILE e /FASTGETPROFILE do vinculador, você já pode equilibrar a qualidade do código e a velocidade do build ao usar o PGO.
- Redução do tamanho do arquivo de objeto Os aprimoramentos do compilador e da biblioteca padrão do resultam em arquivos de objeto e bibliotecas estáticas significativamente menores. Esses aprimoramentos não afetam o tamanho das DLLs (bibliotecas vinculadas dinamicamente) nem dos EXEs (executáveis), porque o código redundante foi removido historicamente pelo vinculador.
Desempenho e qualidade de código do Visual C++
- Aprimoramentos na vetorização automática. Aprimoramos a vetorização do fluxo de controle (if-then-else), a vetorização durante a compilação em /O1 (Minimizar tamanho) e a qualidade geral do código vetorial, incluindo suporte ao STL paralelo, vetorização mais baseada em intervalo para loops e suporte para loop #pragma (ivdep).
- Aprimoramentos na otimização escalar. Adicionamos uma melhor geração de código de operações de teste de bits, mesclagem e otimizações de fluxo de controle (comutação de loop-if) e outras otimizações escalares (por exemplo, melhor geração de código para std::min e std::max).
- PGO (otimização guiada por perfil). Fizemos uma série de aprimoramentos no PGO, incluindo conjuntos de referência aprimorados, melhores funcionalidades de layout de dados e a capacidade de reutilizar as decisões de layout, inlining e velocidade versus tamanho tomadas anteriormente.
- CFG (proteção de fluxo de controle). Adicionamos uma nova funcionalidade de segurança. Basta adicionar uma nova opção ao projeto e o compilador do Visual C++ injetará as verificações de segurança extras nos binários para ajudar a detectar tentativas de sequestrar o código. Quando a verificação for acionada, ela interromperá a execução do código antes que um sequestrador possa causar danos aos seus dados ou ao PC.
Observação
Atualizamos as opções de comando. Em vez de usar a opção /d2guard4 como nas versões anteriores, agora use /guard:cf.
Produtividade, depuração e diagnóstico do Visual C++
Adicionamos suporte de refatoração ao C++ com as seguintes funcionalidades:
- Renomear Símbolo Altera todas as ocorrências de um símbolo para um novo nome.
- Extração de Função Mova o código selecionado para a respectiva função. Essa refatoração está disponível como uma extensão para o Visual Studio na Galeria do Visual Studio.
- Implementar virtuais puros Gera definições de função para as funções virtuais puras herdadas por uma classe ou uma estrutura. Há suporte para a herança múltipla e recursiva. Ative essa refatoração por meio da definição de classe herdada para implementar todas as funções virtuais puras herdadas ou por meio de um especificador de classe base para implementar funções virtuais puras somente dessa classe base.
- Criar Declaração ou Definição Gera uma declaração com base em uma definição existente ou uma definição padrão com base em uma declaração existente. Acesse essa refatoração por meio da declaração ou da definição existente ou, então, do indicador de lâmpada.
- Mover Definição de Função Move o corpo de uma função entre o código-fonte e os arquivos de cabeçalho. Ative essa refatoração por meio da assinatura da função.
- Converter em Literal de Cadeia de Caracteres Bruta Converte uma cadeia de caracteres que contém sequências de escape em um literal de cadeia de caracteres bruta. As sequências de escape com suporte são \n (nova linha), \t (tabulação), ' (aspa simples), " (aspas duplas) e ? (ponto de interrogação). Ative essa funcionalidade clicando com o botão direito do mouse em qualquer lugar dentro de uma cadeia de caracteres.
Os aprimoramentos do PDB (Banco de Dados do Programa) no Visual C++ incluem os seguintes:
- A velocidade da Verificação de Soluções foi aprimorada, especialmente para soluções grandes.
- Operações como Ir para Definição não são mais bloqueadas durante a verificação da solução, exceto durante a verificação inicial da solução, quando uma nova solução é aberta pela primeira vez.
Aprimoramentos na legibilidade do IntelliSense: as instanciações de modelos complexos e typedefs são simplificadas na ajuda de parâmetros e em Informações Rápidas para facilitar a leitura deles.
Visualizações do depurador em C++
Adicione visualizações do depurador do Natvis ao projeto do Visual Studio para facilitar o gerenciamento e a integração do controle do código-fonte. Os arquivos do Natvis adicionados a um projeto têm precedência de avaliação sobre os visualizadores do Natvis fora do projeto. Para obter mais informações, confira Criar exibições personalizadas de objetos nativos no depurador.
Além disso, desde o RC, você pode usar arquivos do Natvis ao depurar o C++ no Android. O depurador inclui visualizações para vários modelos comuns e dá suporte ao carregamento de arquivos personalizados que são adicionados ao projeto C++.
Diagnóstico de memória nativa
- As sessões de diagnóstico de memória (ALT+F2) permitem monitorar o uso da memória em tempo real do aplicativo nativo.
- Os instantâneos de memória capturam uma imagem momentânea do conteúdo do heap do aplicativo. As diferenças no estado do heap podem ser examinadas pela comparação de dois instantâneos de memória. Visualize tipos de objeto, valores de instância e pilhas de chamadas de alocação de cada instância depois de parar o aplicativo.
Detecção e recuperação de deadlock aprimoradas ao chamar funções C++ por meio das janelas Inspeção e Imediata.
Diagnóstico aprimorado do compilador – O compilador fornece avisos aprimorados sobre um código suspeito. Novos avisos foram adicionados (por exemplo, variáveis sombreadas e incompatibilidade entre cadeias de caracteres de formato printf). As mensagens de aviso existentes ficaram mais claras.
O sinalizador /Wv – Avisos introduzido após uma versão específica do compilador XX.YY.ZZZZ pode ser desabilitado por meio do sinalizador /Wv:XX.YY.ZZZZ. Outros avisos podem ser especificamente desabilitados, além daqueles especificados por meio do sinalizador /Wv.
Suporte aprimorado para a depuração de código otimizado – Depure o código com os sinalizadores /Zi, /Zo ou /Z7 habilitados.
Diagnóstico de Gráficos do Visual C++
O Diagnóstico de Gráficos foi aprimorado com as seguintes funcionalidades:
- Captura Consecutiva Capture até 30 quadros consecutivos com uma captura.
- Captura Programática Inicie a captura de quadros por meio de programação. A captura programática é especialmente útil para depurar sombreadores de computação em programas que nunca chamam Present ou quando um problema de renderização é difícil de ser capturado manualmente, mas pode ser previsto por meio de programação no estado do aplicativo em runtime.
- Lista de Eventos de Gráficos Avançados Foi adicionada uma nova exibição Chamadas de Desenho que apresenta os eventos capturados e o respetivo estado em uma hierarquia organizada por Chamadas de Desenho. É possível expandir as chamadas de desenho para exibir o estado atual do dispositivo no momento da chamada de desenho. Além disso, você ainda pode expandir cada tipo de estado para exibir os eventos que definem os respetivos valores.
- Suporte para o Windows Phone 8.1 O Diagnóstico de Gráficos agora dá suporte completo à depuração de aplicativos do Windows no emulador do Phone ou no Phone conectado.
- Análise de Quadros de Gráficos Essa ferramenta coleta medições de desempenho em quadros capturados. Além disso, realiza um conjunto de experimentos predefinidos que fornece insights sobre como o desempenho seria afetado quando várias técnicas de textura são aplicadas. A Análise de Quadros também coleta contadores de desempenho do hardware.
- Interface do usuário dedicada para a Análise de Gráficos A nova janela do Analisador de Gráficos do Visual Studio é um workspace dedicado para analisar quadros de gráficos.
- Edição e Aplicação do Sombreador Visualize o impacto das alterações de código do sombreador em um log capturado sem executar o aplicativo novamente.
- Configure as opções de captura em Ferramentas->Opções->Diagnóstico de Gráficos.
- Ferramenta de linha de comando para capturar e reproduzir quadros.
- Suporte do Diagnóstico de Gráficos para o DirectX 12. A ferramenta Diagnóstico de Gráficos do Visual Studio agora dá suporte à depuração de problemas de renderização em aplicativos DirectX 12.
Nova ferramenta Uso da GPU
A ferramenta Uso da GPU do Visual Studio 2015 pode ser usada para entender o uso da GPU de aplicativos DirectX. Os grafos Tempo de Quadro, Taxa de Quadros e Utilização da GPU ficam disponíveis quando os aplicativos são executados em tempo real. Além disso, ao coletar e analisar dados detalhados de uso da GPU, essa ferramenta fornece insights sobre o tempo de execução da CPU e da GPU de eventos individuais do DirectX e, portanto, pode ser útil para determinar se a CPU ou a GPU é o gargalo de desempenho.
Habilitação da depuração de um projeto de teste gerenciado do Visual C++
Novidade desta versão: para habilitar a depuração de um projeto de teste gerenciado do Visual C++, acesse o painel “Ferramentas | Opções | Depuração | Geral” e marque a opção “Suprimir otimização JIT na carga do módulo (Somente gerenciado)”.
C# e Visual Basic
Funcionalidades de linguagem
Nesta versão, várias novas funcionalidades da linguagem C# e Visual Basic ajudam a reduzir o texto clichê e a desordem no código diário, incentivam um estilo mais declarativo de programação e aproximam ainda mais as duas linguagens. Por exemplo, há aprimoramentos sintáticos para declarações de tipo e membro e para verificação de nulos. Além disso, as variáveis locais podem ser declaradas dentro de expressões, e await pode ser usado em blocos catch e finally. Muitas dessas funcionalidades foram implementadas apenas para uma das duas linguagens em versões anteriores, mas estarão disponíveis para as duas linguagens na versão final.
- Nameof oferece uma forma segura de refatoração de obter o nome de, por exemplo, um parâmetro, um membro ou um tipo como uma cadeia de caracteres.
- Usando operadores condicionais nulos, você pode obter uma verificação interna de nulos ao acessar e invocar membros e indexadores.
- Interpolação de cadeia de caracteres: a interpolação de cadeia de caracteres oferece uma forma concisa de descrever modelos de cadeia de caracteres que inserem expressões em cadeias de caracteres de formato (C# somente no Preview, VB e C# no RTM).
- Os métodos, as propriedades somente de getter etc. já podem ter uma expressão individual como o corpo, assim como os lambdas.
- As propriedades automáticas podem ter inicializadores e não exigem mais setters.
- Inicializadores de índice: dentro de um inicializador de objeto, você já pode inicializar um índice específico do novo objeto. Somente C#.
- Os filtros de exceção permitem que você analise uma exceção e decida se deseja capturá-la com determinado bloco catch.
- O uso de cláusulas em classes estáticas leva os membros estáticos diretamente para o escopo, para que você possa chamar, por exemplo, WriteLine() ou Sqrt() sem prefixá-lo com o nome da classe.
- Await agora funciona em blocos catch e finally, dispensando algumas soluções alternativas muito complicadas.
Interface do usuário e edição do Editor de Código
As experiências de interface do usuário e edição do Editor de Código para C# e Visual Basic foram substituídas por novas experiências baseadas no .NET Compiler Platform (“Roslyn”). Muitas das funcionalidades que você já adora foram aprimoradas ou renovadas.
- As lâmpadas são a nova página inicial de todas as ações rápidas que você executa no Editor do Visual Studio, incluindo correções para problemas comuns de código e refatoração de código. Quando você tem problemas no código, uma lâmpada mostra as correções sugeridas para esses problemas. Todas as operações de refatoração foram movidas para a lâmpada. Acesse a lâmpada a qualquer momento digitando CTRL + <ponto>.
- Há duas novas operações de refatoração principais: Variável temporária embutida e Introduzir local. Veja um exemplo da nova funcionalidade Introduzir local:
E um exemplo de Variável temporária embutida:
- O suporte de refatoração para o Visual Basic foi adicionado pela primeira vez e também foi movido para a lâmpada.
- A renomeação também foi aprimorada. Agora, ela realça todas as instâncias do identificador que você deseja renomear, permitindo que você digite o novo nome para todas as instâncias de uma só vez diretamente no editor.
- Obtenha análise de código em tempo real e correções automáticas à medida que digita, com diretrizes específicas com reconhecimento de código para as plataformas Microsoft e os pacotes NuGet de destino. Na versão Preview, você precisa adicionar os analisadores FxCop em tempo real por meio de um pacote NuGet que você obtém da Galeria do NuGet, como faria com qualquer outro pacote. À medida que você efetua pull de qualquer regra especificada em tempo real, ela substitui a regra FxCop pós-build equivalente, para que você não obtenha ocorrências duplicadas. Veja um exemplo do pacote Code Analysis para Azure.
- O avaliador de expressão para C# e Visual Basic foi reescrito. Os aprimoramentos incluem suporte para expressões lambda e LINQ nas janelas Inspeção e Imediata.
F#
Funcionalidades de linguagem e runtime
O F# 4.0 contém várias novas adições de linguagem e runtime que preenchem lacunas, fazem com que mais coisas “simplesmente funcionem” e aprimoram o desempenho nas principais áreas. Vários bugs e pequenas otimizações de desempenho também foram implementadas no compilador e no runtime.
- Construtores como funções de primeira classe – Os nomes das classes já podem ser usados como valores de função de primeira classe, representando os construtores da classe.
- Unificação de ‘mutable’ e ‘ref’ – A sintaxe de ‘mutable’ já pode ser usada em todos os lugares, e os valores capturados serão automaticamente convertidos em valores ‘ref’ baseados em heap pelo compilador quando necessário. Um novo aviso opcional foi adicionado caso um desenvolvedor deseje receber uma notificação quando isso ocorrer.
- Parâmetros estáticos para os métodos fornecidos – Os métodos individuais fornecidos por provedores de tipos já podem especificar parâmetros estáticos.
- Tipos fornecidos não anuláveis – Os tipos fornecidos já podem ser especificados como não anuláveis por meio do padrão [<AllowNullLiteral(false)>].
- Citação de argumentos de método – Os argumentos de método do tipo Expr<'t> já podem ser citados de modo automático e transparente, com a transmissão do valor do argumento e da AST da expressão que o gerou.
- Gramática estendida do pré-processador – Os operadores boolianos ||, && e ! já podem ser usados com o agrupamento ( ) em diretivas #if do pré-processador.
- Expoentes racionais em unidades de medida – As unidades de medida agora dão suporte a expoentes racionais, que, às vezes, são usados em ciências físicas, como engenharia elétrica
- Uso simplificado de unidades de valores de medida com funções de estilo ‘printf’ – Os valores numéricos unificados agora funcionam perfeitamente com os especificadores de formato printf numéricos, sem a necessidade de remoção das unidades.
- Suporte para matrizes .NET de alta dimensão – As matrizes .NET de classificação 5 ou superior já podem ser consumidas pelo código F#.
- Propriedades de extensão em inicializadores de objeto – As propriedades de extensão configuráveis já podem ser atribuídas em expressões de inicializador de objeto.
- Herança de várias instanciações de interface genérica – As classes criadas pelo F# agora têm permissão para herdar de classes que implementam várias instanciações de interface genérica.
- Propriedades múltiplas em ‘StructuredFormatDisplayAttribute’ – %Uma formatação especificada por meio de [<StructuredFormatDisplay>] já pode incluir propriedades múltiplas.
- Namespace ‘Microsoft’ à esquerda opcional – Ao consumir ou abrir módulos e namespaces do FSharp.Core, o “Microsoft.” à esquerda passa a ser opcional.
Runtime do F#
- Normalização dos módulos Array, List e Seq – O conjunto de funções de processamento de coleta passa a ser consistente nos módulos Array, List e Seq (exceto as APIs não aplicáveis a determinados tipos), com implementações dedicadas e otimizadas para cada tipo.
- Hash estrutural otimizado – Foram feitas otimizações significativas para aprimorar o desempenho da comparação de hash genérico em tipos primitivos, resultando em ganhos de desempenho por APIs como ‘distinct’ e ‘groupBy’.
- Operadores de comparação não estruturais otimizados – O módulo FSharp.Core.Operators.NonStructuralComparison já pode ser aberto, substituindo os operadores de comparação estrutural F# padrão por operadores não estruturais mais eficientes. Isso pode proporcionar ganhos significativos de desempenho ao processar tipos com implementações de operador personalizadas, particularmente tipos de valor.
- Sintaxe de segmentação em listas do F# – As listas do F# agora dão suporte à sintaxe de segmentação para obtenção de sublistas.
- Extensões assíncronas para System.Net.WebClient – As extensões AsyncDownloadFile e AsyncDownloadData do WebClient já estão disponíveis.
- Melhores rastreamentos de pilha assíncronos – As exceções que ocorrem em cálculos assíncronos do F# agora carregam rastreamentos de pilha mais fáceis de usar, facilitando o diagnóstico de problemas.
- APIs de interoperabilidade para Option – Várias novas APIs foram adicionadas ao módulo Option para conversão de objetos nulos e valores System.Nullable.
- Padrão ativo de citação para valores System.Decimal – Um padrão ativo já foi incorporado para a correspondência dos valores System.Decimal de literais constantes em citações.
Funcionalidades do IDE do F#
Há novas experiências e funcionalidades nas ferramentas do Visual F# também, acompanhadas de uma série de correções de bugs.
- Depuração de script – Os scripts F# já podem ser depurados diretamente no depurador do Visual Studio.
- Metadados do assembly em modelos de projeto – Todos os modelos de projeto F# agora contêm um arquivo AssemblyInfo.fs que traz atributos de metadados comuns no assembly.
- Verificação atualizada integrada – Os projetos F# agora relatam corretamente o status “atualizado” durante a compilação no Visual Studio.
- Preenchimento do IntelliSense em inicializadores de objeto – As expressões do inicializador de objeto agora dão suporte ao preenchimento do IntelliSense de propriedades configuráveis por meio de CTRL+Espaço.
- Preenchimento do IntelliSense para parâmetros nomeados – As chamadas de método e construtor agora dão suporte ao preenchimento automático do IntelliSense de parâmetros nomeados por meio de CTRL+Espaço.
- Correções de bugs no suporte a pastas – As ferramentas do Visual F# não dão suporte direto a pastas em projetos, mas vários bugs do sistema do projeto foram corrigidos para aprimorar o suporte a pastas adicionado pela extensão Visual F# Power Tools.
O .NET Framework 4.6
A versão mais recente do .NET Framework é a 4.6. Ela traz vários aprimoramentos em tecnologias de desenvolvimento de aplicativos, como ASP.NET, Windows Communication Foundation e Windows Presentation Foundation. Também houve alterações na rede, na biblioteca de classes base do .NET Framework e no Common Language Runtime (incluindo um novo compilador JIT de 64 bits, compilação de código nativo para aplicativos da Plataforma Universal do Windows e aprimoramentos no carregador de assembly).
Apenas uma amostra das alterações inclui:
- Os métodos de model binding do ASP.NET agora retornam tarefas.
- O ADO.NET agora dá suporte à funcionalidade Always Encrypted disponível no SQL Server 2016 CTP2 (Community Technology Preview 2).
- O WPF (Windows Presentation Foundation) oferece melhor suporte para toque e layout de HDPI aprimorado.
- O WCF (Windows Communication Foundation) agora dá suporte ao SSL versão TLS 1.1 e TLS 1.2, além do SSL 3.0 e TLS 1.0.
- A biblioteca de classes base do .NET Framework inclui aprimoramentos na coleta de lixo, no padrão assíncrono baseado em tarefas e na criptografia. Também adiciona tipos de vetor habilitados para SIMD, bem como suporte para opções de compatibilidade que permitem que os desenvolvedores forneçam um mecanismo de recusa uniforme para a funcionalidade com suporte de uma nova versão das respectivas bibliotecas.
Para ver detalhes adicionais e uma lista completa das novas funcionalidades adicionadas ao .NET Framework, confira Novidades do .NET Framework.
Entity Framework
Esta versão inclui uma versão prévia do Entity Framework 7 e uma atualização do Entity Framework 6 que inclui principalmente correções de bugs e contribuições da comunidade.
Entity Framework 7
A nova versão do Entity Framework permite novas plataformas e novos armazenamentos de dados. O Windows Phone, a Windows Store, o ASP.NET 5 e o aplicativo de área de trabalho tradicional já podem usar o Entity Framework. Esta versão da estrutura dá suporte a bancos de dados relacionais, bem como armazenamentos de dados não relacionais, como o Armazenamento de Tabelas do Azure e o Redis. Ela inclui uma versão prévia antecipada do runtime do EF7 que é instalado em novos projetos ASP.NET 5. Para obter mais informações sobre o EF7, confira O que é o EF7.
Entity Framework 6.x
Esta versão inclui a versão do Entity Framework 6.1.3 do runtime e das ferramentas. O Entity Framework 6.1.3 inclui correções de bugs e contribuições da comunidade. Veja uma lista das alterações incluídas no Entity Framework 6.1.3.
O runtime do Entity Framework 6.1.1 está incluído em vários locais nesta versão.
- O runtime será instalado se você criar um modelo usando as Ferramentas do Entity Framework em um projeto que ainda não tenha o runtime do EF instalado.
- O runtime é pré-instalado em novos projetos ASP.NET, dependendo do modelo de projeto selecionado.
Visual Studio IDE
Contas compartilhadas
Como novidade desta versão, você pode compartilhar as contas de usuário que você adicionar no Visual Studio com outros aplicativos, por exemplo, com o Blend para Visual Studio ou com o Microsoft Test Manager (e vice-versa).
Projetos compartilhados
Nesta versão, há novos modelos disponíveis para criar projetos compartilhados vazios para Visual Basic, C# e JavaScript. Esses projetos compartilhados já podem ser referenciados por vários tipos de projeto:
- Qualquer projetos VB/C# sem variante (por exemplo, aplicativos de console, bibliotecas de classes, aplicativo do WinForm)
- Windows Store 8.1 e Windows Phone 8.1 (VB/C#/JavaScript)
- Windows Phone Silverlight 8.0/8.1 (VB/C#)
- WPF e PCL
Você pode adicionar/remover referências em projetos compartilhados por meio do Gerenciador de Referências, na guia Projetos Compartilhados. A referência de projeto compartilhado é exibida no nó Referências do Gerenciador de Soluções, mas o código e os ativos do projeto compartilhado são tratados como se fossem arquivos vinculados ao projeto principal.
Editor de Código (todas as linguagens)
A opção Localizar em Arquivos foi aprimorada, permitindo que os resultados seguintes sejam acrescentados aos resultados anteriores. Além disso, os resultados acumulados podem ser excluídos.
O suporte de toque já está disponível no editor do Visual Studio para os seguintes gestos:
- Rolagem (tocar e arrastar na superfície do editor nas barras de rolagem normal e aprimorada)
- Pinçar para ampliar
- Seleção de uma linha inteira tocando na margem do editor e seleção de palavras dando um toque duplo nelas
- Invocação do menu de contexto do editor pressionando e segurando
Estamos cientes de um problema com o toque em que o gesto de toque duplo nem sempre é confiável em níveis de zoom mais baixos. Queremos ouvir comentários sobre o novo suporte de toque e, em particular, qualquer problema que você possa encontrar.
XAML Designer
Os clientes do Visual Studio já poderão editar os modelos e os estilos armazenados em dicionários de recursos externos no contexto do uso. Essa experiência foi refinada para usar a função Espiar para proporcionar uma verdadeira edição de recursos in-loco no Designer XAML.
Layouts de janela personalizados
Você já pode salvar layouts de janela personalizados clicando em Salvar Layout de Janela no menu Janela e aplicar um layout personalizado clicando em Aplicar Layout de Janela no menu Janela. Aplique também um layout usando os atalhos de teclado atribuídos previamente. Os primeiros nove layouts também têm atalhos de teclado, que vão de CTRL + Alt + 1 a CTRL + Alt + 9. Outras tarefas que você pode realizar incluem excluir, renomear e reordenar layouts clicando em Gerenciar Layout da Janela no menu Janela.
Ícones de alta resolução
O Visual Studio dá suporte a ícones de alta resolução nas barras de comandos, nas barras de ferramentas da janela de ferramentas (padrão), nos menus principais, na Lista de Erros, na barra de status e em alguns tipos de projeto do Gerenciador de Soluções quando o dispositivo é executado com ajuste de DPI superior a 100%.
Aprimoramentos na interface do usuário
- Os menus agora são exibidos no estilo Capitalização de Título em vez do estilo TODAS EM MAIÚSCULAS.
- Os valores suspensos Configuração e Plataforma da caixa de diálogo Página de Propriedades do Visual C++ foram alterados para lembrar a última seleção de usuário quando a página de propriedades é fechada e reaberta.
Comentários do Visual Studio
Aprimoramos a experiência de Enviar um Rosto de Desaprovação com ferramentas melhores para relatar lentidão, travamentos e falhas. Você já pode anexar arquivos ou marcar seus comentários para descrever melhor o problema também. Além disso, atualizamos os ícones de Feedback e os itens de menu para aprimorar a capacidade de descoberta.
Extensibilidade do Visual Studio
- Você já pode usar ícones de alta resolução nas extensões do Visual Studio.
- Os suplementos deixaram de ter suporte nesta versão. Removemos os modelos de projeto de suplemento do Visual Studio e o Gerenciador de Suplementos. Recomendamos que você converta seus suplementos em extensões VSPackage. Para obter mais informações, confira as Perguntas frequentes: conversão de suplementos em extensões VSPackage.
- Você já pode abrir um projeto de extensibilidade mesmo se não tem o SDK do Visual Studio instalado.
- Além disso, você pode instalar o SDK do Visual Studio usando a instalação do Visual Studio. Não é mais necessário acessar um site. Para fazer isso: no menu Adicionar/Remover Programas, clique com o botão direito do mouse no Visual Studio 2015 e selecione Modificar. Na caixa de diálogo Configuração do Visual Studio, marque a opção Ferramentas de Extensibilidade do Visual Studio em Ferramentas Comuns.
- Para aumentar a portabilidade e o compartilhamento de projetos de extensão, você pode usar as versões do NuGet dos assemblies de referência do SDK do Visual Studio. Para obter mais informações, confira os assemblies publicados pela Extensibilidade do Visual Studio.
Saiba mais sobre a Extensibilidade do Visual Studio.
Blend
Reprojetamos o Blend para Visual Studio 2015, a fim de proporcionar uma experiência aprimorada de desenvolvimento de interface do usuário para criar belos aplicativos XAML. O Blend tem uma nova aparência elegante consistente com o Visual Studio, suporte ao Gerenciador de Soluções e ao Team Explorer e uma experiência de recarregamento de arquivos enriquecida para facilitar um melhor fluxo de trabalho entre o Blend e o Visual Studio. Também fornecemos as funcionalidades mais desejadas do Blend para ajudar você na produtividade:
- Você já pode escrever um XAML com mais eficiência usando o IntelliSense XAML que fornece preenchimento de declaração e navegação para o código-fonte.
- Você também pode visualizar e editar controles e recursos XAML no contexto em que eles são usados com a opção Espiar Definição do XAML.
- Agora ficou mais fácil localizar e corrigir problemas de interface do usuário no aplicativo em execução com as ferramentas de interface do usuário para depuração XAML que permitem inspecionar a árvore visual dinâmica e as propriedades de qualquer elemento da árvore.
- Com o suporte ao NuGet adicionado, você pode gerenciar pacotes NuGet no Blend.
- Também substituímos a funcionalidade Workspace de Animação pela funcionalidade mais avançada Layouts Sincronizados, que você pode usar para criar muitos layouts de janela diferentes e usar um perfil móvel neles entre computadores.
- Para usuários avançados que preferem usar o teclado em vez do mouse, tornamos os painéis do designer do Blend totalmente acessíveis.
- Finalmente, como parte do esforço contínuo da Microsoft para criar programas de software universalmente acessíveis, o Blend passa a ser um leitor de tela inteira e acessível de alto contraste.
Para saber mais sobre as novas funcionalidades adicionadas ao Blend, acesse nossa postagem no blog Preview.
Depuração e Diagnósticos
Edição e continuação gerenciadas na anexação
A partir do RC, você pode editar e continuar quando faz anexações a aplicativos .NET e quando a variável de ambiente
complus_forceenc é definida como 1 no processo de destino.
Configuração de ponto de interrupção
A nova janela Configurações de Ponto de Interrupção permite especificar condições e ações para os pontos de interrupção. A janela inclui suporte aprimorado ao IntelliSense para condições e ações de ponto de interrupção. Use a opção Desfazer (CTRL+Z) para restaurar pontos de interrupção excluídos.
Expressões lambda nas janelas do depurador
Você já pode usar expressões lambda nas janelas Inspeção, Imediata e em outras janelas do depurador em C# e Visual Basic.
PerfTips
Use a funcionalidade PerfTips para ver quanto tempo o código levou para ser executado diretamente no editor ao definir pontos de interrupção e executá-los em etapas com o depurador.
Uso de GPU
Use a ferramenta Uso da GPU para entender o uso da GPU de aplicativos DirectX. Os grafos Tempo de Quadro, Taxa de Quadros e Utilização da GPU ficam disponíveis quando os aplicativos são executados em tempo real. Além disso, ao coletar e analisar dados detalhados de uso da GPU, essa ferramenta pode fornecer insights sobre o tempo de execução da CPU e da GPU de cada evento individual do DirectX e, portanto, pode ser útil para determinar se a CPU ou a GPU é o gargalo de desempenho.
Aprimoramentos no depurador do C++
Quando o depurador do C++ é interrompido em pontos de interrupção, ele pode executar o código para calcular resultados, como para mostrar dados nas janelas Inspeção e Imediata. Se o depurador detectar que uma função chamada está em deadlock, ele tentará resolver o problema.
Quando um depurador do C++ inicia um processo, o Windows agora aloca a memória usando o heap normal em vez do heap normal de depuração. Isso resulta em um início mais rápido para a depuração.
Ferramentas de depuração de interface do usuário para XAML
Adicionamos duas novas ferramentas, a Árvore Visual Dinâmica e o Explorador de Propriedades Dinâmicas, que inspeciona a árvore visual do aplicativo WPF em execução, bem como as propriedades em qualquer elemento da árvore. Essas ferramentas permitem que você selecione qualquer elemento no aplicativo em execução e mostre as propriedades finais, computadas e renderizadas. As ferramentas também incluem o seguinte:
- Árvore Visual Dinâmica. Agora, você pode visualizar a árvore visual completa de um aplicativo em execução durante uma sessão de depuração. A Árvore Visual Dinâmica está disponível quando você pressiona F5 no Visual Studio ou faz uma anexação a um aplicativo em execução. Use a Árvore Visual Dinâmica para selecionar elementos em um aplicativo em execução para inspeção no Explorador de Propriedades Dinâmicas. A contagem de descendentes é exibida e, se as informações de origem estiverem disponíveis, você poderá localizar instantaneamente o arquivo e o local da definição do elemento.
- Explorador de Propriedades Dinâmicas. Use essa nova ferramenta para inspecionar as propriedades definidas em qualquer elemento em um aplicativo em execução, agrupadas pelo escopo definido. Você pode modificar essas propriedades durante uma sessão de depuração e ver imediatamente as alterações no aplicativo em execução.
Pode ser difícil separar como as propriedades se sobrepõem umas às outras e descobrir o comportamento vencedor em tempo de design. Agora, usando nossas novas ferramentas de depuração de interface do usuário para XAML, você pode executar essas inspeções em runtime.
(O suporte para aplicativos da Windows Store será lançado em uma atualização futura).
Configurações de exceção
Você pode definir as configurações de exceção do depurador usando a janela da ferramenta Configurações de Exceção. A nova janela não é modal e inclui funcionalidades aprimoradas de desempenho, pesquisa e filtro.
Guia Linha do Tempo
Nossa nova ferramenta Linha do Tempo fornece uma exibição centrada no cenário dos recursos consumidos pelos seus aplicativos que você pode usar para inspecionar, diagnosticar e aprimorar o desempenho de aplicativos WPF e Windows Store 8.1.
A ferramenta Linha do Tempo que se encontra no hub Desempenho e Diagnóstico mostra quanto tempo seu aplicativo gasta na preparação de quadros de interface do usuário e no atendimento de redes e solicitações de disco. A ferramenta faz isso no contexto de cenários como Carregamento de Aplicativo e Carregamento de Página.
Ferramentas de Diagnóstico
Adicionamos uma nova janela Ferramentas de Diagnóstico que é exibida quando você inicia a depuração (pressiona F5). A janela Ferramentas de Diagnóstico contém as seguintes funcionalidades:
- Eventos (com o IntelliTrace)
Os Eventos (com o IntelliTrace) fornecem acesso a todos os eventos de Interrupção do Depurador, de Saída e do IntelliTrace coletados durante a sessão de depuração. Os dados são apresentados como uma linha do tempo e como uma exibição de tabela. As duas exibições são sincronizadas e podem interagir uma com a outra. - Uso de Memória
A ferramenta Uso de Memória permite que você monitore o uso de memória do aplicativo durante a depuração. Você também pode tirar e comparar instantâneos detalhados de memória nativa e gerenciada para analisar a causa do aumento e das perdas de memória. - Uso da CPU
A ferramenta Uso da CPU permite que você monitore o uso da CPU do aplicativo durante a depuração.
(Essa ferramenta substitui a PerfTip Tempo de CPU, disponível na versão Preview do Visual Studio 2015).
Nas versões anteriores, a janela Ferramentas de Diagnóstico dava suporte aos seguintes tipos de projeto e configurações de depuração:
- Projetos gerenciados do WPF, do WinForms e de console
- Projetos nativos do Win32, de console e do MFC
- ASP.NET 4 usando somente o IIS Express
- Projetos gerenciados ou nativos da Windows Store em execução local
(Não há suporte para projetos da Windows Store que estejam usando JavaScript ou em execução em um telefone)
Na versão RC, a janela Ferramentas de Diagnóstico traz os seguintes aprimoramentos:
- Pode ser movida para qualquer local da janela dentro do Visual Studio e reconhece a localização e o tamanho entre as sessões de depuração
- É exibida e mostra dados de um só processo durante a anexação a um processo por meio de Depurar -> Anexar ao processo
- É exibida durante a depuração de projetos ASP.NET em execução no IIS
- É exibida durante a depuração de projetos ASP.NET 5
- É exibida durante a depuração de um aplicativo em execução em um dispositivo de área de trabalho remota do Windows
- Os instantâneos de memória podem ser exibidos depois que você interrompe a depuração
- Os eventos do depurador (somente eventos de interrupção) estão disponíveis durante a depuração de projetos nativos
Além disso, adicionamos as seguintes novas funcionalidades à versão RC:
Apenas Meu Código. Quando você pressionar F5 para iniciar o depurador, ele mostrará apenas seu código, para que você possa entender problemas de desempenho e exceções sem o ruído da estrutura e outros códigos. Como essa nova funcionalidade de filtragem de código do IntelliTrace suprime o código do sistema e expõe apenas o código do usuário, ela facilita a depuração de “apenas meu código”.
Ferramentas de Diagnóstico de Rede. Essa nova ferramenta de diagnóstico de rede pode ajudar você a diagnosticar problemas relacionados à rede ao criar aplicativos da Windows Store, bem como aplicativos universais executados em todos os dispositivos Windows 10, do Windows Phone ao Xbox e à Windows Store.
A ferramenta de diagnóstico de rede registra informações sobre as operações de rede HTTP do aplicativo, incluindo cabeçalhos de solicitação e resposta HTTP, conteúdos de solicitação e resposta, cookies e informações detalhadas de tempo, entre outros. A ferramenta de diagnóstico de rede também pode ajudar a responder a perguntas sobre cenários comuns, como:
- Problemas relacionados à autenticação (por exemplo, por que você não consegue acessar um recurso)
- Problemas relacionados ao cache (por exemplo, por que você não está obtendo a última versão de um recurso)
- Quantos bytes são baixados ao executar tarefas comuns dos aplicativos
- Onde estão os gargalos ao acessar e baixar um recurso
Para acessar a ferramenta Rede, abra a janela Ferramentas de Diagnóstico no Visual Studio 2015. No menu Depurar, selecione Iniciar Ferramentas de Diagnóstico sem Depurar. Como alternativa, basta pressionar ALT+F2.
Fizemos os seguintes aprimoramentos na janela Ferramentas de Diagnóstico que é exibida durante a depuração:
- Os eventos do seu aplicativo agora são exibidos em um só acompanhamento de Eventos do IntelliTrace, em vez de divididos entre os acompanhamentos de Eventos do IntelliTrace e Eventos de Saída.
- Os eventos do aplicativo agora são exibidos enquanto o programa está em execução. Você não precisa mais pressionar “Interromper Tudo” para ver os eventos.
- Você já pode ativar a depuração histórica para pontos de rastreamento que você definiu no código, permitindo que você veja o código-fonte e a pilha de chamadas.
- Já é possível ver os eventos Coleta de Lixo e Instantâneo no grafo Uso de Memória para ver quando ocorreram coletas de lixo gerenciadas e quando você tirou instantâneos com a ferramenta Uso de Memória.
ASP.NET
ASP.NET 4.6
O model binding do ASP.NET dá suporte a métodos de retorno de tarefa
Os métodos de model binding do ASP.NET que anteriormente eram de retorno de tarefa não tinham suporte e geravam uma exceção em runtime, se configurados. Se os aplicativos são implantados com esses métodos, esses métodos já são executados corretamente. Essa alteração só se aplica aos aplicativos direcionados especificamente ao .NET 4.6 ou posterior.
Habilitação do .NET Compiler Platform (“Roslyn”) em aplicativos ASP.NET
Use as novas funcionalidades de linguagem do C# e do VB em qualquer projeto ASP.NET 4.6. Os modelos do Web Forms no VS 2015 têm o pacote Microsoft.CodeDom.Providers.DotNetCompilerPlatform pré-instalado.
Adição de suporte a HTTP/2
No Windows 10 e no .NET Framework 4.6, adicionamos suporte a HTTP/2. A principal meta do HTTP/2 é aprimorar o desempenho, a latência e o uso da rede por meio de uma só conexão dos navegadores com um site.
Atualização de estruturas e controles para dar suporte ao Entity Framework 6
Atualizamos a Estrutura de Dados Dinâmicos, o Controle de Fonte de Dados da Entidade e os Provedores Universais para que eles funcionem com o Entity Framework 6.
Atualizações de autenticação
Os modelos ASP.NET 4.6 já usam o middleware Open ID Connect para autenticação no Azure AD. Isso facilita muito a autenticação do modelo de programação no Azure AD.
Se você selecionar a opção “Contas de Usuário Individuais”, os modelos ASP.NET 4.6 mostrarão como usar a autenticação de dois fatores e os logons sociais usando o ASP.NET Identity.
ASP.NET MVC 5.2.3, Páginas da Web 3.2.3 e Web API 5.2.3
Atualizamos os pacotes de modelos para usar os últimos pacotes de runtime do MVC 5.2, das Páginas da Web 3.2 e da Web API 2.2. Para ver os detalhes dessas atualizações de pacotes, confira a postagem no blog Lançamento do ASP.NET MVC 5.2.3, das Páginas da Web 3.2.3 e do Web API 5.2.3.
ASP.NET Web API OData 5.3.1
Atualizamos os scaffolders OData do Web API para usar o ASP.NET Web OData 5.3.1. Para saber mais, confira Novidades do ASP.NET Web API OData 5.3.
SignalR 2.1.2
Atualizamos os pacotes de modelos para usar o SignalR 2.1.2. Confira a nota sobre a versão do SignalR no GitHub.
Pacote do Microsoft Owin 3.0
Atualizamos os pacotes de modelos para usar pacotes NuGet do Microsoft Owin 3.0. Confira o projeto Katana.
ASP.NET Identity 2.2.1
O ASP.NET Identity 2.2.1 traz várias correções de bugs e aprimoramentos de desempenho em relação à 2.1. Leia esta postagem no blog do ASP.NET Identity 2.2.1 para ver mais detalhes.
Atualizações das ferramentas do ASP.NET
Aprimoramentos no editor JSON
Fizemos alguns aprimoramentos no editor JSON, incluindo aprimoramentos de desempenho, como carregar o esquema JSON de maneira assíncrona, armazenar em cache os esquemas filho e dar suporte a um IntelliSense melhor. Além disso, há as seguintes novas funcionalidades:
- Validação de esquema JSON. Adição da funcionalidade de validação de esquema JSON, com base no esquema definido na lista suspensa de esquemas.
- Desminificação do menu de contexto. Clique com o botão direito do mouse no editor JSON e selecione Desminificar menu de contexto para desminificar as matrizes longas no arquivo JSON.
- Menu de contexto Recarregar Esquemas. O Visual Studio armazenará em cache o esquema baixado da Internet e usará o cache mesmo depois de você reiniciar o Visual Studio. Se você souber que o esquema foi alterado, poderá usar o menu de contexto Recarregar Esquemas (CTRL+SHIFT+J) para baixar novamente o atual esquema usado no documento JSON ativo e, em seguida, usá-lo imediatamente no documento atual.
- IntelliSense para package.json/bower.json. Além de experimentar o IntelliSense e a validação nos arquivos package.json e bower.json, o Visual Studio também fornece o IntelliSense em tempo real para pacotes Bower e npm diretamente no editor JSON.
- Validação de propriedade duplicada. O editor JSON agora fornecerá validação para qualquer propriedade duplicada. Isso ajuda a detectar um problema comum com a criação de arquivos JSON.
- O suporte para o IntelliSense e a validação de arquivos JSON foi consideravelmente aprimorado por meio do suporte completo à especificação do rascunho v4 do esquema JSON. Agora ficou muito mais fácil identificar as propriedades obrigatórias, e o editor permite que você classifique as propriedades em ordem alfabética com facilidade. A formatação de um arquivo JSON minificado agora vai desminificá-lo automaticamente.
- Adicionamos suporte para o SchemaStore.org, uma coleção de código aberto de arquivos úteis do esquema JSON. Isso significa que qualquer arquivo JSON aberto no Visual Studio que tenha um esquema associado no SchemaStore.org obtém automaticamente o IntelliSense e a validação.
- O suporte para autores de esquema JSON também foi aprimorado por uma melhor validação de integridade de esquema.
Aprimoramentos no editor de HTML
O editor de HTML atualizou o IntelliSense para os padrões da Web e introduziu as seguintes novas funcionalidades:
- Melhor formatação de modelo de cliente. O editor de HTML não analisa mais nem formata a sintaxe em chaves duplas {{…}}. Isso ocorre para garantir que o conteúdo dessa sintaxe não seja um HTML tratado e, portanto, invalidado, nem tente formatar o conteúdo, o que não pode ser feito corretamente com o formatador HTML. Essa função é excelente para o Angular, o Handlebars, o Mustache e outros tipos de sintaxe de modelo em chaves duplas.
- Suporte para elementos personalizados, elementos de polímero e atributos. O editor de HTML deixou de validar atributos desconhecidos em elementos personalizados, porque estruturas diferentes têm muitas marcas personalizadas. Não haverá mais rabiscos sob os elementos desconhecidos.
- IntelliSense básico para Componentes da Web. O editor de HTML traz o IntelliSense para <link rel="import" />, que faz parte do padrão Componentes da Web.
- Dicas de ferramentas para elementos HTML. Dicas de ferramentas são fornecidas para elementos HTML no editor.
- Suporte a #region. O editor de HTML agora dá suporte à dobragem de regiões. Você também pode usar o snippet ao redor para envolver a seleção atual.
- Suporte a comentários Todo/Hack na Lista de Tarefas.
- Ícones do Angular. Tanto as diretivas do Angular (por exemplo, <<ng-view>) como os atributos (por exemplo, ng-controller) agora são exibidos no IntelliSense com um logotipo do Angular para facilitar a identificação.
- Ícones do Bootstrap. O IntelliSense fornecido nos atributos de classe HTML agora é exibido com o logotipo do Bootstrap se o nome da classe foi definido pelo arquivo CSS do Bootstrap.
Aprimoramentos no editor de CSS/LESS/Sass
- Suporte a comentários Todo/Hack na Lista de Tarefas.
- Correção de @viewport no editor de LESS. No editor de LESS, @viewport não mostra mais avisos de verificação.
- Fornecimento de vários outros snippets. O editor de CSS/LESS/Sass agora fornece mais snippets para facilitar sua experiência de desenvolvimento.
- Uma extensão já está disponível para o Visual Studio 2015 para compilação do LESS, do Scss e do CoffeeScirpt. Baixe aqui.
Editor de JSX (React.js)
O Visual Studio agora dá suporte à sintaxe JSX de qualquer arquivo com a extensão de arquivo .jsx. Obtenha o IntelliSense, a formatação e a validação no editor à medida que você digita. Esse editor foi criado em colaboração com a equipe do Facebook que é responsável pela biblioteca do React.js.
Link do navegador
O CSS é sincronizado automaticamente. Se você salvar o arquivo CSS ou alterá-lo externamente (por exemplo, usando um compilador de LESS/Sass), isso fará com que o arquivo CSS inteiro seja recarregado no navegador. Se o arquivo não puder ser sincronizado automaticamente, o atalho CTRL+S causará uma recarga automática e o recolocará em um estado correto sem a necessidade de atualizar os navegadores vinculados (CTRL+ALT+ENTER). A funcionalidade pode ser desabilitada na barra de ferramentas.
Saiba mais sobre o ASP.NET.
ASP.NET 5
O ASP.NET 5 é uma pilha lean e combinável do .NET para a criação de aplicativos Web modernos para servidores locais e na nuvem. Ele contém os seguintes recursos:
- Novo pipeline de solicitação leve
- Execução no IIS ou auto-hospedado no seu processo
- Criado com base no novo Ambiente de Execução do .NET (DNX) que pode ser executado no .NET Framework completo ou no .NET Core, um novo runtime otimizado para nuvem que dá suporte ao verdadeiro controle de versão lado a lado
- É executado em multiplataforma no Windows, no Mac e no Linux
- Uso do NuGet para tudo, até para o próprio runtime
- Dá suporte ao ASP.NET MVC 6, uma estrutura da Web unificada para IU da Web e APIs Web
- Configuração baseada em ambiente para uma transição perfeita para a nuvem
- Injeção de dependência pronta para uso
- Novo sistema de projeto do Visual Studio e experiência de ferramentas de alta produtividade
- Todo o código aberto no GitHub por meio do .NET Foundation
O Visual Studio 2015 inclui os pacotes de runtime do ASP.NET 5 beta5. Esses pacotes ainda estão em versão prévia e não são recomendados para uso em produção. Encontre todos os detalhes sobre os aprimoramentos específicos adicionados e problemas corrigidos nas notas sobre a versão publicadas no GitHub.
O Visual Studio 2015 é fornecido com um novo sistema de projeto e uma experiência de ferramentas integradas para criar aplicativos ASP.NET 5 e trabalhar com projetos DNX. Algumas das novas funcionalidades de ferramentas incluem:
- Novo sistema de projeto para criar projetos baseados em DNX multiplataforma que são criados e executados no Windows, no Mac e no Linux.
- Modelos para criar Sites do ASP.NET 5 e APIs Web usando o MVC 6, o Identity 3 e o Entity Framework 7.
- Modelos para criar bibliotecas de classes baseadas em DNX e aplicativos de console
- Crie e distribua ferramentas de linha de comando multiplataforma por meio do NuGet.
- Instale e gerencie diferentes versões do DNX usando o Gerenciador de Versão do .NET (DNVM) no Prompt de Comando do Desenvolvedor.
- Experiência integrada para localizar, instalar e restaurar pacotes NuGet.
- Use CTRL+. para localizar e instalar pacotes NuGet para símbolos não resolvidos no código C#.
- Ferramentas integradas para desenvolvimento Web do lado do cliente usando o npm, o Grunt/Gulp e o Bower, incluindo integração de gerenciamento de pacotes e o novo Gerenciador do Executor de Tarefas.
- Execute comandos DNX no projeto diretamente do Visual Studio usando o menu suspenso do botão Executar.
- Crie perfis de inicialização personalizados que iniciam o IIS Express, incluindo a configuração de variáveis de ambiente personalizadas.
- Crie pacotes NuGet com base em um projeto individual direcionado a várias estruturas, incluindo o .NET Core.
- IntelliSense combinado na criação para várias estruturas de destino com base em um projeto individual.
- As novas funcionalidades do Razor introduzidas pelo ASP.NET 5, como os Auxiliares de Marca, agora são realçadas tanto no IntelliSense como no realce de sintaxe.
Novas funcionalidades desta versão
- Quando você abrir um projeto que exige uma versão do DNX que não está disponível, o Visual Studio solicitará a instalação da versão necessária do DNX.
- Você já pode adicionar referências a assemblies perdidos usando a caixa de diálogo Adicionar Referência.
- O modelo Aplicativo Web ASP.NET 5 agora dá suporte à opção Contas Corporativas e de Estudante para autenticação.
- A opção Host na Nuvem na caixa de diálogo Novo Projeto ASP.NET já está disponível para projetos ASP.NET 5.
- Use o Gerenciador de Servidores para fazer a edição remota de arquivos em approot para projetos do ASP.NET 5 hospedados no Azure.
Para ver mais detalhes, confira as notas sobre a versão de ferramentas no GitHub e nosso Blog de Ferramentas e Desenvolvimento para a Web do .NET.
Ferramentas do Azure
Integração ao seletor de contas
O seletor de contas é usado nas caixas de diálogo Publicação na Web e criação/seleção de Aplicativos Web para habilitar o acesso com um clique a várias contas. Você pode fazer logon uma vez em várias contas e ter acesso rápido e fácil para selecionar contas individuais à medida que publica recursos.
Aplicativos de API
O modelo de versão prévia dos Aplicativos de API, o suporte à publicação e a visibilidade do Gerenciador de Servidores foram todos migrados para o Visual Studio 2015. Você já pode criar e implantar Aplicativos de API do Azure usando a última versão do Visual Studio. Além disso, aprimoramos a funcionalidade de saída do Swagger para que os desenvolvedores de aplicativos de API tenham melhor suporte nativo para o Swagger gerado dinamicamente por meio do ASP.NET Web API.
Ferramentas do WebJobs
Você já pode controlar trabalhos Web no nó WebJob do Gerenciador de Servidores em um site do Azure das seguintes maneiras:
- Nós do WebJobs abaixo dos nós do site no Gerenciador de Servidores.
- Iniciar/Parar WebJobs Contínuos por meio do Gerenciador de Servidores.
- Executar trabalhos sob demanda ou agendados no Gerenciador de Servidores.
- Exibir o Painel do WebJob no Gerenciador de Servidores.
- O menu de contexto Exibir Painel: use-o para acessar o painel do WebJob do site do Azure.
SDK de WebJobs
Os modelos de projeto do Azure WebJob têm o SDK do WebJobs pré-instalado.
NuGet
NuGet 2.8.3
Adicionamos suporte para o projeto DevExtreme e BizTalkProject 2.8.3. Para obter informações detalhadas, confira Notas sobre a versão do NuGet 2.8.3.
Gerenciador de Pacotes NuGet
Atualizamos a interface do usuário do Gerenciador de Pacotes NuGet para facilitar o gerenciamento de pacotes em uma solução inteira no Visual Studio 2015. Com uma exibição unificada entre os pacotes instalados nos projetos, você pode filtrar a lista de pacotes disponíveis da galeria do NuGet, os pacotes instalados e os pacotes que têm atualizações disponíveis.
Galeria do NuGet
Aprimoramos o desempenho da galeria do NuGet com um novo serviço Web e cliente integrado. Encontre mais detalhes sobre as atualizações do NuGet em http://docs.nuget.org.
JavaScript
Suporte para o editor de JavaScript
Atualizamos o editor de JavaScript para torná-lo ainda mais útil.
- Suporte às ferramentas do AngularJS. Agora quando você estiver escrevendo aplicativos com o AngularJS, o IntelliSense fornecerá sugestões para controladores, serviços, alocadores, diretivas e animações do Angular.
- Há suporte para novas funcionalidades de linguagem JavaScript (da versão ES6 do JavaScript), incluindo classes, funções de seta e cadeias de caracteres de modelo.
- Suporte a projetos compartilhados da barra de navegação. Você já pode usar a barra de navegação no projeto compartilhado em projetos de aplicativos universais do Windows.
- Nova barra de navegação. A nova barra de navegação facilita a navegação entre os principais elementos no código-fonte JavaScript.
- Comentário do JSDoc. Os comentários da documentação escritos no formato JSDoc agora são mostrados durante o uso do IntelliSense. (Para obter mais informações sobre os comentários do JSDoc, confira https://jsdoc.app/).
- IntelliSense para literal de objeto. O editor de JavaScript fornece sugestões do IntelliSense ao transmitir um literal de objeto para funções documentadas por meio do JSDoc.
- Expandir/recolher. Você pode expandir e recolher mais seções do código JavaScript, incluindo comentários de várias linhas, matrizes de várias linhas e todos os blocos de várias linhas.
- Suporte à Lista de Tarefas. Use a funcionalidade Lista de Tarefas para revisar comentários de tarefas, como // TODO, no código JavaScript.
TypeScript
O Visual Studio 2015 inclui a versão 1.5 das ferramentas TypeScript. Essa versão adiciona suporte avançado para o ECMAScript 6, incluindo módulos, desestruturação, for..of, espalhamento, símbolos, propriedades computadas, let/const para ES3/ES5 e modelos de cadeia de caracteres marcados para ES3/ES5. Além do suporte para o ES6, o TypeScript 1.5 também adiciona suporte para a proposta experimental de decorador do ES7, saídas de módulo UMD e System.js e um novo arquivo de projeto leve e portátil chamado “tsconfig.json”.
IntelliTest
No Visual Studio 2015, adicionamos o IntelliTest que explora o código .NET para gerar dados de teste e um conjunto de testes de unidade. Para cada instrução no código, é gerada uma entrada de teste para executar essa instrução. Uma análise de caso é realizada para cada branch condicional do código. Por exemplo,
Todas as operações que podem gerar exceção, como instruções if e declarações, são analisadas. Essa análise é usada para gerar dados de teste para um teste de unidade parametrizado de todos os métodos, criando testes de unidade com máxima cobertura de código. Depois, você traz seu conhecimento de domínio para aprimorar esses testes de unidade.
Também adicionamos a seguinte funcionalidade ao IntelliTest:
- Testes de unidade parametrizados. O IntelliTest habilita o suporte para uma API que você pode usar para orientar a geração de dados de teste, especificar propriedades de correção do código em teste e direcionar a exploração do código em teste. Essa API está disponível no namespace Microsoft.Pex.Framework e pode ser usada nos métodos de teste (testes de unidade parametrizados, métodos de fábrica) gerados pelo IntelliTest. Consequentemente, o comando de menu de contexto “IntelliTest” agora também está disponível nos métodos de teste gerados.
- Criação de stubs de teste. A opção “Criar Testes de Unidade” já está disponível no menu de contexto como um comando que fornece a capacidade de criar e configurar um projeto de teste, uma classe de teste e um stub de teste.
Para obter mais informações sobre o IntelliTest (antigo “Testes de Unidade Inteligentes”), confira Gerar testes de unidade para seu código com o IntelliTest.
Application Insights
Junto com vários aprimoramentos de desempenho e correções de bugs, o Application Insights agora inclui as seguintes atualizações:
- As ferramentas do Application Insights no Visual Studio agora fazem parte do Visual Studio Connected Services. (Para adicionar o Application Insights, abra a caixa de diálogo Connected Services e escolha Application Insights na lista de serviços).
- Essa atualização é totalmente compatível com os projetos que tinham o Application Insights adicionado no Visual Studio 2013 Update 3 ou no Visual Studio 2013 Update 4.
- Os desenvolvedores do ASP.NET 5, os desenvolvedores de Aplicativos universais do Windows 10 e os desenvolvedores de Aplicativos universais do Windows 8.1 podem adicionar o Application Insights aos projetos diretamente do Visual Studio.
- Os desenvolvedores de Aplicativos universais do Windows 10 não precisam estar conectados ao Azure para adicionar o SDK do Application Insights. Eles podem adicioná-lo usando as ferramentas do Application Insights no Visual Studio.
- Como o Application Insights usa o seletor de contas global do Visual Studio, você pode usar a mesma conta no Visual Studio.
- Você já pode visualizar informações de “introdução” do Application Insights diretamente na pasta Referência de Serviço do projeto. Basta clicar na pasta Introdução.
Gerenciamento de Versões
Com essa funcionalidade, você pode aprimorar o processo de gerenciamento da versão do aplicativo, implantá-lo em um ambiente específico para cada fase separada e gerenciar as etapas do processo com aprovações para cada etapa. Configure um pipeline de lançamento do check-in à implantação sem precisar instalar nem manter um servidor de gerenciamento de versão local usando o serviço Release Management para Visual Studio Online.
Uma versão atualizada do Release Management está disponível para o Visual Studio 2015. Ela é muito semelhante ao Release Management para Visual Studio 2013 existente, mas oferece desempenho aprimorado nas seguintes áreas:
- A página de inicialização do cliente de gerenciamento de versão que mostra uma visão geral do processo de lançamento e notificações.
- Renderização e interatividade em outras páginas do cliente de gerenciamento de versão, por meio do cache adicional.
- Sincronização dos grupos de segurança do Active Directory e do TFS.
- Criação de versões.
Você já pode definir componentes e definições de versão para definições de build do novo sistema de build incluído no Team Foundation Server 2015. Ao definir o componente, você também pode especificar o artefato para o componente usando um nome de componente que seja igual (ou que contenha) o nome do artefato publicado da definição de build.
Controle de versão do Git
Ficou mais fácil trabalhar com os branches e ver as divergências de alterações no histórico.
Ramificações
Você pode organizar os branches hierarquicamente especificando um prefixo:
Os branches locais e os branches remotos (incluindo aqueles que você não criou no local) são mostrados separadamente em um modo de exibição de árvore.
Além disso, por meio do RC, reformulamos a página Branches:
- Você já pode fazer mesclagens em branches remotos, bem como branches locais.
- O branch no qual você faz a mesclagem já foi corrigido para o branch com check-out.
- Você já pode trocar a base do branch atual para qualquer branch local ou remoto.
- Faça check-out de um branch remoto clicando duas vezes ou clicando com o botão direito do mouse nele e selecionando Check-out.
Gerenciamento de repositórios remotos
Você já pode configurar seus repositórios remotos Git no Team Explorer. Em Configurações do Repositório, há uma nova seção Repositórios Remotos que mostra os repositórios remotos atualmente configurados, na qual você pode adicionar, editar ou remover repositórios remotos. Por exemplo, se você precisar alterar a URL do repositório remoto de origem, clique em Editar e altere a URL de busca e/ou push.
Histórico detalhado
Você já pode ver as divergências de commits no histórico.
No grafo, os commits de mesclagem são cinza e os commits sem mesclagem têm uma cor mais brilhante. Você pode alternar entre as exibições simples e detalhada. Se o grafo estiver truncado, você poderá redimensioná-lo.
Fizemos várias atualizações no grafo Histórico na versão RC:
- Adicionamos uma barra de ferramentas que permite controlar o nível de detalhes visto no grafo.
- Agora realçamos as linhas do histórico para indicar quais commits podem ser acessados por meio do commit selecionado no momento.
- As duas linhas do histórico já são mostradas, caso os branches local e remoto sejam distintos. Isso é especialmente útil após a troca de base de um branch local.
Troca de base no Team Explorer
Agora damos suporte à troca de base no Team Explorer. Para iniciar uma troca de base, clique no submenu de troca de base na página Branches ou clique com o botão direito do mouse em um branch e selecione “Trocar Base em…”
Repositórios do VSO
Aprimoramos a experiência de “introdução” ao criar um repositório do VSO e, em breve, teremos muitas outras alterações para simplificar a criação de repositórios. No RC, fizemos uma pequena alteração para facilitar a adição de novo código a um repositório existente: se você se conectar a qualquer repositório usando o Team Explorer, selecione Arquivo > Novo Projeto. A caixa de diálogo agora começará na raiz desse repositório conectado.
Publicar no Visual Studio Online
A funcionalidade Publicar no Visual Studio Online simplifica de maneira considerável o processo de publicar o repositório local no Visual Studio Online. O que antes levava 12 etapas, agora leva duas. Na página Sincronização do Team Explorer, a nova seção Publicar no Visual Studio Online permite selecionar qualquer uma das contas de usuário no gerenciador de contas do Visual Studio. Suas contas online do Visual Studio ficam automaticamente disponíveis em uma lista. Não há necessidade de lembrar as URLs. Quando você estiver pronto para compartilhar o código, basta escolher um projeto de equipe novo ou existente para hospedar seu repositório, clicar em Publicar e pronto.
Logon único
Você, como muitos outros desenvolvedores hoje, aproveita vários serviços de nuvem ao desenvolver seus aplicativos. Por exemplo, é provável que tenha adicionado um back-end de nuvem aos aplicativos para armazenar dados, armazenado o código-fonte na nuvem ou publicado um aplicativo em uma loja.
No passado, cada um desses serviços exigia um processo de entrada separado, e cada serviço gerenciava o estado do usuário conectado separadamente.
Com esta versão, reduzimos as solicitações de autenticação necessárias para acessar vários serviços de nuvem integrados no Visual Studio. Agora, quando você se autenticar no primeiro serviço de nuvem no Visual Studio, conectaremos você automaticamente ou reduziremos as solicitações de autenticação para outros serviços de nuvem integrados.
CodeLens
Saiba mais sobre o código, mantendo o foco no seu trabalho no editor. Encontre referências de código, alterações no código, itens relacionados do TFS e testes de unidade, tudo isso sem desviar a atenção do código.
Nesta versão, substituímos os indicadores “Autores” do CodeLens pelos novos indicadores de histórico “Linha do Tempo de Atividades da Equipe” e “Autores e Alterações”.
- O indicador Linha do Tempo de Atividades da Equipe mostra o último autor e quando a última alteração foi feita. A escolha desse indicador abre a Exibição de Atividades da Equipe, em que você pode procurar padrões nas alterações no código. Isso pode ajudar você a avaliar o impacto das alterações ao longo do tempo.
- O indicador Autores e Alterações mostra o número de autores que fizeram alterações no arquivo e o número de alterações. Se você escolher esse indicador, será aberta uma lista de todas as alterações, detalhes e links para obter mais informações e ver as versões anteriores.
Todas as informações dos indicadores ficam disponíveis quando o código é hospedado no Controle de Versão do Team Foundation (tanto no Team Foundation Server como no Visual Studio Online) e nos repositórios Git. Quando você estiver trabalhando no Team Foundation Server ou o Visual Studio Online, também poderá obter informações sobre itens de trabalho.
Esses indicadores, acompanhados dos indicadores disponíveis em versões anteriores, são exibidos no elemento de código (método, campo ou classe) em arquivos C# e Visual Basic. Este é um exemplo do indicador Linha do Tempo de Atividades da Equipe de um arquivo C#:
Já este outro é um exemplo do indicador Autores e Alterações de um arquivo C#:
No entanto, os indicadores agora são exibidos no arquivo em todos os outros tipos de arquivos (por exemplo, C++, SQL, JavaScript e outros). Este é um exemplo do indicador Linha do Tempo de Atividades da Equipe de um arquivo que não é um arquivo de código C# ou Visual Basic:
Arquitetura, design e modelagem
Mapas de código e gráficos de dependência
Quando você desejar entender dependências específicas no código, visualize-as criando mapas de códigos. Assim, você pode navegar entre essas relações usando o mapa que é exibido ao lado do código. Os mapas de códigos também podem ajudar a saber em que parte do código você está enquanto trabalha ou depura o código, para que você precise ler menos código enquanto aprende mais sobre o design do código.
Na versão RTM final, tornamos os menus de atalho para elementos de código e links muito mais fáceis de usar, agrupando os comandos em seções relacionadas à seleção, à edição, ao gerenciamento de grupos e à alteração do layout do conteúdo do grupo. Observe também que os projetos de teste são exibidos em um estilo diferente de outros projetos e que atualizamos os ícones de elementos no mapa para versões mais adequadas.
Também alteramos a maneira como o conteúdo dos elementos de código é exibido, para que você possa selecionar mais de um grupo e aplicar o estilo de layout desejado a todos eles. Agora você sempre pode obter um diagrama de dependência útil ao expandir um assembly, um namespace ou um tipo em um mapa de códigos.
Nas versões Preview e Release Candidate anteriores do Visual Studio 2015, fizemos alterações que permitem:
- Obter diagramas de cima para baixo aprimorados. Para soluções médias a grandes do Visual Studio, agora você pode usar um menu de arquitetura simplificado para obter mapas de códigos mais eficientes para sua solução. Os assemblies da solução são agrupados pelas pastas da solução, para que você possa vê-los no contexto e aproveitar o esforço usado para estruturar a solução. Você verá imediatamente as referências de projeto e de assembly e, em seguida, aparecerão os tipos de links. Além disso, os assemblies que estiverem externos à solução serão agrupados de uma maneira mais compacta.
- Obtenha mapas de código reativos mais rapidamente. As operações de arrastar e soltar produzem um resultado imediato, e os links entre os nós são criados com mais rapidez, sem afetar as operações posteriores iniciadas pelo usuário, como expandir um nó ou solicitar mais nós. Em particular, a opção “Ignorar recompilação da solução” permite obter um melhor desempenho ao criar e editar diagramas. Quando você cria mapas de códigos sem compilar a solução, todos os casos isolados, como assemblies não compilados, já são processados.
- Filtrar nós e grupos de elemento de código. Você pode organizar rapidamente seus mapas ao exibir ou ocultar elementos de código com base na categoria e ao agrupar elementos de código por pastas de solução, assemblies, namespaces, pastas de projeto e tipos.
- Filtre relações para tornar os diagramas mais fáceis de ler. Isso inclui links entre grupos, o que torna o trabalho com a janela de filtros menos invasiva do que nas versões anteriores.
- O 'Aprofundamento nos links de dependência' leva os filtros em consideração. Você obtém um diagrama simples e útil quando o expande para compreender as contribuições a um link de dependência. O diagrama está mais organizado e leva em consideração as opções de filtragem de link selecionadas.
- Criar diagramas do Modo de Exibição de Classe e do Pesquisador de Objetos. Arraste e solte arquivos e assemblies em um mapa novo ou existente nas janelas Modo de Exibição de Classe e Pesquisador de Objetos.
No geral, a lista completa de aprimoramentos feitos nos mapas de códigos inclui:
- Os projetos de teste têm estilo diferente e podem ser filtrados. Você já pode identificar rapidamente os projetos de teste em um mapa porque eles têm estilos diferentes. Além disso, eles podem ser filtrados para que você possa se concentrar no código funcional do aplicativo.
- Os elementos de código são adicionados com o contexto. Como os diagramas agora são exibidos com o contexto (até o assembly e a pasta de solução, que podem ser filtrados, se necessário), você pode obter diagramas mais eficientes ao arrastar e soltar elementos de código do Gerenciador de Soluções, do Modo de Exibição de Classe e do Pesquisador de Objetos ou ao selecionar elementos no Gerenciador de Soluções e escolher Exibir no Mapa de Códigos.
- Links de dependência externa simplificados. Os links de dependência não representam mais a herança de System.Object, System.ValueType, System.Enum e System.Delegate, o que facilita a visualização das dependências externas no mapa de códigos.
Outras alterações de design e modelagem nesta versão:
- Diagramas de camada. Atualize esses diagramas usando o Modo de Exibição de Classe e o Pesquisador de Objetos. Para atender aos requisitos de design de software, use diagramas de camada para descrever as dependências desejadas para seu software. Mantenha o código consistente com esse design localizando o código que não atende a essas restrições e validando o código futuro com essa linha de base.
- Diagramas de UML. Não é mais possível criar diagramas de classe UML e diagramas de sequência por meio do código. Porém, ainda é possível criar esses diagramas usando novos elementos UML.
- Architecture Explorer. Não é mais possível usar o Architecture Explorer para criar diagramas. No entanto, ainda é possível usar o Gerenciador de Soluções.
Serviço de linguagem XAML
Recriamos o serviço de linguagem XAML com base no .NET Compiler Platform (“Roslyn”), para que possamos oferecer uma experiência rápida, confiável e moderna de edição de XAML que inclui o IntelliSense.
Isso torna a experiência de criação de XAML igual a outras linguagens de primeira classe no Visual Studio. Também forneceremos conjuntos de funcionalidades avançados de refatoração entre linguagens em uma cadência muito mais rápida.
Diversos
Os Agentes para Visual Studio 2015 deixaram de exigir um controlador de teste
Nos Agentes para Visual Studio 2015, você não precisa de um controlador de teste separado, porque os agentes podem processar a orquestração comunicando-se com o TFS 2015 ou o Visual Studio Online.
Em todos os novos cenários do Visual Studio 2015 e do TFS 2015, recomendamos que você use os Agentes para Visual Studio 2015.
No entanto, caso você precise que o agente de teste ou o controlador de teste funcione com o TFS 2013, recomendamos o uso dos Agentes para Visual Studio 2013 Atualização 5 e a configuração do controlador de teste.
O controlador de teste é compatível com o TFS 2015, bem como com o TFS 2013. No entanto, o suporte ao Teste de Carga no Visual Studio 2015 não faz parte dos agentes. Por isso, nossa recomendação de que você instale o Agentes para Visual Studio 2013 Atualização 5 e configure o controlador.
Serviços Conectados
A nova caixa de diálogo Adicionar Serviço Conectado no Visual Studio 2015 permite que você conecte com facilidade seu aplicativo ao Azure Application Insights, ao Armazenamento do Azure, aos Serviços Móveis do Azure, ao Office 365 e ao Salesforce. Para adicionar um Serviço Conectado, clique com o botão direito do mouse no nó Referências e selecione Adicionar Serviço Conectado….
A caixa de diálogo Adicionar Serviço Conectado contém todos os provedores de Serviços Conectados atualmente instalados e oferece uma forma de obter mais informações sobre o provedor, as tecnologias usadas e se há suporte para ele no projeto atual. Outros provedores podem ser descobertos na galeria Extensões e Atualizações por meio do link Encontrar mais serviços…. A caixa de diálogo Adicionar Serviço Conectado também é extensível. Se você é um desenvolvedor de serviços, use nosso SDK do Connected Services para criar um provedor que possa aprimorar a capacidade de descoberta e impulsionar o uso dos seus serviços.
Logon único corporativo
Uma tarefa comum do aplicativo de negócios é configurar o aplicativo para o logon único corporativo por meio do Azure Active Directory. Você já pode fazer isso com facilidade a qualquer momento durante a construção do aplicativo clicando com o botão direito do mouse no aplicativo e selecionando Configurar a Autenticação do Azure AD…. Isso abrirá um assistente semelhante à experiência Adicionar Serviço Conectado para orientar você durante o processo de configuração do aplicativo para trabalhar com o Active Directory. A especificação de um domínio do Active Directory no assistente vai registrar o aplicativo nesse Active Directory e configurar o aplicativo para solicitar a entrada.
IIS 10 Express para Visual Studio 2015 RC
A versão RC incluiu uma nova versão do IIS 10 Express. A nova funcionalidade inclui suporte para HTTP 2.0, bem como uma sincronização de bits com o Windows 10.
Outras alterações: correções de bugs e problemas conhecidos
Para obter uma descrição completa de melhorias na tecnologia, correções de bug e problemas conhecidos desta versão, confira o seguinte artigo da KB (Base de Dados de Conhecimento).
Versões relacionadas
SDK 2.7 do Azure para .NET
O SDK 2.7 do Azure é o primeiro SDK do Azure com suporte para a versão final do Visual Studio 2015. Veja algumas das novas funcionalidades e atualizações que ajudarão a aprimorar sua experiência de desenvolvimento no Azure:
- Aprimoramentos de entrada para o Visual Studio 2015: o SDK 2.7 do Azure para Visual Studio 2015 agora inclui suporte para contas que acessam o Azure por meio do controle de acesso baseado em função, dos provedores de soluções de nuvem, do DreamSpark e de outros tipos de conta e assinatura.
- Cloud Explorer para Visual Studio 2015: o SDK 2.7 do Azure inclui o Cloud Explorer para Visual Studio 2015 que fornece uma ferramenta escalonável e de alto desempenho para pesquisar e exibir seus recursos do Azure, inspecionar as propriedades e executar ações importantes de desenvolvedor e diagnóstico no Visual Studio.
- Depuração remota para Máquinas Virtuais no Visual Studio 2015: processos de depuração remota em execução em Máquinas Virtuais criadas por meio da pilha do Azure Resource Manager.
- Ferramentas do Azure Resource Manager: atualizamos as Ferramentas do Azure Resource Manager para facilitar o trabalho com as novas tarefas de build do Visual Studio Online. Adicionamos também aprimoramentos para trabalhar com o RBAC (controle de acesso baseado em função) e novos tipos de assinatura.
- Ferramentas do Serviço de Aplicativo do Azure: as Ferramentas do Serviço de Aplicativo também já estão disponíveis no Visual Studio 2015. Essa atualização traz suporte à criação de perfil remota para Aplicativos Web, aprimoramentos na geração do Swagger para Aplicativos de API e suporte a entrada em várias contas. As ferramentas do Serviço de Aplicativo agora usam as APIs de Gerenciamento de Recursos do Azure para todas as funcionalidades e habilitam o suporte ao DreamSpark e aos provedores de serviços de nuvem. Nesta atualização, também adicionamos suporte à versão prévia dos Aplicativos de API do Azure para desenvolvedores do Visual Studio 2015.
- Ferramentas do HDInsight: nesta versão, adicionamos exibições de grafos de execução para trabalhos do Hive executados no Tez, expandimos nosso suporte ao Hive, à DML e ao IntelliSense, adicionamos o NuGet para SCP.Net, atualizamos nossos modelos do Storm e adicionamos novos modelos para o Pig.
- Ferramentas do Azure Data Factory: agora incluídas no SDK do Azure. Nossa meta é simplificar a experiência de criação do Azure Data Factory e remover os desafios de integração e implantação. As experiências personalizadas e as ferramentas avançadas das Ferramentas do Azure Data Factory aprimoram a produtividade e a eficiência de usuários novos e avançados. Com esta versão, os clientes podem criar e implantar pipelines de dados de maneira interativa usando a interface do Visual Studio. Confira a postagem no blog do Azure Data Factory para obter mais informações sobre essas ferramentas.
SDK do Windows 10
Essa versão de ferramentas atualiza o Visual Studio 2015 para fornecer tudo de que você precisa para criar, depurar e enviar aplicativos para qualquer dispositivo Windows que execute a Plataforma Universal do Windows. Os destaques incluem:
- Crie um aplicativo universal do Windows na linguagem de sua escolha (C#, VB, C++ ou JS) e implante-o em um dispositivo Windows 10.
- Novas ferramentas de depuração e diagnóstico, incluindo ferramentas de depuração de interface do usuário para aplicativos XAML e um criador de perfil de rede.
- Crie pacotes de aplicativos para envio à Loja unificada.
- O emulador do Windows 10 Mobile agora aproveita o hardware de elementos gráficos (GPU) do PC para acelerar a renderização de tela. Ele fornece um ambiente de depuração mais rápido e dinâmico usando o Microsoft RemoteFx.
- Você já pode usar a funcionalidade de simulação NFC no Emulador do Windows 10 Mobile para criar e testar aplicativos universais habilitados para NFC/proximidade.
- Suporte avançado do Designer XAML para criação de experiências de usuário personalizadas para o dispositivo.
- Compilação do .NET Native de aplicativos .NET na nuvem.
Para obter mais informações sobre as ferramentas para desenvolvedores do Windows 10, confira É hora de atualizar seu mundo e seus aplicativos.
Ferramentas Python para Visual Studio 2.2
Suporte ao Python totalmente gratuito no Visual Studio.
- CPython, PyPy, IronPython, entre outros
- IntelliSense detalhado
- Depuração interativa
- Integrado às funcionalidades do Visual Studio
- Gratuito e de código aberto
Para obter mais informações, confira Ferramentas Python para Visual Studio.
Ferramentas do Visual Studio para Unity 2.0
Transforme o Visual Studio em um sofisticado ambiente de desenvolvimento do Unity.
- Crie jogos multiplataforma
- Faça a depuração no Visual Studio
- Crie scripts do Unity no Visual Studio
- Experimente o aumento da produtividade com o Visual Studio
Para obter mais informações sobre as Ferramentas do Visual Studio para Unity, confira Desenvolvimento de jogos com o Visual Studio.
Ferramentas Node.js para Visual Studio 1.1 (RC)
Atualização: outubro de 2021:
Atualizar com segurança o Node.js para as Ferramentas do Visual Studio para Apache Cordova
Transforme o Visual Studio em um sofisticado ambiente de desenvolvimento do Node.js.
- Gratuito e software livre
- Preenchimento inteligente de código
- Depuração e criação de perfil avançadas
- Integração a outras funcionalidades do Visual Studio e ferramentas de terceiros
- Suporte a Node.js, io.js, JavaScript, TypeScript, HTML, CSS e JSON
Saiba mais sobre as Ferramentas Node.js para Visual Studio.
Office Developer Tools para Visual Studio 2015
Desenvolvimento com as APIs do Office 365
- As Ferramentas de API do Office 365 usam o novo Connected Services no Visual Studio 2015 para fornecer uma experiência guiada para os desenvolvedores integrarem as APIs do Office 365 ao projeto.
- Você já pode permitir que as Ferramentas de API do Office 365 configurem automaticamente o logon único nos seus aplicativos Web ASP.NET MVC apenas selecionando “Configurar Logon Único usando o Azure AD” no assistente do Connected Services.
- Quando você integra as APIs do Office 365 ao projeto, as Ferramentas de API do Office 365 já baixam e instalam a última versão dos pacotes NuGet da biblioteca de clientes da API do Office 365 em NuGet.org.
Desenvolvimento de suplementos do SharePoint
- Durante a criação de um suplemento do SharePoint, as ferramentas definem a versão de destino do SharePoint como a versão do site do SharePoint de depuração especificada no assistente de criação do projeto. O assistente mostra a versão selecionada do SharePoint e permite que você substitua esse padrão. Você pode alterar a versão de destino depois de criar o projeto usando a guia SharePoint no Designer de Projeto.
- As ferramentas agora instalam um pacote NuGet contendo o SPO-CSOM (Modelo de Objeto do Lado do Cliente do SharePoint Online) no projeto quando a versão de destino é o SharePoint Online. As ferramentas adicionam referências aos assemblies do CSOM do SharePoint Online ao projeto. As ferramentas não dependem mais do SDK do Componente de Cliente do SharePoint Online lançado no Centro de Download da Microsoft. Isso facilita a atualização dos assemblies do CSOM no futuro usando o Gerenciador de Pacotes NuGet no Visual Studio.
- Você já pode usar cadeias de conexão SAS ou ACS para o Barramento de Serviço do Microsoft Azure para depurar um receptor de evento remoto e solucionar problemas dele em suplementos do SharePoint.
Desenvolvimento de suplementos do Office
- Nesta versão, as ferramentas sempre criam aplicativos para o Office com um manifesto v1.1 em vez de v1.0, para que seus aplicativos possam dar suporte às novas funcionalidades nos aplicativos Web do Office e nos clientes do Office 2013. No caso dos aplicativos existentes do Office que usam um manifesto v1.0, as ferramentas atualizam o manifesto para v1.1 quando qualquer nova capacidade que exija um manifesto v1.1 é usada.
Saiba mais sobre o Office Developer Tools para Visual Studio.
Extensão do GitHub para Visual Studio 2015
A maneira mais fácil de se conectar aos seus repositórios GitHub no Visual Studio.
- Fácil de instalar
- Conecte-se ao GitHub no Visual Studio
- Criar repositórios
- Clone repositórios com um clique
- Publique seu trabalho local no GitHub
Saiba mais sobre a Extensão do GitHub para Visual Studio.
Testes de Carga baseados em nuvem
Teste de carga baseado em nuvem nos datacenters do Azure em todo o mundo
A configuração da infraestrutura necessária para executar o teste de carga ficou ainda mais fácil: agora você pode executar testes de carga baseados em nuvem em qualquer um dos datacenters Azure com suporte em todo o mundo.
O Teste de Carga baseado em nuvem agora dá suporte a diagnósticos avançados do agentes
Nesta versão, adicionamos a capacidade de realizar diagnósticos do agente de teste para um teste de carga baseado em nuvem.
É difícil fazer a depuração na nuvem, porque os computadores não estão acessíveis e, portanto, a coleta de logs ou qualquer outra informação dos agentes de teste nem sempre é possível. No entanto, com o diagnóstico avançado do agente, você pode coletar logs dos agentes de teste e anexá-los aos resultados do teste de carga na nuvem.