Novidades no Rider 2019.3

O Rider 2019.3 oferece excelente suporte para modelos T4, um profiler entre plataformas para .NET Core e cobertura de teste entre plataformas para Unity. A inicialização é mais rápida, o depurador oferece suporte para Docker Compose, e o suporte para controle de versão e Xamarin estão aprimorados em todos os aspectos.

Suporte para modelos T4

Suporte para modelos T4

Você nos pediu para oferecer suporte a modelos de texto T4, e nós ouvimos! Com base em nosso próprio gerador e disponível como um plug-in pré-instalado, o suporte a modelos T4 está aqui. 

Agora, você pode executar, processar e depurar facilmente todos os seus modelos T4 no Rider. Esperamos que você goste da nova assistência no editor, que inclui:

  • Suporte C# elaborado em recursos em blocos de código, incluindo realce de código, navegação, preenchimento de código, assistência de digitação, refatorações, ações de contexto, inspeções, formatação e muito mais.
  • Suporte para recursos específicos do T4, como inspeções, assistência de digitação, dobramento e correspondência de chaves.
  • Suporte abrangente para diretivas include para tornar a resolução do código C# a mais correta possível.
  • Suporte para todos os tipos de diretivas, incluindo inspeções, correções rápidas, realce de código, navegação e muito mais.

Todos esses recursos funcionam no Windows, macOS e Linux.

Profiler entre plataformas para .NET Core

Profiler entre plataformas para .NET Core

O Rider 2019.1 trouxe o profiler de desempenho para o macOS e Linux, mas, naquela ocasião, ele apenas oferecia suporte a aplicativos Mono e Unity Mono. Com esta nova versão, demos um grande passo, e agora é possível criar um perfil de aplicativos .NET Core no Linux e macOS usando o plug-in dotTrace integrado. Isso significa que você pode criar um perfil de qualquer aplicativo .NET no Windows, macOS e Linux.

Observe que apenas os projetos direcionados ao .NET Core 3.1 são totalmente compatíveis. Devido a algumas limitações do .NET Core, a criação de perfil de projetos direcionados ao .NET Core 3.0 ou anterior pode, em casos raros, causar a paralisação ou o travamento do aplicativo com perfil criado.

Cobertura de testes para Unity

Cobertura de teste para o Unity

Realmente gostamos de tentar melhorar a experiência de scripts do Unity e nos esforçamos para oferecer algo excepcional a cada versão. Desta vez, estamos apresentando a cobertura dos testes em várias plataformas e testes contínuos para seus testes no modo de edição do Unity!

Estes são alguns dos novos recursos que vão te animar:

  • Testes de unidade no modo de reprodução agora têm suporte no executor de testes de unidade.
  • O Rider oferece suporte para UIElements com realce de sintaxe, preenchimento de código e validação de esquemas de arquivos UXML e USS.
  • O suporte para arquivos .asmdef está de volta!
  • O nome do projeto é mostrado para editores do Unity ao listar processos para depuração.
  • Melhoramos o desempenho da análise de ativos quando o projeto é carregado inicialmente.
  • O recurso “Clear on play” tem suporte na janela de ferramentas do visualizador de logs do Rider.
  • Esse bug irritante quando o Rider sugeria recursos do C# 8 agora está corrigido.
  • Consertamos vários casos extremos mantendo os arquivos .meta atualizados durante as refatorações.

Estes são apenas os destaques. Como sempre, existem muitas outras correções e recursos secundários nesta versão. Confira a lista completa no Registro de alterações!

Melhor desempenho

Melhor desempenho

O Rider 2019.3 inclui automaticamente todas as otimizações de desempenho que adicionamos à Plataforma do IntelliJ durante nossa recente Maratona de Qualidade. Estas são apenas algumas das principais melhorias: o desempenho da inicialização melhorou bastante, a rolagem suave do mouse está disponível, e eliminamos muitos congelamentos da interface do usuário. Se estiver interessado, poderá ler mais sobre todas as melhorias de desempenho no blog do IntelliJ IDEA.

O Docker Compose chega ao depurador

O Docker Compose chega ao depurador

Na versão 2018.2, introduzimos o suporte ao Docker no depurador para permitir a depuração de contêineres criados a partir de um Dockerfile no Rider. No entanto, os contêineres de depuração criados usando o Docker Compose (docker-compose.yml) não eram compatíveis naquela ocasião.

Bem, a espera acabou! O suporte para Docker Compose finalmente chegou ao depurador! Agora, você pode depurar aplicativos Docker com vários contêineres com o clique de um mouse.

A função Edit & Continue ficou ainda melhor

O Edit & Continue ficou ainda melhor Apenas Windows

Agora, Edit & Continue pode aplicar alterações a um aplicativo em execução (não suspenso), e o aplicativo não precisa ser parado em um ponto de interrupção. Você pode aplicar as alterações a qualquer momento, clicando no link “Apply Changes” na dica de ferramenta na parte superior da guia do editor. Além disso, você pode desativar a aplicação automática de alterações de Edit & Continue a partir das ações “Step”/”Resume”/”Jump to Statement” em “Settings | Build, Execution, Deployment | Debugger | Editing during debug”.

Observe que o recurso Edit & Continue ainda só tem suporte no Windows.

Melhorias no depurador

Melhorias no depurador

Fizemos muitas alterações em outras partes do depurador. Primeiro, a árvore de exceções na exibição de pontos de interrupção teve uma grande atualização:

  • A pesquisa agora funciona em nós recolhidos.
  • As exceções são agrupadas por um tipo (Usuário/Sistema) e um namespace.
  • O nó principal tem um novo nome, “CLR Exceptions”.

Em segundo lugar, a depuração remota recebeu algumas atualizações:

  • Agora, existem melhores descrições e notificações para erros que podem ocorrer quando você a utiliza.
  • Se uma senha ou código de acesso para depuração remota não for especificado, ela solicitará um quando você se conectar a um servidor remoto.

E finalmente:

  • Muitas ações do depurador receberam novos nomes que explicam melhor o que elas fazem.
  • O recurso “Pin to top” oferece suporte para avaliação recursiva.
  • A ação “Jump to Type Source” já está disponível.
  • A opção “Just my code” para pontos de interrupção de exceção funciona muito melhor no Mono.
Suporte para VCS atualizado

Suporte para VCS atualizado

Começamos a perceber melhorias na interface e na experiência do usuário ao trabalhar com sistemas de controle de versão como o Git. Nesta versão, uma nova visualização de diferenças em tempo real é aberta diretamente na guia do editor de código para fornecer uma experiência de usuário muito melhor.

Também introduzimos uma nova janela de ferramentas Commit, que é mostrada à esquerda por padrão, para deixar mais espaço na tela vertical para listas de alterações, descrições de submissão e assim por diante.

Se você não conseguir encontrar a guia Version Control no seu primeiro lançamento do Rider 2019.3, não se preocupe. Ela ainda está lá, mas tem um novo nome: Repository.

Além disso, melhoramos a exibição “Compare with Current”, reformulamos a caixa de diálogo Clone e possibilitamos o envio de um branch inativo.

Para saber mais, consulte a postagem de blog A New Way to Commit! Introducing the Commit and Repository Tool Windows in Rider 2019.3 (Uma nova maneira de enviar submissões - Introduzindo as janelas de ferramentas Commit e Repository no Rider 2019.3).

O plug-in AWS Toolkit chega ao Rider

O plug-in AWS Toolkit chega ao Rider

Neste ciclo de lançamento, nos esforçamos bastante para otimizar o plug-in AWS Toolkit para desenvolvedores .NET e torná-lo compatível com o Rider.

  • Use um modelo de projeto predefinido para criar um novo aplicativo sem servidor da AWS.
  • Você pode criar, executar e depurar um AWS Lambda local e remotamente. Além do mais, você pode fazer tudo isso diretamente do editor, usando apenas os ícones da medianiz.
  • Você pode implantar seu aplicativo sem servidor na AWS.
  • O suporte para Depuração na nuvem está aqui! Você pode depurar aplicativos .NET Core da nuvem em execução no Amazon ECS com o AWS Fargate diretamente dentro de um contêiner remoto em uma nuvem, sem nenhuma emulação local.
  • O plug-in está disponível para o Rider v2019.2 e v2019.3.

Depois de instalar o plug-in AWS Toolkit for Rider, você terá tudo o que precisa para começar a trabalhar instantaneamente com seus aplicativos sem servidor da AWS.

Suporte avançado para Xamarin

Suporte avançado para Xamarin

Continuamos a fazer do Rider um ótimo IDE para o desenvolvimento do Xamarin e fornecemos algumas melhorias para o Xamarin Android e o Xamarin iOS:

  • Os dispositivos e simuladores da Apple agora descobrem melhor em Macs, graças aos componentes integrados de AppCode da JetBrains.
  • Você pode encontrar a lista de dispositivos Apple conectados na barra de ferramentas.
  • Agora, oferecemos suporte para compilações de dispositivos mtouch (Mono Compiler para iOS).
  • A opção “Publish Android APK” está disponível para projetos Xamarin Android (procure a ação “Archive or Publish” no menu de contexto de um projeto).
  • Você pode editar propriedades do projeto específicas do Android nas propriedades do projeto.

Além disso, não esquecemos o suporte para Xamarin Forms, que possui algumas correções importantes, como suporte a atributos x:DataType e Class.

Suporte para C# 8 ainda melhor

Suporte para C# 8 ainda melhor

A nova versão do Rider lida ainda melhor com o C# 8. Agora, ela inclui:

  • Uma melhor compreensão dos tipos de Referências anuláveis, incluindo suporte para restrições notnull.
  • Expressões switch com tipo de destino.
  • Suporte antecipado para métodos de interface padrão.
  • Uma nova dica "Local function can be static" com uma correção rápida que a acompanha.
  • Uma nova correção rápida para permitir anotações e avisos anuláveis em um arquivo, projeto ou em todos os projetos em uma solução.
  • Uma nova correção rápida para adicionar o atributo EnumeratorCancellation aos parâmetros CancellationToken de iteradores async.

Além disso, a inspeção de código "Type or type member is never used" foi dividida em duas opções separadas, uma para tipos (Type is never used) e outra para membros de tipo (Type member is never used).

Geração de código

Geração de código

A ação Generate conhece mais sobre o C# 8 e ajuda você a aprender também com:

  • Uma nova correção rápida "Add missing arms" para verificar exaustivamente os valores da enumeração.
  • Uma nova ação de correção rápida e contexto para gerar padrões de tipo em expressões de chave.
  • A questão de Nullability sendo levada em consideração ao gerar membros/comparadores de igualdade/relacionais.

Além disso, há uma nova opção para usar System.HashCode para implementar GetHashCode ao gerar membros de igualdade ou comparadores de igualdade para C# e VB.NET, o que ajudará a tornar seu código ainda mais limpo.

Dicas de nomes de tipos

Dicas de nomes de tipos

Esperamos que você goste das dicas de anotações de nome e código de parâmetro que introduzimos no lançamento do Rider 2019.1. Nesta versão, vamos mais além e estamos prontos para fornecer a você Dicas de nome de tipo. Eles estão disponíveis para:

  • Parâmetros de um lambda.
  • Todas as ocorrências de var, incluindo correspondência de padrões e desconstrução de tuplas.
  • Variáveis de intervalo dentro de instruções LINQ.
  • No final de uma linha em uma cadeia de chamada de método.
Navegação e localização de usos

Navegação e localização de usos

A maioria de nós deseja saber onde uma referência específica é usada no nosso código. Durante muito tempo, era possível executar a ação “Find dependent code” em uma referência para encontrar todos os locais em que os tipos ou membros de tipo dessa referência apareceram. No entanto, havia algumas limitações. Com esta versão, eliminamos algumas delas: Find dependent code funciona para referências do NuGet e pode ser executada para uma solução inteira, em vez de apenas para um projeto.

Agora, o Rider definitivamente tem mais a oferecer:

  • A dica de ferramenta de sobreposição Quick definition está disponível para qualquer símbolo no editor de código, permitindo que você reveja rapidamente a definição de um símbolo sem sair do contexto atual.
  • Consuming APIs estende ações “Navigate to” e pode ser útil se você deseja listar todos os métodos que recebem objetos de um tipo específico em seus parâmetros.
  • A janela Find results para Find dependent code possui novos filtros.
  • Agora, você pode navegar para as fontes externas dos pacotes NuGet que possuem um pacote de símbolos de origem.
Estilo do código

Estilo do código

Nesta versão, cumprimos a promessa de entregar mais uma solicitação tão aguardada. As configurações de nomeação em C# agora oferecem suporte para leitura/exportação para EditorConfig.

Além dessa grande mudança, há várias mudanças menores que oferecem mais controle sobre o estilo do seu código:

  • Para aqueles que preferem usar "var" em vez de tipos explícitos somente quando o tipo de expressão do inicializador é evidente, o Rider agora pode detectar os casos mais evidentes. Há também um modo de “compatibilidade” para corresponder ao comportamento do Roslyn.
  • Há uma nova opção de estilo de código, compatível com StyleCop e Roslyn, para adicionar parênteses que esclarecem a precedência apenas para um grupo de operadores aninhados com outros do mesmo grupo. Por exemplo, se você não consegue lembrar se && or || tem precedência, essa opção ajudará você a esclarecê-lo com parênteses.
  • A opção Comment Code agora adiciona um recuo a um comentário por padrão. Há uma nova configuração para “Place comments at first column when commenting out code” caso você queira desativar essa opção.
  • As páginas de opções para configurar recuos agora exibem a notificação apropriada quando a configuração Autodetect indent size and value está ativada.

Há também uma dica de ferramenta de notificação explicando os recursos Configure formatting e Autodetect formatting nas páginas de opções do formatador C#.

Melhorias no modelo de projeto

O modelo de projeto do Rider agora estende as refatorações feitas nos arquivos de linguagem da Web, como arquivos TypeScript, a todos os arquivos do projeto. Por exemplo, “mover uma classe TS para um arquivo separado” atualiza o arquivo .csproj correspondente com a alteração. Também aprimoramos a experiência do usuário para o estado do projeto “Not Built” no Solution Explorer.

Observe que desistimos do suporte ao .NET Core 1.* SDK, pois essas versões atingiram as datas de fim de suporte.

Suporte inicial para MongoDB

O Rider adicionou suporte inicial ao MongoDB (leia mais). Além disso, estendemos o suporte ao banco de dados do Rider para o depurador Oracle PL/SQL e adicionamos novas inspeções e avisos, um indicador de progresso da consulta inline e uma maneira fácil de exibir um erro de conexão no Google.

Para saber mais, consulte a página Novidades no DataGrip 2019.3.

Desenvolvimento Web

Desenvolvimento Web

Como de costume, existem muitas vantagens para desenvolvedores Web:

  • Melhorias significativas no preenchimento de código para Vue.js.
  • Documentação rápida em projetos Vue.js.
  • Melhor suporte para props nos componentes React sem propTypes.
  • Aprimoramentos no suporte para Angular.
  • Suporte para TypeScript 3.7 e outras melhorias no suporte para JavaScript/TypeScript.
  • Várias atualizações no suporte para CSS/SASS.
  • Suporte para a próxima versão do Yarn 2.

Para saber mais, consulte Novidades no WebStorm 2019.3.

Outros recursos

Outros recursos

  • Melhoramos o suporte do Rider para arquivos de projeto (como arquivos .csproj), tornando o preenchimento de código ciente de vários itens MSBuild. Você também pode usar uma inspeção e uma solução rápida para validação <TargetFramework>/<TargetFrameworks>.
  • Agora, geramos a configuração de execução predefinida de maneira mais inteligente, para que você possa executá-la sem movimentos ou ajustes adicionais. Ele também possui um nome apropriado gerado automaticamente, em vez do chato "Default".
  • Mais propriedades MSBuild especificadas em um arquivo launchSettings.json, como $ (ProjectDir), agora são compatíveis.
  • O pop-up Parameter Info está disponível para tuplas.
  • A digitação auxilia na exclusão de novas linhas e no retrocesso antes que uma nova linha agora deixe um espaço para separar os tokens ou quando isso for exigido pelas regras de formatação.
Ainda mais recursos

Ainda mais recursos

  • O realce de identificadores foi completamente reformulado com uma página separada para C#, cores separadas para diretivas de pré-processador, métodos estáticos, campos etc.
  • As novas inspeções NUnit abrangem testes de unidade combinatórios e parâmetros individuais de testes de unidade parametrizados.
  • O botão Expand All está de volta na barra de ferramentas esquerda.
  • Um novo cliente TFS reativo foi lançado em modo experimental. Para habilitá-lo, basta abrir Settings | Version Control | TFVC e ativá-lo. Isso fornece uma melhoria drástica na velocidade da ação "Checking for changes" (agora, ela é de 100 a 1000 vezes mais rápida em nossos testes). Muitas operações, como ações de confirmação e histórico, serão transferidas para o novo cliente após o lançamento inicial.