O RAD Studio 10.4.2 foi planejado como uma continuação focada em recursos da versão 10.4.1 focada na qualidade. No entanto, além de fornecer alguns recursos principais, também corrigimos mais problemas na versão 10.4.2 do que na versão anterior!
Isso se aplica tanto ao Code Insight, ou DelphiLSP, quanto a outras partes do Delphi 10.4.2. Vamos dar uma olhada no que há de novo. Primeiro, os recursos …
Table of Contents
Error Insight – agora Error, Warning and Hint Insight
Por muitos anos, você foi capaz de ver erros de código detectados com antecedência antes de compilar, mostrados por meio de um sublinhado em zigue-zague vermelho no editor de código (um ‘rabisco vermelho’.) Uma das grandes melhorias que fizemos com a introdução do DelphiLSP em 10.4 era para garantir que essas indicações estivessem sempre corretas: há uma correlação de 1: 1 entre o marcador no editor de código e os erros do compilador que você veria se compilasse o código, e todos os erros mostrados no editor e no painel Estrutura estão corretas.
Em 10.4.2, estendemos isso para que você possa ver avisos e dicas no editor de código também. Avisos e dicas fornecem informações valiosas sobre seu código, problemas que não impedem a compilação, mas podem impedir que seu aplicativo seja executado da maneira que você deseja. Mostrar essas informações ao vivo no editor à medida que você digita fornece feedback e tempo de execução muito mais rápidos para corrigir problemas em seu código. E para aqueles que preferem compilar sem quaisquer avisos ou dicas – um grande objetivo – vê-los embutidos será inestimável.
Em 10.4.2, não habilitamos isso por padrão, para que o editor de código não fosse coberto em várias cores para aqueles cujo código tem muitos avisos e dicas. Após o feedback inicial do cliente, podemos ativá-lo por padrão em 10.5! Mas para esta versão, você pode ativá-lo em Opções do IDE> Interface do usuário> Editor> página Idioma, guia ‘Error Insight’, caixa de combinação ‘Error Insight Display’:
Esta guia permite que você escolha entre ver: somente erros; erros e avisos; ou erros, avisos e dicas. Recomendamos que você ative a exibição de todos os três.
Renderização do editor e outros problemas de nomenclatura
‘Error Insight’ é um ótimo nome – exceto que agora ele realmente poderia ser chamado de Error, Warning and Hint Insight. (Não, não mudamos a forma como nos referimos ao recurso.)
Outro grande nome era ‘rabiscos vermelhos’ … exceto que agora são ‘rabiscos vermelhos, âmbar e azuis.’ Mas isso não é tudo. Agora eles podem nem mesmo ser rabiscos! O Departamento de Nomeação de Coisas Real Boas aqui na Embarcadero está bastante descontente com todos os novos recursos que estamos fornecendo a você com esta versão. Veja isso:
Em 10.4.2, queremos garantir que os marcadores do editor de código sejam claros e fáceis de ver, além disso, sabemos que nossos clientes costumam gostar de personalizar o IDE de acordo com suas próprias preferências. Por essas razões, temos quatro maneiras diferentes de renderizar o sublinhado: o ziguezague tradicional, mas também uma onda curva (como outros IDEs), uma linha de pontos (meu favorito, pois acho que é discreto e elegante, mas ainda claro, e insisto Não estou pensando demais em uma análise de alguns pixels), e uma barra inferior sólida. Esperamos que você goste de configurar isso e, especialmente se tiver um monitor de alta resolução ou problemas de visão, encontrará o estilo de marcador que atende às suas necessidades.
Também mostramos um ícone na calha do editor. Isso facilita a localização de erros, avisos ou dicas durante a rolagem rápida. Como as outras alterações aqui, isso pode ser controlado ou totalmente desativado, se desejar.
Insight na barra de status do Editor e dicas de ferramentas
Se você tiver espaço horizontal suficiente, a barra de status na parte inferior do editor de código agora lhe dará uma visão geral do número de erros, avisos e dicas na unidade atual.
Se você passar o mouse sobre um erro (ou aviso ou dica), também ajustamos a forma como ele é exibido.
Atividade do servidor LSP
Você já se perguntou o que o mecanismo Code Insight está fazendo, o que está processando e quando pode estar pronto para fornecer resultados? Em 10.4.2, uma pequena barra na parte inferior da visualização Projetos lista a atividade do servidor LSP.
Herdado
Em março de 2015, mais de um ano antes de entrar na Embarcadero e em um momento em que eu não tinha ideia de que poderia trabalhar aqui um dia, muito menos ser responsável por essa parte da Delphi, entrei na solicitação de recurso do Portal da Qualidade RSP-10217 . É um relatório QP popular com 117 votos e 41 observadores. O pedido era para estender Ctrl + Click, que navega para a declaração de um símbolo, para permitir que você use Ctrl + Click na palavra-chave ‘herdada’.
Estou muito feliz em dizer que no 10.4.2 esse recurso foi implementado. Você pode Ctrl + Clique na palavra-chave ‘herdado’ e, se qualificado com um método como ‘Criar herdado’, também Ctrl + Clique no nome do método, que também será entendido como navegação para aquele método herdado.
Por que isso é uma adição tão útil? Navegar até onde algo está definido é muito útil para aprender sobre isso e descobrir o que ele faz, e é por isso que Ctrl + Clique em geral é útil. Mas a funcionalidade costumava funcionar apenas em nomes de símbolos. Quando você invoca um método herdado, ou em outras palavras, invoca a implementação em uma classe ancestral, isso também é algo que você deseja navegar para descobrir o que ele faz: na verdade, isso é altamente útil porque se move dentro de uma herança a hierarquia é importante para entender seu código orientado a objetos. Costumava não haver maneira de encontrar o método herdado. Agora existe!
Em um toque final, o código concluído após a palavra-chave ‘herdada’ agora listará apenas métodos de classes ancestrais.
… E qualidade!
Todos os itens acima são novos recursos, às vezes novos recursos realmente interessantes. Mas, como mencionei no início deste post, 10.4.2 também foi um lançamento de grande qualidade. Para DelphiLSP, às vezes isso significa corrigir bugs. Mas também significa revisar recursos – ajustes, ajustes, garantindo que funcionem em cenários menos comuns, mudança de comportamento com base no feedback e muito mais. Aqui está uma lista de apenas algumas das correções, ajustes, mudanças, ajustes e polimento que adicionamos ao DelphiLSP nesta versão.
- Funções de preenchimento de código em blocos IFDEF para macros integradas que o compilador definiu em algumas situações, como UNICODE ou MSWINDOWS
Muitas melhorias nas unidades que estão sendo mostradas ao completar o código na cláusula de uso (ele também mostrará arquivos .pas e .dcu nos caminhos de pesquisa e de projeto; você pode desabilitar DCUs se precisar nas Opções de Projeto em um nível por plataforma) ; mais uma unidade ‘haste’ (como ‘Winapi’ em ‘Winapi.Windows’) também é listada; até indica quando uma unidade que você está completando já está na cláusula de uso!- Muitas melhorias na resolução de sobrecarga, que serão visíveis ao clicar em Ctrl + clique em um método sobrecarregado ou ao exibir o Parameter Insight quando houver múltiplas sobrecargas para um método
- Ctrl + clicar em uma implementação de método irá para sua declaração e vice-versa. A navegação Ctrl + Clique também funciona para chamadas a métodos genéricos instanciados, em muitos casos em símbolos em código incorreto (não compilável); e no argumento da Saída embutida; além de melhorias usando-o em uma cláusula de uso
- Muitas melhorias para genéricos, incluindo conclusão em classes genéricas mostrando símbolos privados / protegidos estritos; encontrar declaração encontrando campos e propriedades em tipos genéricos; encontrar métodos genéricos em outra unidade; e mais
- Muitas melhorias completando e navegando para: atributos; enums com escopo (eles exibirão e completarão a enumeração com seu escopo); listar strings de recursos; navegar para propriedades e getter / setters de propriedade; e mais
- Melhorias na exibição da documentação, incluindo a exibição de XMLDoc durante a conclusão do parâmetro
- Muitos ajustes de desempenho. Até o executável é menor agora.
E não é isso – há muitos, muitos mais ajustes, mudanças e correções de qualidade em todo o DelphiLSP. O texto acima é talvez um quarto da lista, e você notará que muitos pontos cobrem vários itens. Cada um tem outros itens – há mais ajustes para lidar com a pesquisa .pas e .dcu, por exemplo, que não são mencionados, ou mais ajustes em torno da conclusão de parâmetros, ou ajustes em torno de como o IDE insere texto, ou …
A impressão que gostaria de comunicar é o quanto foi revisado e aprimorado em 10.4.2. Muitos dos itens acima você pode não notar: eles são melhorias sutis. A sensação geral é que o auto-completar de código e os recursos relacionados funcionam apenas quando você espera, como você espera que funcionem.