Novidades no Rider

O Rider 2023.2 oferece melhor suporte a C#, trazendo novas inspeções para trabalhar com funções locais e strings brutas, e para resolver problemas comuns do Entity Framework. Fizemos inúmeras melhorias na interface de usuário, finalizando o novo aspecto do IDE, que é elegante, moderno e altamente personalizável. O desenvolvimento de jogos com o Rider recebeu mais um reforço, com atualizações nos recursos de DOTS para o Unity e indexação otimizada de blueprints no Unreal Engine, além de inúmeros outros aperfeiçoamentos. A versão 2023.2 também é a primeira do Rider a oferecer recursos de IA, através do plug-in do JetBrains AI Assistant.

Principais atualizações

Cabeçalhos de projeto personalizados

Cabeçalhos de projetos personalizáveis Nova interface de usuário

No Rider 2023.2, você pode navegar facilmente entre todos os seus projetos abertos por cor! Agora os cabeçalhos vêm com cores definidas como padrão, mas você pode mudá-las conforme a sua preferência. Para definir uma nova cor para seu projeto, clique com o botão direito do mouse em um cabeçalho e acesse o menu de contexto. Selecione a opção Change Toolbar Color e escolha a cor desejada. Para desativar este recurso, basta desmarcar a opção Use Project Colors in Toolbar no menu de contexto.

AI Assistant

AI Assistant Acesso limitado

Com este lançamento, apresentamos uma grande adição ao Rider – o AI Assistant. O conjunto inicial de recursos de IA oferece um chat de IA integrado e se entrelaça naturalmente a alguns dos principais fluxos de trabalho do usuário no IDE. O AI Assistant pode analisar o código selecionado, explicar o significado de um commit e criar arquivos do Unity conforme as suas especificações.

Saiba mais

Janela de ferramentas Build reformulada

No Rider 2023.2, reformulamos a janela de ferramentas Build, tanto em termos de desempenho quanto da experiência e interface de usuário. Agora, os resultados de saída do build serão apresentados como uma árvore de eventos à esquerda e um log à direita. A saída será carregada de forma "preguiçosa", o que significa que apenas os detalhes do build que você escolher examinar a partir da árvore de eventos serão carregados e mostrados, tornando esse processo mais leve para a CPU e mais fácil de navegar.

Integração com o GitLab

O Rider 2023.2 introduz uma integração inicial com o GitLab, permitindo que você trabalhe com o recurso Merge Requests diretamente do IDE e otimize o seu fluxo de trabalho de desenvolvimento.

Análise de código

Suporte para C#

Melhor suporte a strings brutas

Acrescentamos novas inspeções e ações de contexto de C# para trabalhar com strings brutas, além de novos assistentes de digitação e novas opções de formatação:

  • Uma inspeção Use raw string para converter strings textuais de múltiplas linhas nas suas representações brutas.
  • Uma inspeção Simplify raw string para remover algumas das aspas e cifrões que se tornarem redundantes.
  • Diversas ações de contexto para adicionar ou remover aspas, chaves de interpolação e cifrões, e para alternar entre representações de linha única e multilinha.
  • Várias opções do formatador de código, permitindo a você alinhar ou indentar o conteúdo dentro de strings brutas.
  • Melhor assistência à digitação ao pressionar as teclas Enter, Delete ou Backspace.

Confira a postagem correspondente no blog para saber mais sobre nosso suporte melhorado a strings brutas.

Inspeções para problemas comuns do Entity Framework

Inspeções para problemas comuns do Entity Framework

Adicionamos várias novas inspeções, correções rápidas e opções contextuais de navegação para problemas comuns que você pode ter ao trabalhar com bancos de dados usando um mapeamento objeto-relacional (ORM) como o Entity Framework.

  • Para ajudar você com possíveis problemas "N+1", temos as inspeções Possible multiple queries to the database for related entities (N+1 problem) e Possible multiple queries to the database (N+1 problem), uma correção rápida correspondente e navegação contextual para frente e para trás para investigar trechos do seu código onde possa haver um problema "N+1".
  • Além de detectar problemas "N+1", introduzimos mais uma inspeção útil ao trabalhar com o Entity Framework: Query can return incomplete data for related entities. Agora também temos uma correção rápida e navegação contextual para frente e para trás, para ajudar você a investigar esse problema.

Leia mais sobre as novas inspeções relativas ao Entity Framework nesta postagem do blog.

Inspeções para trabalhar com funções locais

O Rider 2023.2 introduz duas novas inspeções, com correções rápidas correspondentes, voltadas para melhorar a legibilidade do código com funções locais:

  • Uma recomendação para colocar um return ou continue explícito antes de funções locais ao final de um método.
  • Uma sugestão para mover funções locais para o final de um método ou bloco e separá-las do código executável explicitamente com um return, continue ou outra declaração de salto no fluxo de controle.

Confira esta postagem do blog com mais detalhes sobre as novas inspeções.

Inspeções para diretivas #nullable e anotações de NRT

Inspeções para diretivas #nullable e anotações de NRT

Agora estão disponíveis várias novas inspeções para diretivas #nullable e anotações de NRT:

  • Uma inspeção Redundant nullable directive.
  • Uma inspeção Unused nullable directive.
  • Uma inspeção para alertar sobre casos em que anotações de tipos de referência anuláveis (NRT) contradizem atributos JetBrains.Annotations em membros-base.

Para saber mais sobre essas inspeções, acesse esta postagem no blog.

Navegação melhorada a partir de declarações var

Navegação melhorada a partir de declarações var

Agora, todas as ações de navegação (Go to…, Find Usages, etc.) sugerem os tipos subjacentes ao navegar a partir de var para tipos comuns usados para envolver outros tipos. Por exemplo, o Rider sugerirá navegar até Person ao usar a ação Go to declaration a partir de uma palavra-chave var de uma variável do tipo ImmutableArray<Person>?.

Você pode saber mais nesta postagem no blog.

Construtores primários Prévia do C# 12

Na versão 2023.2, introduzimos o suporte a construtores primários para classes não record e structs da prévia do C# 12. Há várias inspeções que detectam esses tipos, nas quais a inicialização pode ser expressa com os novos construtores primários e pode sugerir aplicar uma correção rápida para reduzir muito a quantidade de repetições de código.

Às vezes, é preciso tornar a inicialização do tipo menos trivial e não é mais possível expressá-la através de um construtor primário. Para esses casos, introduzimos algumas ações de contexto para reverter uma substituição de parâmetros de construtores primários por construtores e campos comuns.

Para ver todos estes recursos para construtores primários e muitos outros em ação, confira esta postagem separada no blog.

Suporte a valores-padrão de parâmetros em lambdas

Suporte a valores-padrão de parâmetros em lambdas Prévia do C# 12

Como parte do nosso trabalho de suporte às atualizações da linguagem C# na versão 12, estamos introduzindo o suporte a valores-padrão de parâmetros em expressões lambda. Além do conjunto-padrão de mensagens de alerta associadas ao reconhecimento dessa sintaxe, também ajustamos uma inspeção já existente, The parameter has the same default value, para levar em conta os valores-padrão de parâmetros em lambdas. Mais informações estão disponíveis aqui.

Melhor suporte a recursos descartáveis

O Rider 2023.2 introduz duas novas inspeções de código, projetadas para controlar melhor o descarte de um objeto:

  • A inspeção Return of a variable captured by ‘using’ statement alerta você quando o objeto retornado for imediatamente descartado.
  • A inspeção Return of a task produced by ‘using’-captured object identifica cenários nos quais é produzida uma Task por um objeto que foi capturado por uma declaração "using" e retornado logo em seguida.

Também melhoramos o recurso Generate dispose pattern para dar suporte à interface IAsyncDisposable e poder gerar um método "async" para liberar os recursos.

Você encontra mais detalhes desses acréscimos aqui.

Melhor suporte ao descarte em C#

A análise de código recebeu diversas novas adições úteis no suporte ao descarte em C#:

  • Agora você pode verificar rapidamente os nomes e os tipos dos valores descartados, com o recurso Push-to-Hint.
  • Há um alerta The _ name is typically reserved for local parameters without usages que adverte sobre variáveis e parâmetros com o nome de _ que estão efetivamente em uso. Eles parecem ser valores "descartados", mas na verdade, representam bem o contrário disso.
  • Está disponível uma inspeção Use discard assignment, que substitui uma variável e parâmetro sem uso por um descarte.

Confira esta postagem do blog para saber mais sobre o melhor suporte ao descarte.

Novas dicas de inserção para melhor legibilidade do código

Novas dicas de inserção para melhor legibilidade do código

Dicas de inserção com os nomes dos componentes de tuplas

Ao passar um valor para um argumento ou tipo de retorno de tupla, o C# permite que você omita os nomes dos componentes. Porém, sem os nomes, fica mais difícil entender o significado de cada componente sem olhar o seu tipo-alvo. Por exemplo, muitos desenvolvedores de software terão que verificar o local onde uma tupla (null, false) foi atribuída para entenderem o significado dos seus componentes.

É aqui que as dicas de inserção podem ajudar você! O Rider 2023.2 mostra dicas de inserção com os nomes dos componentes da tupla quando esses nomes não forem já evidentes pela expressão dos componentes, tornando o seu código mais fácil de ler e entender de relance.

No caso de componentes nulos e padrão, o Rider 2023.2 mostrará dicas sobre seus tipos-alvo, mesmo que o componente-alvo não tenha um nome explícito, mas fará uma exceção para os tipos string e objeto, pois eles geralmente não são muito informativos.

Outra situação comum na qual nomes podem melhorar a legibilidade é a de padrões de desconstrução nos quais um nome explícito ou é conhecido a partir do método Deconstruct ou a partir dos componentes de origem da tupla. Essas dicas foram desenvolvidas para dar a você um contexto adicional quando o próprio padrão não contiver dados suficientes para se entender qual é a correspondência, como em value is ({ }, true, null).

Suporte melhorado a diretivas #pragma warning

Suporte melhorado a diretivas #pragma warning

Diretivas de pragma permitem que você desative ou restaure alertas do compilador através dos seus identificadores. Porém, embora esses identificadores sejam uma ótima maneira de se comunicar com o compilador, podem ser de difícil compreensão por desenvolvedores humanos. Sem um conhecimento abrangente, pode não ficar claro a que um identificador como CS0168 ou CS0618 se refere, ou o que é que requer atenção.

Interface/experiência do usuário

Nesta versão, finalmente a interface reformulada do IDE, revelada pela primeira vez no Rider 2022.3, se torna a interface-padrão para todos os novos usuários. Se você ainda não tiver feito a mudança, encorajamos você a experimentar a nova interface indo até Settings / Preferences | Appearance & Behavior | New UI | Enable new UI.

Zoom em todo o IDE

Menu de hambúrguer reformulado na barra de ferramentas principal no Windows e no Linux Nova UI

Reformulamos o comportamento do menu de hambúrguer localizado na barra de ferramentas principal na nova UI do Windows e do Linux. Ao se clicar no ícone do menu, agora os elementos aparecem horizontalmente sobre a barra de ferramentas.

Configurações de execução afixadas

Capacidade de afixar configurações de execução no widget Run Nova UI

Para facilitar o gerenciamento de múltiplas configurações de execução, implementamos uma opção para afixar as suas configurações preferidas ao widget Run. Para adicionar uma configuração de execução à seção Pinned, abra o menu de três pontos verticais próximo ao nome da configuração e selecione Pin. Se você tiver várias configurações afixadas, poderá facilmente rearranjá-las arrastando-as e soltando-as dentro da lista.

Zoom em todo o IDE

Melhor personalização da barra de ferramentas principal Nova interface de usuário

Expandimos as opções de personalização para a barra de ferramentas principal da nova UI. Agora, você pode usar um menu suspenso para escolher rapidamente as ações que deseja adicionar à barra de ferramentas. Para fazer isso, clique com o botão direito do mouse em qualquer widget, selecione Add to Main Toolbar e explore as opções disponíveis.

Tema claro com cabeçalho claro

Tema claro com cabeçalho claro Nova UI

No Rider 2023.2, refinamos o tema Claro introduzindo a opção alternativa Light with Light Header ("Claro com Cabeçalho Claro"), que mostra cores claras que combinam em cabeçalhos de janelas, dicas flutuantes e balões de notificação.

Navegação com um só clique entre diretórios de projeto

Navegação com um só clique entre diretórios de projeto

Na janela de ferramentas do Solution Explorer, há uma nova opção Open Directories with Single Click, que torna o processo de expandir e comprimir as pastas de projeto mais rápido e responsivo. Esta opção está disponível no menu do ícone de três pontos.

Classificação de arquivos pela data de modificação no Solution Explorer

Classificação de arquivos pela data de modificação no Solution Explorer

O Rider 2023.2 traz a muito aguardada opção de organizar os seus arquivos no Solution Explorer com base na sua data de modificação. Este novo recurso reordena os arquivos automaticamente sempre que forem salvas alterações no seu projeto. Para ativar este recurso, abra o menu de três pontos no Solution Explorer e selecione Tree Appearance | Sort by Modification Time.

AI Assistant Acesso limitado

As versões 2023.2 dos IDEs baseados no IntelliJ e das ferramentas para .NET introduzem um importante novo recurso: o AI Assistant. Ele ainda está nos estágios iniciais de desenvolvimento, mas você já pode experimentar nossa abordagem de incluir a assistência por IA nos principais workflows dos usuários dos IDEs e de integrar os recursos de IA com uma compreensão profunda do código. Saiba mais em nossa ajuda pela Web.

No momento, o AI Assistant não vem integrado às versões estáveis dos IDEs da JetBrains, mas pode ser instalado como um plug-in separado, disponível para as versões 2023.2.x. Por enquanto, há uma lista de espera para o acesso ao recurso do AI Assistant.

Chat com o AI Assistant

Chat com o AI Assistant

Use a janela de ferramentas AI Assistant para conversar com o LLM, fazer perguntas ou repetir uma tarefa. O IDE fornecerá um contexto específico do projeto, como as linguagens e as tecnologias usadas no seu projeto. Quando estiver satisfeito com o resultado, use a função Insert Snippet at Caret para colocar o código gerado pela IA no editor ou apenas para copiá-lo.

Menu AI Actions...

Menu AI Actions...

Selecione um fragmento específico do código no editor e invoque uma ação no menu de contexto AI Actions...

O AI Assistant pode ajudar você a:

  • Explicar o código selecionado.
  • Procurar problemas e opções de refatoração em potencial.
  • Iniciar um novo chat por IA a respeito do código selecionado.

Geração e explicação de mensagens de commit

A caixa de diálogo da mensagem de commit agora tem um botão Generate Commit Message with AI Assistant. Clique nele para enviar os diffs de suas alterações ao LLM, que gerará uma mensagem de commit descrevendo suas alterações. Você também pode pedir ao AI Assistant que explique os commits feitos pelos seus colegas.

AI-Assisted Unity F

Geração de arquivos do Unity assistida por IA

O AI Assistant também pode ajudar você a gerar um arquivo para uma solução do Unity conforme as suas especificações. Clique com o botão direito do mouse em um projeto no Solution Explorer, selecione Create with AI Assistant no menu de contexto e então escreva o seu prompt. Uma vez gerado o conteúdo do arquivo pela IA, clique em Create New File e o arquivo será adicionado automaticamente ao seu projeto.

Desempenho

No Rider 2023.2, revisamos nossa abordagem do cache de dados exigido pelo IDE para o funcionamento de seus sistemas. Esta revisão, apoiada por inúmeros testes de desempenho, resultou em uma redução perceptível do espaço em disco consumido por cada solução que você abrir. Em termos práticos, isso significa, no geral, menos tempo gasto fazendo leituras e gravações no disco e tempos mais rápidos de carregamento das soluções.

Navegação e pesquisa

Find Usages Advanced

Find Usages Advanced

No Rider 2023.2, o recurso Find Usages está recebendo uma atualização funcional. Agora, se você invocar Find Usages Advanced em um símbolo (como um método, classe ou variável), o IDE mostrará uma janela que permitirá que você especifique critérios adicionais de pesquisa.

Confira este artigo no nosso blog para saber mais.

Opções de navegação

Para melhorar a sua experiência de navegação na base de código, acrescentamos diversas opções úteis em uma página dedicada Search and Navigation, sob Settings / Preferences | Editor.

SDK para .NET

Analisadores e geradores de código-fonte para Roslyn

O Rider 2023.2 introduz inúmeras melhorias ao trabalhar com analisadores e geradores de código-fonte para Roslyn. Aqui estão algumas delas:

  • Adicionamos um botão Reboot Source Generators, para que você não tenha que reiniciar todo o IDE se um gerador personalizado de código-fonte causar um travamento.
  • Agora o Rider mostra as exceções do gerador de código-fonte na visualização Problems, permitindo que você se concentre em problemas antes não detectados ou não explicados.
  • Agora o IDE fornece os rastreamentos de pilha completos para exceções na tela Problems, permitindo que você identifique mais facilmente as causas iniciais dos erros.
  • Agora você pode modificar o nível de severidade das inspeções do Roslyn no Solution Explorer, permitindo mais personalização e controle das configurações da análise do código.
  • Por fim, mas não menos importante, estamos incluindo no Rider dois novos modelos de projetos para criar analisadores e projetos de geradores de código-fonte no Roslyn.

Docker

Execução do Docker no WSL

Execução do Docker no WSL

Nossa última versão introduziu a execução do Docker em modo rápido. A partir do Rider 2023.2, também é possível usar o Docker no modo rápido no WSL. Para executar containers do Docker em uma máquina com Windows sem o Docker Desktop, primeiro você precisa instalar o WSL, instalar o Docker na sua distribuição do Linux e adicionar o WSL em Rider Settings/Properties, sob Build, Execution, Deployment | Docker. Assim, você poderá executar e depurar containers do Docker no WSL (no modo rápido ou não).

Rótulos de configuração de execução no Docker Compose

Rótulos de configuração de execução no Docker Compose

O Rider 2023.2 facilitará a tarefa de fazer um ajuste fino da configuração de execução do Docker Compose, através da introdução de rótulos. Adicionando esses pequenos trechos de código ao arquivo docker-compose.yml, você pode especificar como e se você quer executar e depurar os seus aplicativos.

Por exemplo, se você quiser desabilitar o modo rápido em alguns dos seus serviços, poderá colocar um rótulo com.jetbrains.rider.fast.mode: "false" neles. Se você quiser desabilitar o modo de depuração, use o rótulo com.jetbrains.rider.debug: "false".

Recarga dinâmica de XAML para MAUI

Finalmente, a recarga dinâmica está disponível para soluções visando o .NET MAUI! Ter a recarga dinâmica de XAML no Rider permite que os desenvolvedores de aplicativos móveis façam alterações na interface de usuário e no código dos seus aplicativos MAUI durante a execução, sem precisar de toda uma nova recompilação e reimplantação. As últimas alterações são aplicadas imediatamente, proporcionando uma experiência de desenvolvimento mais rápida e iterativa.

Desenvolvimento de jogos

Unity

Esta é outra versão carregada de recursos para o desenvolvimento com Unity, com muitas melhorias na experiência de editar arquivos do ShaderLab, atualizações adicionais aos recursos de DOTS e melhor suporte a arquivos USS.

AI Assistant para Unity

O novo AI Assistant é uma ferramenta para a resolução de problemas e o aprendizado, e estamos ansiosos para vê-lo em ação ajudando desenvolvedores de Unity. O Rider dirá ao AI Assistant que você está trabalhando com um projeto do Unity. Então, se você perguntar algo do tipo "Como faço para criar uma janela do editor?" ou "Como faço para adicionar um item ao menu?", o AI Assistant saberá que você quer dizer uma janela ou item de menu no editor do Unity e sugerirá APIs do Unity para ajudar você a conseguir o que pretende.

O contexto do Unity também oferece uma grande oportunidade para prototipar comportamentos adicionais. Quando você pedir ao AI Assistant que crie um arquivo, ele incluirá um botão que criará o arquivo automaticamente com o conteúdo que ele sugerir. Estenderemos este recurso a outras ações e contextos à medida que evoluir a funcionalidade do AI Assistant.

Suporte ao ShaderLab

Esta versão traz grandes melhorias no suporte do Rider a arquivos do ShaderLab, com uma nova assistência à digitação, novos modelos dinâmicos, povoamento de trilhas de navegação, a janela de ferramentas Structure e a navegação por Ctrl+clique até a declaração do nome de um shader ou pass.

Há tantas atualizações que fizemos uma postagem no nosso blog só para elas! Confira essa postagem para saber mais detalhes.

DOTS no Unity

Fizemos alguns aperfeiçoamentos úteis na geração de código para Data Oriented Tech Stack (DOTS), com base no excelente feedback que recebemos da comunidade do Unity. Também introduzimos novos modelos de arquivo e dinâmicos, além de estendermos a análise de contextos de Burst para mais partes do seu código.

O depurador também está começando a reconhecer o DOTS. Agora, a apresentação melhorada dos tipos RefRO e RefRW facilita muito visualizar o valor por trás dos wrappers de referência. Porém, você sempre poderá expandir o nó Raw Value para ver a representação original.

Suporte a folhas de estilo do Unity

Esta versão traz uma grande atualização para arquivos de folhas de estilo do Unity (USS). Agora o Rider oferece suporte à função var e oferece o realce e complementação em uma grande variedade de propriedades adicionadas às versões recentes do Unity.

Outras atualizações

Também adicionamos a complementação em caminhos usados em APIs de bancos de dados de ativos do Unity. Basta começar a digitar e o Rider sugerirá caminhos a partir do seu projeto.

E, é claro, há inúmeras atualizações e correções menores. Por exemplo, corrigimos um problema que ocasionalmente fazia testes de unidades ficarem presos no estado Canceling, arquivos .meta não são mais criados incorretamente para pastas ocultas e ícones específicos do Unity agora combinam com a nova interface de usuário.

Unreal Engine

O Rider 2023.2 traz grandes aperfeiçoamentos no que diz respeito ao suporte ao Unreal Engine, com muitas atualizações para C++, além de introduzir o suporte a Hot Reload e Live Coding, melhor desempenho na indexação de blueprints, e correções e atualizações no suporte ao Perforce.

Indexação otimizada de Blueprints

Indexação otimizada de Blueprints

Esta versão melhora o desempenho do IDE ao indexar blueprints. Na primeira vez em que você abrir um projeto, o Rider indexará todos os seus ativos de blueprints, pernitindo encontrar usos de classes de blueprints e mostrar os valores de dados serializados diretamente no editor de textos, colocar esses dados em cache e mantê-los atualizados de forma incremental enquanto você trabalha.

Versões anteriores do Rider indexavam esses ativos ao mesmo tempo que o seu código em C++, o que significava que o Rider demorava mais até estar pronto para trabalhar.

Agora, na versão 2023.2, o Rider indexa os ativos em uma tarefa no plano de fundo, depois de indexar todo o seu código em C++. Você poderá desfrutar dos benefícios do realce de código ao editar e navegar pelo seu código, enquanto o Rider continua a indexar os ativos.

Suporte a Live Coding e Hot Reload

Suporte a Live Coding e Hot Reload

Agora o Rider permite invocar Hot Reload ou Live Coding a partir do IDE, permitindo que você atualize o seu aplicativo Unreal com o editor em execução. Assim que um destes recursos for ativado no editor do Unreal, o Rider mostrará na barra de ferramentas um botão "Build and Reload", que compilará as suas alterações enquanto o Unreal carrega as atualizações.

Trabalho com o Perforce

Melhoramos a integração com o Perforce, diminuindo consideravelmente o tempo que demora para atualizar o status dos arquivos locais, dentre outras correções e atualizações. Agora, o Rider detecta automaticamente um espaço de trabalho do Perforce ao abrir uma solução e também busca o valor de P4CONFIG e outras configurações no Registro, não só nas variáveis de ambiente.

Outras atualizações

O Rider 2023.2 inclui muitas outras atualizações úteis e correções no desenvolvimento de jogos em C++. Melhoramos uma situação especialmente difícil, na qual o Rider travava ao trabalhar com arquivos de projetos extremamente grandes. Agora o Rider facilitou a tarefa de limitar o escopo de "Find in Files" a diretórios de plug-ins ao trabalhar com soluções baseadas em .uproject. Há ainda várias correções no plug-in RiderLink, permitindo que ele seja compilado com a última toolchain do VC++.

Desenvolvimento Web

Formatação de erros aprimorada

Formatação de erros aprimorada

No Rider 2023.2, procuramos melhorar a maneira como apresentamos erros de tipos em JavaScript e TypeScript. Seus erros e avisos agora serão formatados de maneira mais legível, facilitando a identificação de problemas no seu código. Isso funciona para todos os erros de TypeScript e alguns dos erros de JavaScript mais populares. Além de tudo isso, ele também funciona com erros localizados!

Suporte para aninhamento de CSS

Rider now supports the CSS Nesting Module feature. Implementamos suporte de sintaxe e uma inspeção para garantir que o seletor aninhado não comece com um identificador ou uma notação funcional.

Suporte à complementação de código no Tailwind

Agora o plug-in de complementação de código do Tailwind para o Rider oferece suporte a arquivos do Razor.

Suporte para o Vue Language Server

Suporte para o Vue Language Server

Temos ótimas notícias para os usuários do Vue! O suporte inicial ao Volar chegou ao Rider, para proporcionar uma detecção mais precisa de erros. Como padrão, o Volar será usado para o TypeScript 5.0 ou superior e a nossa própria implementação será usada para as versões anteriores. Acesse Settings | Languages & Frameworks | TypeScript | Vue para definir o serviço do Vue de forma a usar a integração com o Volar em todas as versões do TypeScript.

Saiba mais: Novidades no WebStorm 2023.2

Controle de versão

Verificações de commit em segundo plano

Verificações de commit em segundo plano

Reformulamos o comportamento das verificações de commit para o Git e o Mercurial, para acelerar o processo geral de commit. Agora, verificações são feitas em segundo plano depois do commit, mas antes do push.

Opção para confirmar linhas específicas de código

Opção para fazer o commit de linhas específicas de código

O Rider 2023.2 introduz um recurso altamente esperado para fazer o commit seletivo de partes específicas de blocos de código. Para executar um commit parcial, selecione as linhas dentro de um bloco e chame Include these lines into commit no menu de contexto. O bloco será dividido em linhas individuais, com as linhas selecionadas em destaque. É possível adicionar ou excluir linhas da seleção usando caixas de seleção ou o menu de contexto.

Perfis de desempenho e memória

Análise de snapshots dotMemory dotUltimate

Antes da versão 2023.2, você só podia usar o dotMemory no Rider para fazer análises de alocação de memória. Na versão 2023.2, você pode coletar snapshots de memória e analisá-los no Rider da mesma forma que na versão autônoma do dotMemory.

  • A análise de snapshots está disponível no Windows, Linux e macOS.
  • No Windows, você também pode importar e analisar dumps de processos.
  • Não estão disponíveis alguns recursos e visualizações, como inspeções automáticas de snapshots e visualizações de rastreamentos de pilhas de criação de objetos.
Agrupamento por threads na amostragem, rastreamento e em snapshots linha a linha

Agrupamento por threads na amostragem, rastreamento e em snapshots linha a linha dotTrace dotUltimate

Agora, a visualização Call Tree permite agrupar pilhas de chamadas por threads individuais, permitindo um insight mais profundo sobre problemas de desempenho específicos de determinadas threads.

Dynamic Program Analysis

  • Antes, a DPA podia contabilizar erroneamente pausas para depuração como tempo de execução, levando a falsos positivos de problemas de banco de dados. Este problema foi corrigido na versão 2023.2.
  • Além disso, antes a DPA realçava grandes blocos de código se a pilha de chamadas correspondente contivesse alocações de memória por funções lambda. Agora, o realce é mais granular.

Workflow de qualidade de código

Integração com a plataforma Qodana de qualidade do código

Ferramentas de análise estática são notoriamente difíceis de configurar. Porém, no Rider 2023.2, eliminamos essa dificuldade com a integração total do Qodana – o mecanismo inteligente de análise estática projetado para se encaixar em qualquer pipeline de CI/CD.

Essa integração traz dois benefícios importantes. Em primeiro lugar, a facilidade de configuração. Você pode iniciar uma análise com alguns poucos cliques, visualizar a lista de problemas de todo o seu projeto e depois configurar o Qodana no seu sistema preferido de CI/CD para criar um portão de qualidade. O segundo benefício é um melhor fluxo de trabalho de qualidade do código. Assim que o Qodana estiver configurado no sistema de CI/CD, você poderá visualizar os resultados da análise do lado do servidor sem sair do seu IDE – desde a instalação.

Aliás, o Qodana acaba de sair do estágio de demonstração. Confira esta postagem no blog para saber mais sobre o lançamento e obter instruções de como tirar proveito do Qodana no Rider.

Trabalho com bancos de dados

Trabalho com bancos de dados

Reformulamos o diálogo de conexão a bancos de dados no Rider 2023.2. Removemos algumas das opções não essenciais que vinham confundindo os usuários e otimizamos o fluxo de trabalho da conexão. Um dos aperfeiçoamentos mais empolgantes é que agora o Rider examina a sua solução aberta, procurando strings de conexão, e as sugere dentro do diálogo.

Algumas outras alterações notáveis no Rider 2023.2 são:

  • Suporte para Redis Cluster.
  • Uma nova interface de usuário no diálogo de migração de esquemas.
  • Configuração de fusos horários no editor de dados.
  • Suporte a compartilhamentos e bancos de dados externos [Redshift].

Para mais informações sobre as melhorias ao trabalhar com bancos de dados, consulte esta página.

Suporte para F#

Referências a F# no C# na memória

Referências a F# no C# na memória

O Rider passou a aceitar referências a F# no C# na memória, para que você não tenha que compilar projetos de C# para referenciar código em F# e visualizar as alterações. Esta alteração permite melhores refatorações e navegação entre as linguagens, porque agora o serviço do compilador F# sempre consulta o código-fonte real em C#, além das referências a C# no F# na memória, que já tinham suporte.

Suporte a injeções de linguagem da plataforma IntelliJ

Acrescentamos o suporte a injeções de linguagem da plataforma IntelliJ, para que você possa usar várias linguagens de front-end dentro de literais em F#, além de poder acessar bancos de dados, abrir links da Web ou issues e muito mais.

Go to File Member

Go to File Member

Agora o novo pop-up Go to File Member está disponível para F#, facilitando a visualização da estrutura do arquivo e a navegação até membros a partir de tipos-base.

Atualizações nos padrões de casos de união

Atualizações nos padrões de casos de união

Introduzimos alguns aperfeiçoamentos legais que facilitam o seu trabalho com padrões de casos de união:

  • Uma nova ação de contexto para converter padrões de casos de união em padrões de campos nomeados.
  • Novas regras para usar padrões de campos nomeados em casos de união.
  • Regras aperfeiçoadas para padrões de casos de união, para que o pop-up de desconstrução não impeça você de digitar o padrão manualmente.

We also want to thank Florian Verdonck for contributing to this improvement.

Geração de overrides

Corrigimos muitos problemas, o que resultará em uma geração mais precisa de overrides. Por exemplo, agora os membros gerados são sempre colocados nos lugares certos e os tipos são reformatados, se isso for necessário para os membros gerados. A huge thanks goes to David Schaefer for contributing to this improvement.

You can find the full list of F# updates and fixes available in Rider 2023.2 here.

Plug-ins

Plug-in Settings Sync

Plug-in Settings Sync

Por muito tempo, haviam dois plug-ins paralelos que tinham funções em comum: o plug-in IDE Settings Sync e o Settings Repository.

Para evitar a confusão de ter dois plug-ins semelhantes incluídos, unificamos seus conjuntos de recursos em uma única solução: o novo plug-in Settings Sync.

Suporte a LSP para desenvolvedores de plug-ins

O Rider 2023.2 vem com suporte à API LSP para desenvolvedores de plug-ins. A API LSP destina-se principalmente a desenvolvedores de plug-ins que desejem usar um servidor LSP específico para assistência de codificação no IDE. Se você tiver criado a sua própria linguagem de programação ou framework, você pode ter suporte a ele no IDE escrevendo um servidor LSP e um plug-in.

No momento, o suporte a LSP inclui o realce de erros e avisos, correções rápidas, complementação de código e navegação até a declaração. Para mais informações, confira esta postagem do blog, pela equipe do IntelliJ IDEA.

Feature Trainer para o Rider

O Rider 2023.2 introduz o Feature Trainer, uma nova ferramenta interativa projetada para familiarizar tanto os usuários novos como os mais experientes com os amplos recursos e workflows oferecidos pelo IDE. O Feature Trainer tem uma abordagem de aprendizado prático que fornece instruções passo a passo e exemplos de código para praticar. Experimente-o indo até Help | Learn IDE Features. O Feature Trainer só está disponível na nova interface de usuário.

Melhorias de acessibilidade

Na JetBrains, nos preocupamos muito em tornar nossos produtos inclusivos e acessíveis a todos. Nesta versão, estamos fazendo diversas melhorias na acessibilidade do Rider, para garantir que todos os usuários, incluindo aqueles cegos ou com deficiência visual, possam interagir totalmente com nosso produto. As melhorias incluem:

  • Rotulagem e descrições adequadas dos elementos da interface de usuário.
  • Navegação melhorada pelo teclado, com controle nas Settings / Preferences.
  • Suporte melhorado a leitores de tela, como o NVDA, especialmente na aba Run.
  • Melhor acessibilidade da documentação, recursos de ajuda e gerenciamento de pacotes do NuGet.
  • Melhor acessibilidade no designer do Windows Forms.

Diversos

Suporte a ARM32 em depuradores remotos

Além do suporte já existente a ARM64, o Rider 2023.2 introduz o suporte a ferramentas de depuração remotas, enviadas a máquinas remotas baseadas en ARM32, como o Raspberry Pi. Para anexar o Rider a um processo remoto, use o diálogo Attach to Process.

Migração do terminal para ConPTY no Windows

O JetBrains Rider inclui um emulador de terminal integrado para trabalhar com um shell de linha de comando dentro do IDE. As versões anteriores do Rider dependiam da biblioteca de terceiros WinPTY como camada de emulação de terminal no Windows. No Rider 2023.2, estamos mudando para a biblioteca do próprio sistema, ConPTY, nas versões do Windows com suporte a ela. Embora não se espere nenhuma mudança visível, essa mudança abre a possibilidade de novas melhorias no terminal e no console de execução.