Novidades no Rider

O Rider 2023.1 melhorou o suporte a C#, incluindo um conjunto de inspeções para otimizar e acelerar o seu trabalho com diferentes tipos de coleções e maneiras mais ajustáveis de incluir verificações de null no seu código. O desenvolvimento de jogos usando o Rider foi turbinado pela introdução do suporte ao Data Oriented Tech Stack (DOTS) do Unity e ao Unreal Engine 5.2, incluindo as atualizações recentes ao formato de arquivo Blueprints, suporte ao Godot 4 e várias outras melhorias no fluxo de trabalho do desenvolvimento de jogos. A última versão do IDE também conta com alguns ajustes convenientes no Editor, melhorias nas ferramentas de controle de versão e no trabalho com o Docker, além de vários aperfeiçoamentos na nova interface e na nova experiência geral do usuário.

Principais atualizações

Suporte ao DOTS do Unity Desenvolvimento de Jogos

Seguindo a liderança do Unity ao mudar de uma filosofia orientada a objetos para uma orientada a dados, o Rider 2023.1 introduziu o suporte ao Data Oriented Tech Stack (DOTS) — uma abordagem ao desenvolvimento de jogos que muda paradigmas e é mais eficiente no uso da CPU.

Saiba mais

Redução do número de consultas em coleções

Redução do número de consultas em coleções Suporte para C#

Adicionamos novas inspeções, com correções rápidas correspondentes, para otimizar o seu trabalho com coleções, reduzindo o número de consultas. Por exemplo, agora o Rider sugere remover verificações Contains e ContainsKey redundantes ou usar os métodos TryAdd e TryGetValue em vez delas.

Widget de VCS para o Perforce Controle de versões

A integração do Rider com o Perforce ganhou uma ampla atualização, com a adição do Perforce ao widget de sistemas de controle de versões (VCS). O widget de VCS para o Perforce fornece acesso rápido a ações essenciais, como Commit, Revert e Update Project. O widget também indica o espaço de trabalho atual e mostra o status da sua conexão.

Visualizadores de variáveis de string Depurador

Agora, durante uma sessão de depuração, você pode visualizar os valores das variáveis de string em HTML, XML, JSON, JWT e codificação de URLs. Basta clicar no link View junto a uma string na aba Threads & Variables da janela de ferramentas Debug, ou então clique no link View, que aparece quando você passa o mouse sobre uma variável no Editor.

Suporte para C#

Redução do número de consultas em coleções

Introduzimos um conjunto de inspeções, com correções rápidas correspondentes, para otimizar e acelerar o seu trabalho com diferentes tipos de coleções reduzindo o número de consultas em coleções:

  • Para remover uma verificação Contains(item) antes de adicionar o item a HashSet ou outra coleção que implemente a interface ISet.
  • Para remover uma verificação ContainsKey(key) antes de adicionar o item a Dictionary ou outra coleção que implemente a interface IDictionary.
  • Inspeção para usar TryAdd(key, value) em coleções Dictionary ou em outras herdadas destas, quando possível.
  • Inspeção para usar TryGetValue(key, out value) em coleções IDictionary, quando possível.

Estilo de sintaxe para padrões de verificação de null

Implementamos a nova configuração Syntax style, para ajudar você a seguir um estilo consistente de verificações not null dentro de padrões. Essa configuração consiste de duas opções: sintaxe de padrão recursivo vazio { } e padrão negado not null. Esta última é a opção predefinida. Você pode ajustar esse comportamento a qualquer momento na aba Settings/Preferences | Editor | Code Style | C# | Syntax Style.

Usar o padrão not null tem uma desvantagem: ele não permite que nomes de variáveis sejam introduzidos para o valor verificado, enquanto o padrão recursivo { LastName: { } lastName } permite isso. Adicionamos a ação de contexto Add pattern variable, atuando no padrão not null, para procurar expressões que acessem o mesmo valor (já que estamos introduzindo um nome de variável) e substituir todas elas pelo nome recém-introduzido, para consolidar todos os acessos ao mesmo valor.

Estilo de verificação de null ArgumentNullException.ThrowIfNull

Estilo de verificação de null ArgumentNullException.ThrowIfNull

O .NET 6.0 SDK introduziu uma nova API para a verificação de nullArgumentNullException.ThrowIfNull. Nosso mecanismo de análise de código já reconhece essa abordagem de verificação desde aquela época, mas não havia uma opção para usar esta API como o estilo default das verificações de null produzidas pelo Rider.

Na versão 2023.1, adicionamos um padrão ArgumentNullException.ThrowIfNull ao menu ReSharper | Options | Code Editing | C# | Null checking do Rider.

Extração de padrões comuns de propriedades

Extração de padrões comuns de propriedades

Se você usar muito a correspondência de padrões de propriedades, experimente nossa nova inspeção com uma correção rápida para extrair elementos comuns de diversos padrões de propriedades, quando eles ocorrerem juntos no fluxo do código. O código gerado pela correção rápida Extract common property pattern ajuda você a reduzir as repetições de código, ao mover padrões comuns de propriedades para um padrão de mais alto nível.

Remoção de regiões vazias

Remoção de regiões vazias

Desenvolvedores em C# costumam usar a diretiva #region e o desdobramento de código no IDE para estruturar seu código. A refatoração pode deixar vazias alguns trechos do código identificados com #region, e isso pode deixar o código confuso quando estiver contraído. Com esta nova inspeção de código, você poderá identificar trechos vazios identificados com #region, mesmo no estado contraído, e poderá limpar o código com uma correção rápida correspondente.

Substituição de span.SequenceEqual(“str”)

Substituição de span.SequenceEqual(“str”)

A análise de código agora tem uma inspeção que sugerirá substituir span.SequenceEqual("stringLiteral") por span is "stringLiteral" — uma solução mais limpa e conveniente na sintaxe do C# do que chamar uma função.

Inserção de uma especificação de tipo de retorno em lambdas

Inserção de uma especificação de tipo de retorno em lambdas

Expressões lambda em C# podem ter parâmetros com tipos implícitos e retornos com tipos inferidos. Porém, pode-se adicionar tipos explícitos para tornar o código mais claro em situações de resolução de sobrecargas complexas. A partir do C# 11, também é possível especificar o tipo do retorno em expressões lambda.

Para isso, estamos introduzindo a ação de contexto Insert return type specification na versão 2023.1. Para tanto, essa ação pode ser aplicada a todos os escopos, incluindo métodos, classes, arquivos, projetos e até à solução inteira.

Inspeção Pattern is redundant

Inspeção Pattern is redundant

Os padrões or/and/not do C# são úteis para verificações compactas de valores, mas podem ser menos reconhecíveis que expressões tradicionais, como ||/&&/!. Eles também podem criar bugs difíceis de encontrar, se forem omitidos parênteses. Para ajudar nisso, introduzimos uma nova análise de código que alerta para verificações "mortas" dentro de padrões complexos.

Ação de contexto Convert to list pattern

Ação de contexto Convert to list pattern

Continuamos a aperfeiçoar nosso suporte aos padrões de listas do C# 11. Com a nova ação de contexto Convert to list pattern, você pode converter verificações do comprimento de coleções em uma sintaxe de padrão de lista. Isso funciona em qualquer contexto onde possa ser feita uma verificação do comprimento de uma coleção.

Desenvolvimento de jogos

Unity

Suporte a DOTS

Data-Oriented Tech Stack (DOTS) é uma grande mudança de arquitetura no Unity. Ele armazena dados de componentes em vetores contíguos, que os sistemas podem acessar e modificar, usando a CPU de forma mais eficiente. Isso leva a um desempenho melhorado, especialmente em projetos maiores e mais ambiciosos.

Nesta versão, estamos introduzindo o suporte ao DOTS do Unity, para reforçar a reputação do Rider como o IDE mais inovador no desenvolvimento de jogos.

Com o Rider 2023.1, você pode aproveitar os seguintes novos recursos:

  • Novos modelos de arquivos.
  • Code Vision para tipos do DOTS.
  • Geração automática de componentes de autoria para código de "mapas de padeiro".
  • Inspeções e correções rápidas para ajudar você a escrever e atualizar bases de código para funcionarem no novo estilo do DOTS.

Descubra tudo que você precisa saber sobre o DOTS no Rider nesta postagem de blog com uma demonstração.

Depuração em dispositivos Android via USB

Embora seja possível depurar jogos de Android via WiFi, às vezes é melhor simplesmente usar um cabo. Agora o Rider 2023.1 tem suporte à depuração de jogos de Android via USB.

Use o diálogo Attach to Unity Process para ver quais projetos estão sendo executados em dispositivos conectados e começar a depurá-los.

Configurações temporárias de execução para players anexados

Configurações temporárias de execução para players anexados

O Rider 2023.1 cria automaticamente uma configuração temporária de execução ao depurar um player através do diálogo Attach to Unity Process. Isso facilita iniciar uma nova sessão de depuração. Você pode salvar essa configuração para torná-la permanente e compartilhá-la com a sua equipe. Isso funciona com todos os players com suporte, incluindo os de desktop, dispositivos móveis, consoles e dispositivos USB (iOS ou Android).

Documentação

Documentação

O Rider já fornece documentação on-line para as bibliotecas de classes básicas do .NET e a API principal do Unity. Porém, nesta versão, ele também lhe dá acesso rápido à documentação on-line dos pacotes de registro do Unity, incluindo o DOTS. Você pode visualizar os links para a documentação pressionando F1 ou consultando o pop-up de Documentação Rápida que aparece quando você passa o cursor do mouse sobre um símbolo.

Assim como o resto do produto, o texto exibido no suporte ao Unity no Rider está traduzido para o chinês, japonês e coreano. O Rider também usa documentação traduzida para a ajuda on-line do Unity e para os resumos em dicas de ferramentas, sempre que possível.

Modelos de arquivos compatíveis com o UI Toolkit

A partir do Unity 2022.2, o UI Toolkit é a maneira recomendada de escrever extensões de interface de usuário para o Unity Editor. Para que você possa começar a usá-lo, adicionamos 3 novos modelos personalizáveis de arquivos, baseados no UI Toolkit: criação de janelas do editor, property drawers ou editores personalizados do Inspector. Esses modelos só estão disponíveis para o Unity 2022.2 ou posterior. As versões em IMGUI ainda estão disponíveis.

Sempre há mais!

Como sempre, há muitas outras mudanças e atualizações, como a detecção mais precisa de campos serializados no seu código, incluindo cenários complexos usando tipos derivados e o atributo [SerializeReference]. Também melhoramos o suporte à pesquisa de usos de código em C# nas animações do Unity e o realce dos seus métodos como manipuladores de eventos. Também foi implementada uma atualização muito solicitada do mecanismo de formatação, para colocar atributos [Header] em uma linha separada.

Unreal Engine

Suporte ao Unreal Engine 5.2

A Epic Games incorporou a UnrealHeaderTool (UHT) à UnrealBuildTool (UBT) no Unreal Engine 5.1 e 5.2. O Rider 2023.1 está pronto para essas alterações e a integração da UHT no Rider funcionará com as novas versões do Unreal Engine. Agora o Rider também tem suporte às atualizações recentes do formato de arquivo Blueprints, que serão incluídas no Unreal Engine 5.2.

Ação de contexto New UE class

Reformulamos a ação de contexto Unreal Class…, que agora oferece diversas classes-mães para você escolher, além da opção de especificar se a classe é pública ou privada. No geral, agora o diálogo tem a aparência e o funcionamento mais semelhantes aos do seu equivalente no Unreal Engine.

Processamento de erros em arquivos Blueprint

Se o Rider não conseguir processar um arquivo Blueprint, agora os erros de processamento serão mostrados em uma aba separada Blueprints na janela Problems View. Isso permite que você localize o arquivo problemático no explorador do sistema de arquivos nativo. Cada problema inclui uma descrição curta do tipo de erro que foi detectado.

Processamento de mensagens de compilação do Clang

Processamento de mensagens de compilação do Clang

O Rider 2023.1 já pode processar mensagens geradas pelo compilador Clang ao compilar jogos do Unreal Engine no macOS e no Linux. Todas as mensagens de aviso ou erro do Clang na janela de ferramentas Build Output são processadas corretamente, incluindo os links para arquivos. Um duplo clique no link levará você até o lugar exato no código que originou o aviso ou erro.

Pré-visualização de substituições de macros

Pré-visualização de substituições de macros

Ao passar o mouse sobre uma macro, agora você pode ver a pré-visualização da sua expansão na dica de ferramenta, com realce completo da sintaxe e formatação adequada do código. Você ainda pode usar a ação de contexto Substitute macro call para expandir a macro diretamente no editor, mas a pré-visualização instantânea facilita trabalhar com macros.

Modelo dinâmico UInterface

Modelo dinâmico UInterface

Agora o Rider oferece um modelo dinâmico UInterface para soluções com o Unreal Engine. Esse modelo é semelhante aos modelos dinâmicos UCLASS, USTRUCT e UENUM, já existentes, e permite que você adicione rapidamente uma nova classe de interface que siga as convenções do Unreal Engine, poupando o tempo e esforço de criá-la manualmente.

Mapeamento de shaders

Agora você pode especificar mapeamentos para pastas de shaders, tanto virtuais quanto físicas. Se você tiver o RiderLink instalado no projeto do jogo ou mecanismo, você também poderá carregar os dados dos mapeamentos de shaders diretamente do Unreal Engine.

Godot

Godot Plug-in

A última versão do plug-in do Godot para o Rider vem com as seguintes atualizações e correções:

  • A complementação res:// foi melhorada para ficar mais visível e fácil de usar. Para certas chamadas conhecidas à API, como GD.LoadPackedScene, a complementação de literais de string ficará disponível imediatamente, mesmo antes de o prefixo res:// ser digitado.
  • O Godot 4 funciona com o runtime do .NET 6, em vez do Mono, de modo que foram necessárias várias correções para permitir essa mudança. Quando você estiver depurando um aplicativo do Godot e for atingido um ponto de interrupção, será criada automaticamente uma cena atual dentro da janela Immediate. Além disso, qualquer Godot.Node dentro da janela Immediate agora terá um grupo adicional Children, que poderá ser usado para revelar seus filhos e os filhos destes, de forma recursiva.

Editor de código

Opção para mostrar espaços em branco apenas no código selecionado

Opção para mostrar espaços em branco apenas no código selecionado

Há uma nova caixa de seleção Selection em Settings/Preferences | Editor | General | Appearance | Show Whitespaces que permite definir essa configuração de forma que o Rider mostre espaços em branco como pequenos pontos somente quando você selecionar o código.

Pré-visualizações de cores e pincéis

Pré-visualizações de cores e pincéis

Agora o editor de código dentro do Rider mostra pré-visualizações para cores e pincéis dos valores e referências dentro de arquivos Avalonia XAML (.axaml) e C#, tal como já fazia para aplicativos WPF.

Opção para ocultar dicas de conversão de tipo

Opção para ocultar dicas de conversão de tipo

Implementamos uma maneira de ocultar as dicas de conversão de tipo no Rider em operadores selecionados. Para ocultar as dicas de inserção, posicione o cursor de texto junto a um operador e use o atalho Alt+Enter para acionar um menu de contexto. Em seguida, vá até Configure Inlay Hints | Type Conversion Hints e selecione a opção Hide for….

Você também pode ir até Settings/Preferences | Editor | Inlay Hints | C# | Type Conversion Hints para configurar a lista dos operadores para os quais você deseja ocultar as dicas de conversão de tipo.

Nenhuma verificação ortográfica para hashes e valores especiais

Nenhuma verificação ortográfica para hashes e valores especiais

Atualizamos a inspeção Typo para que ela não verifique mais a ortografia de hashes e valores especiais e não os marque como contendo erros ortográficos. Essa atualização abrange os seguintes valores:

  • Valores hexadecimais Md5, Sha1 e Sha256.
  • Valores de integridade codificados em base64 Sha384 e Sha512 com o prefixo shaNNN-.
  • Tokens JWT.
Dicas de nomes de parâmetros para atributos xUnit

Dicas de nomes de parâmetros para atributos xUnit

Assim como já faz para NUnit, agora o Rider também pode mostrar dicas de nomes de parâmetros para os atributos InlineData and InlineAutoData em testes com xUnit.

Desenvolvimento Web

Importações na complementação de código no Angular

No Rider 2023.1, quando você estiver trabalhando com símbolos globais e exportados em um modelo do Angular, o IDE adicionará automaticamente uma importação desses símbolos para o seu componente durante a complementação de código ou quando você usar uma correção rápida.

Suporte ao TypeScript em expressões de modelos do Vue

O Rider 2023.1 inclui o suporte ao TypeScript em expressões de modelos do Vue. Agora essas expressões são sincronizadas com lang=”ts” quando adicionadas a tags em scripts. Assim, o Rider pode avaliar melhor o TypeScript, possibilitando que as preferências e refatorações relevantes estejam de acordo com o que está dentro da tag do script. Talvez você tenha reparado antes que havia diferenças entre as configurações e as refatorações em arquivos .js e .ts puros. Agora os atributos "lang" serão reconhecidos.

Conversão automática de strings em literais de template

Conversão automática de strings em literais de template

O Rider agora transformará automaticamente suas strings com aspas simples ou duplas em literais de template sempre que você digitar ${. Isso funciona para strings brutas, bem como para propriedades JSX.

Saiba mais: Novidades no WebStorm 2023.1

Melhorias em UI/UX

Zoom em todo o IDE

Zoom em todo o IDE

Agora é possível dar zoom no Rider inteiro, aumentando ou diminuindo o tamanho de todos os elementos da interface de usuário de uma vez. No menu principal, selecione View | Appearance e ajuste o zoom do IDE.

Nova configuração <i>Remember size for each tool window</i>

Nova configuração Remember size for each tool window

No Rider 2023.1, introduzimos uma nova opção de layout que permite unificar a largura das janelas de ferramentas laterais ou manter a capacidade de ajustar livremente seus tamanhos conforme você personaliza seu layout. A nova caixa de seleção Remember size for each tool window está disponível em Settings/Preferences | Appearance & Behavior | Tool Windows.

Pesquisa baseada em ML para classes no <i>Search Everywhere</i> habilitada por padrão

Pesquisa baseada em ML para classes no Search Everywhere habilitada por padrão

Para fornecer resultados de pesquisa mais relevantes e precisos, continuamos nossos esforços para integrar a classificação de machine learning à funcionalidade Search Everywhere (Shift duplo). O algoritmo de classificação na guia Classes agora também é alimentado por machine learning por padrão, junto com os resultados nas abas Actions e Files.

Mudanças na nova interface de usuário Beta

Divisão vertical nas janelas de ferramentas

Divisão vertical nas janelas de ferramentas

Introduzimos na nova interface de usuário a opção de dividir a área da janela de ferramentas, para que você possa arranjar essas janelas de forma conveniente.

Para adicionar uma janela de ferramentas a essa área e colocá-la na parte inferior, arraste o ícone dessa janela pela barra lateral e solte-o abaixo do separador. Como alternativa, você pode clicar com o botão direito do mouse em um ícone para chamar o menu de contexto e atribuir a nova posição para uma janela de ferramentas usando a ação Move to.

Compact Mode

Compact Mode

Para melhorar a experiência com a nova interface de usuário do Rider em telas menores, introduzimos o Compact Mode, que proporciona uma aparência mais consolidada, graças à menor altura das barras de ferramentas e dos cabeçalhos das janelas de ferramentas e ao espacejamento, margens, ícones e botões menores.

Para ativar o Compact Mode, vá até o menu View e selecione Appearance | Compact Mode.

Abas de projeto no macOS

Abas de projeto no macOS

Implementamos um dos pedidos mais frequentes de recursos na nova interface de usuário do IDE — abas de projeto para usuários do macOS. Agora, quando você tiver vários projetos abertos, poderá facilmente alternar entre eles usando abas de projeto exibidas abaixo da barra de ferramentas principal.

Show Hidden Tabs

Show Hidden Tabs

Adicionamos o recurso Show Hidden Tabs (mostrar abas ocultas) à nova interface de usuário. Agora, junto às abas abertas, você tem um menu suspenso que mostra uma lista completa das abas abertas. Anteriormente, elas poderiam estar ocultas.

Widget Run reprojetado

Reprojetamos o widget Run no cabeçalho da janela principal, usando cores mais suaves, para que sua aparência fique mais sutil e menos cansativa para os olhos.

Ferramentas de controle de versão

Workflow de revisão de código aprimorado para o GitHub

No Rider 2023.1, fizemos um ajuste fino do processo de revisão de código dentro do IDE. Nossas pesquisas mostram que tipicamente, os usuários alternam entre o GitHub e o seu IDE, em casos em que precisam de navegação no código. Aperfeiçoamos esse fluxo de trabalho reformulando a janela de ferramentas Pull Requests.

Essa janela agora tem uma aba dedicada para cada solicitação de pull, mostrando apenas as informações essenciais, para ajudar os usuários a se concentrarem na tarefa atual. Também acrescentamos um botão para a fácil execução da ação considerada a mais importante para o estado atual da solicitação de pull.

Complementação automática no pop-up Create New Branch

Complementação automática no pop-up Create New Branch

Com o Rider 2023.1, implementamos a complementação automática no pop-up Create New Branch. Assim que você começa a digitar um nome para seu novo branch, o IDE sugere prefixos relevantes com base nos nomes dos branches locais existentes.

Pop-up Branches aprimorado

Pop-up Branches aprimorado

Melhoramos a usabilidade do pop-up Branches. Por exemplo, ficou mais fácil navegar entre branches, pois eles são agrupados e armazenados em listas expansíveis.

Ferramentas de banco de dados

Comparação de esquemas de bancos de dados

A ferramenta Schema Compare é essencial no desenvolvimento e manutenção de bancos de dados. Ela permite que os usuários comparem dois bancos de dados, identifiquem rapidamente as diferenças entre eles, certifiquem-se de que não há discrepâncias e mantenham os dados atualizados.

O Rider 2023.1 introduz o Schema Compare para bancos de dados conectados, para projetos de bancos de dados com SQL Server e para arquivos .dacpac. Para iniciar a comparação, clique com o botão direito no arquivo do projeto de banco de dados no Solution Explorer e selecione Schema Compare….

Criamos uma janela dedicada de editor, na qual você pode visualizar e editar arquivos do Schema Compare (.scmp). Além disso, agora a janela Problems View também inclui os problemas encontrados na comparação entre os bancos de dados, além daqueles identificados na validação do modelo de banco de dados.

Importante: a implementação do Schema Compare no Rider é baseada nas SQL Server Data Tools. Portanto, ela requer que você tenha o Microsoft Visual Studio 2017 ou mais recente instalado no seu computador.

Docker

Execução no modo Fast

Agora o modo rápido (Fast Mode) está disponível para executar projetos do Docker no Rider. Antes, você só podia usá-lo na depuração. Também tornamos possível usar o modo rápido com uma variedade maior de arquivos Dockerfile. Finalmente, mas não menos importante, tornamos o modo rápido ainda mais rápido extraindo as imagens do Docker e inspecionando-as durante a inicialização da solução.

Configurações de execução geradas automaticamente

Ao abrir uma solução, o Rider 2023.1 pode gerar configurações de execução do Docker Compose automaticamente, a partir de arquivos de projeto .dcproj. Esta versão do IDE também pode gerar configurações de execução de Dockerfiles sempre que uma propriedade de projeto DockerfileFile tiver sido especificada ou que um perfil do Docker estiver incluído em um arquivo launchSettings.json.

Pode-se fazer personalizações adicionais especificando as propriedades httpPort, sslPort, publishAllPorts e useSSL no perfil das configurações de inicialização.

Compartilhamento de certificados SSL gerados

Sempre que você implanta um aplicativo no Docker no modo rápido, você precisa compartilhar os certificados de HTTPS de desenvolvimento entre o host e o container. Automatizamos essa etapa adicionando uma opção Share generated SSL certificate para configurações executadas no Docker. Observe que só é possível compartilhar certificados confiáveis no Windows e no macOS. Isto significa que no Linux, você terá que marcar o certificado como confiável manualmente.

Docker Compose

Docker Compose

Agora você pode adicionar o Docker Compose, para que seu projeto manipule facilmente vários containers de uma vez. Para isso, acione o menu de contexto de um projeto de selecione Add | Docker Compose File para gerar:

  • Um Dockerfile para o projeto, se ainda não existir.
  • Um arquivo docker-compose.yml na pasta de soluções Solution Items, acima de todos os projetos na árvore.
  • Algumas configurações de execução para o Dockerfile ou o arquivo docker-compose.yml.

Logs combinados de todos os containers do Docker Compose

A aba Dashboard do nó do Docker Compose agora reúne logs de cada container do Docker Compose e os exibe num só lugar, atualizados em tempo real.

Suporte para o Azure Container Registry

Agora, você pode se conectar facilmente ao Azure Container Registry. Acesse Settings/Preferences | Build, Execution, Deployment | Docker | Docker Registry e configure-o selecionando a opção Docker V2 no campo de entrada Registry.

Execução e depuração

Configuração de execução

Às vezes, você pode querer executar o seu aplicativo em um runtime instalado em uma pasta personalizada. Para esses casos, introduzimos uma opção Add Custom Runtime na configuração Runtime, na página Run/Debug Configurations.

Também adicionamos caminhos às versões-padrão de runtime na lista suspensa Runtime.

O Rider 2023.1 também oferece suporte ao comando DebugRoslynComponent do arquivo launchSettings.json, para ajudar você a depurar componentes do Roslyn facilmente.

Ação <i>Reattach to Process</i>

Ação Reattach to Process

Agora você pode facilmente reanexar o depurador do Rider ao último processo ao qual ele estava anexado antes. Basta ir até Run | Reattach to Process... no menu principal ou usar o atalho de teclado Ctrl+Alt+Shift+F5. A nova ação será ativada depois da primeira sessão de depuração.

Depuração do código de inicialização do WASM

Agora o Rider pode depurar o código de inicialização de aplicativos .NET que usam WebAssembly (WASM). Antes, na maioria dos projetos, o depurador de WASM só podia ser anexado depois da inicialização do aplicativo, pois ele precisava de algum tempo para calcular as portas, inicializar as conexões, etc. Essa demora tornava impossível depurar o código de inicialização.

Agora o Rider espera pela inicialização do alvo da página, conecta o depurador e só então começa realmente a carregar o aplicativo. Isto permite capturar pontos de interrupção definidos nas etapas iniciais da lógica de inicialização do aplicativo.

Fechamento de abas do navegador ao final da depuração

Quando você inicia uma sessão de depuração de um aplicativo ASP.NET Core no Rider, ela faz o IDE abrir uma nova janela de navegador ou uma nova aba para a sessão. Até agora, se você executasse várias sessões de depuração, você ficaria com várias abas abertas, que depois você teria que fechar manualmente.

Agora, sempre que você depurar um aplicativo ASP.NET Core com um depurador de JavaScript ativado, o Rider fechará a aba correspondente no navegador assim que você parar o processo.

Suporte a F#

Complementação de código

Complementação automática no pop-up Create New Branch

Introduzimos os novos modelos de postfix match, for e with, para ajudar você a escrever código padronizado necessário.

Complementação automática no pop-up Create New Branch

Ao iniciar uma nova expressão match, será sugerido que se gerem todos os casos de union, enum, bool e valores de tuplas.

Injeções de linguagem com expressões regulares

Injeções de linguagem com expressões regulares

Adicionamos o suporte a expressões regulares em literais de string em F# (com a ajuda importante de Saul Rennison). Ao passar parâmetros de string anotados com [RegexPatternAttribute] ou [StringSyntax(StringSyntaxAttribute.Regex)], ou se houver um comentário //language=regex junto a um literal de string, o Rider processará as strings como expressões regulares, realçará a sintaxe e os erros, e oferecerá a complementação automática.

Correções rápidas

Correções rápidas

  • Há uma nova correção rápida que gera branches de padrões que estiverem faltando em uma expressão match.

Você pode encontrar a lista completa de autualizações e correções no F# aqui.

Plug-ins

Tradução Beta

O Rider 2023.1 inaugura a primeira etapa da tradução para chinês, coreano e japonês! Você terá uma interface de usuário parcialmente traduzida, inspeções de código, o menu Alt+Enter, janelas de ferramentas, suporte ao Unreal Engine e notificações, inclusive para o Unity.

Para traduzir o seu IDE, vá até Settings/Preferences | Plugins e pesquise no Marketplace o plug-in do pacote do idioma que você desejar. Instale o plug-in e reinicie o IDE para aplicar as alterações. Em vez disso, você também pode baixar o plug-in de idioma para chinês, coreano ou japonês do site do JetBrains Marketplace e instalá-lo indo até Settings/Preferences | Plugins | ⚙️ | Install Plugin from Disk.

Ação Trigger Continuous Testing

Ação Trigger Continuous Testing dotUltimate

Introduzimos uma nova ação, Trigger Continuous Testing, com uma opção para configurar um atalho para ela. Esta ação possibilita iniciar testes contínuos diretamente. Antes, você só podia fazer isso indiretamente, ao compilar ou salvar o seu projeto.

Para atribuir um atalho a esta ação, vá até Preferences/Settings | Build, Execution, Deployment | Unit Testing | Continuous Testing, selecione Trigger Continuous Testing on e configure o atalho da sua preferência.

Suporte para o Astro

Chegou o suporte inicial ao Astro, com um novo plug-in disponível para uso no Rider. Você pode baixar o plug-in do Astro do JetBrains Marketplace ou instalá-lo diretamente a partir do IDE, indo até Preferences/Settings | Plugins e pesquisando por "Astro".

O plug-in oferece funções básicas, tais como realce de sintaxe, complementação de código com importações automáticas, refatorações, navegação, intenções, desdobramento de código, suporte ao Emmet e formatação correta.

Outros recursos

Janela Structure

O Rider 2023.1 está cheio de melhorias e correções na navegação pelo código. Agora o Rider mostra os membros herdados na visualização da janela de ferramentas Structure e também restauramos a capacidade do Rider de mostrar os membros das classes do código descompilado nessa visualização.

Agora, quando for iniciado o comando Go to File Member, o Rider usará o pop-up Structure do IntelliJ IDEA. Isso permitirá que o IDE mostre a estrutura de um arquivo e os símbolos a partir de tipos-base compilados. Também implementamos o agrupamento dentro do pop-up, para que você saiba onde está cada item com apenas uma olhada.

Limpeza de código

Limpeza de código

Estamos introduzindo um novo tipo de tarefa de limpeza de código no Rider 2023.1, Reformat inactive preprocessor branches in file. Essa tarefa permite que você reformate branches inativos de pré-processadores. Ela só pode ser aplicada ao arquivo inteiro de uma vez e só funciona com código-fonte em C#.

Esta tarefa não pode reformatar código oculto atrás de uma diretiva de pré-processador #if que seja sempre falsa. Os dois exemplos mais óbvios desta limitação são os construtos #if false ... #endif e #define A #if !A ... #endif.

Filtros de texto em árvores de testes unitários

Filtros de texto em árvores de testes unitários

Filtros de pesquisa de texto aplicados a árvores de testes unitários, tanto dentro da janela de ferramentas Unit Tests quanto da Unit Test Coverage, agora são levados em consideração ao executar testes através dos botões Run da barra de ferramentas. Só continuarão listados e serão executados os testes que satisfizerem os critérios da pesquisa.

Refatoração Rename

Refatoração Rename

Melhoramos a maneira pela qual o Rider lida com a renomeação de arquivos em um projeto. A partir desta versão do Rider, sempre que você renomear um arquivo dentro da sua solução, aparecerá um diálogo com a opção de também renomear todos os símbolos relevantes (classes, interfaces, etc.) para coincidirem com a alteração.