Start Debugging

Tag: how-to

65 posts · Página1de7

Como descartar teclas em buffer antes de Console.ReadKey em um loop de jogo de console em C#
Esvazie o buffer de entrada do console com while (Console.KeyAvailable) Console.ReadKey(true) antes de aguardar uma nova tecla, e esvazie-o a cada frame em um loop de jogo para que a repetição de teclas não se acumule. Como o buffer funciona no Windows e no Unix no .NET 10, por que teclas mantidas pressionadas causam atraso, a armadilha do eco no Unix e FlushConsoleInputBuffer.
Como manter a aba selecionada da NavigationBar sincronizada com a rota atual usando StatefulShellRoute no go_router
Controle NavigationBar.selectedIndex a partir de StatefulNavigationShell.currentIndex, nunca de um campo com setState nem de uma cópia feita no initState. Medido no Flutter 3.44.8 e no go_router 18.0.2: quais padrões saem de sincronia em deep links, context.go e pushes entre branches, por que índices baseados na localização mentem e como reagir a mudanças de aba com didUpdateWidget.
Como casar parênteses aninhados e tags balanceadas com balancing groups no Regex do .NET
Balancing groups (?<name>) e (?<-name>) transformam um grupo de captura do Regex do .NET em uma pilha, então um único padrão consegue casar parênteses ou tags <div> aninhados em qualquer profundidade. O padrão completo, como a pilha funciona, a captura do conteúdo interno com (?<inner-open>) e as armadilhas verificadas no .NET 11 RC1: a checagem de pilha vazia, backtracking catastrófico, NonBacktracking e tipos de colchetes misturados.
Como adicionar a chave pública completa de um assembly com strong name ao InternalsVisibleTo em um projeto no estilo SDK
Um assembly assinado precisa nomear seu amigo pela chave pública completa de 320 caracteres, não pelo token, ou o build falha com CS1726 ou CS0281. Obtenha a chave com sn -p e sn -tp, ou com um script .NET multiplataforma, e coloque-a no metadado Key de um item InternalsVisibleTo no .csproj. Cobre o fallback da propriedade PublicKey, a chave DynamicProxyGenAssembly2 do Moq e a armadilha das quebras de linha.
Como detectar eventos de bloqueio, desbloqueio, logon e logoff da sessão do Windows em um app C#
Use SystemEvents.SessionSwitch em um app desktop ou de console, sobrescreva OnSessionChange em um serviço do Windows ou intercepte WM_WTSSESSION_CHANGE você mesmo. Cobre código .NET 10 para as três abordagens, a thread oculta '.NET System Events', por que serviços veem o logon e apps desktop não, notificações fora de ordem e como consultar o estado atual de bloqueio com WTSQuerySessionInformation.
Como definir parâmetros de sessão do PostgreSQL, como search_path ou statement_timeout, em toda conexão do EF Core com o Npgsql
Um SET executado uma única vez é apagado pelo DISCARD ALL assim que o Npgsql devolve a conexão ao pool. Coloque search_path e statement_timeout no pacote de inicialização com as palavras-chave de connection string Search Path e Options, use ALTER ROLE ou um interceptor ConnectionOpened como alternativa, e entenda por que o UsePhysicalConnectionInitializer perde o seu SET silenciosamente.
2026-09-27 dartfluttervs-code
Como acelerar um Dart analysis server lento no VS Code em um monorepo Flutter grande
Um monorepo com dezenas de arquivos pubspec.yaml faz o Dart analysis server criar um contexto de análise por pacote, e é para lá que vão a memória e o startup de um minuto. Converta para um pub workspace, exclua o código gerado no analysis_options.yaml, remova os plugins legados do analyzer e use a página Insights para comprovar. Medido no Dart 3.12.2: 2,3x menos memória de pico e metade do tempo de análise a frio.
Próximo