O GoLand 2023.1 introduz o verificador de vulnerabilidades, melhor navegação no código gRPC e a refatoração Rename para receptores genéricos.
Agora, você pode executar arquivos de trabalho com pacotes de biblioteca não padrão, usar expressões regulares para criar suas próprias inspeções de busca e substituição, bem como converter rapidamente caracteres literais brutos em caracteres com aspas duplas, e vice-versa. A ação de intenção Implement interface agora funciona para interfaces não exportadas.
Além disso, você encontrará várias melhorias na nossa nova UI, atualizações para Docker e Kubernetes e melhorias para desenvolvimento Web.
Se você prefere uma abordagem de aprendizagem interativa, convidamos você a fazer o tutorial What's New in GoLand 2023.1 na tela Welcome.
O GoLand agora pode realçar pacotes com vulnerabilidades conhecidas em go.mod
. Passe o mouse sobre o código realçado ou pressione Alt+Enter, selecione Show vulnerability info for …, e o GoLand mostrará uma lista de vulnerabilidades com links para a descrição detalhada. Os dados sobre vulnerabilidades são fornecidos pela empresa de segurança de software Checkmarx.
Você pode posicionar o cursor em um pacote realçado em go.mod
, pressionar Alt+Enter e escolher a correção rápida Change package-name version to v0.x.x para atualizar uma dependência para uma versão que não tenha vulnerabilidades.
O GoLand também realça chamadas de métodos de pacotes com vulnerabilidades conhecidas diretamente no seu editor. Você pode passar o mouse sobre o código realçado e ver um pop-up com informações sobre a vulnerabilidade e um link para a descrição detalhada.
Você pode acessá-lo via Code | Analyze Code | Show Vulnerable Dependencies.
O cliente HTTP do GoLand atualmente é compatível com a execução de solicitações gRPC. Você também pode executar solicitações gRPC na janela de ferramentas Endpoints.
Essa versão oferece outra adição valiosa ao nosso conjunto de recursos gRPC. Agora, você pode navegar e acessar declarações de mensagens, serviços e métodos do código Go e suas implementações Go a partir de arquivos .proto
.
Para isso, clique no ícone dedicado ao lado da declaração de uma mensagem, serviço, método ou sua implementação.
Agora, você pode executar arquivos temporários com dependências Go de bibliotecas não padrão. Quando você copia seu código de um arquivo de projeto para um arquivo temporário e pressiona o botão Run, o GoLand cria uma configuração Run com o sinalizador -overlay
. Esse sinalizador é usado com um arquivo JSON que mapeia caminhos de arquivo para go.mod
e go.sum
em seu projeto original.
Quando você renomeia um parâmetro de tipo em um struct, a refatoração Rename agora sugere alterar os receptores de acordo.
Corrigimos vários problemas que afetam a navegação entre interfaces, implementações e especificações de método no código genérico. Também implementamos várias correções adicionais para falsos positivos e falsos negativos relacionados a genéricos.
Há agora uma ação de intenção que permite converter rapidamente literais de strings brutos (strings delimitadas por acentos graves) em aspas duplas, e vice-versa.
Anteriormente, quando você precisava converter um número inteiro em uma string, o GoLand primeiro sugeria a correção rápida Convert to ‘string’. Para concluir a conversão corretamente, você precisaria de outra correção rápida: Convert integer to string using strconv.Itoa() call.
Simplificamos esse fluxo de trabalho, e agora o GoLand sugere a correção rápida de chamada Convert integer to string using strconv.Itoa() call imediatamente.
A ação de intenção Implement interface agora funciona para interfaces não exportadas.
Agora, o GoLand tem uma inspeção e uma correção rápida que ajudará você a detectar e remover espaços iniciais em diretivas Go como //go:embed
.
No lançamento anterior, habilitamos a funcionalidade Intention Preview por padrão.
Esse recurso permite que você veja instantaneamente como seu código será alterado depois de aplicar as sugestões do IDE.
Agora, é possível visualizar uma variedade mais ampla de ações de intenção e correções rápidas, entre elas: Introduce local variable, Create variable/global variable, Create constant/global constant, Create field, Merge declaration up, Delete all unused parameters, Create function, Create method, Fill all fields.
Melhoramos a experiência de inicialização do IDE executando o processo Scanning files to index… no modo inteligente, o que disponibiliza toda a gama de funcionalidades do IDE muito mais cedo no processo de inicialização. Ao abrir um projeto, o GoLand usa caches existentes da sua sessão anterior com o projeto e procura simultaneamente arquivos para indexar. Se nenhuma alteração for encontrada na verificação, o IDE estará totalmente pronto para você trabalhar, eliminando os atrasos que antes eram causados pela indexação na inicialização.
Há uma nova notificação acionada quando o Windows Defender com proteção em tempo real está em execução. Como essas verificações de antivírus podem diminuir significativamente a velocidade do IDE, o GoLand sugere adicionar determinadas pastas à lista de exclusões do Defender. A notificação fornece opções ou para reajustar essas configurações automaticamente ou para verificar primeiro as instruções de configuração do Defender e fazer isso manualmente.
Atualizamos o recurso Code Vision. O GoLand agora mostra o número de implementações para uma interface e suas especificações de método.
Na versão anterior, introduzimos usos exibidos perto de todas as funções e tipos, mostrando com que frequência a função ou o tipo é referenciado no projeto atual. Além disso, os autores do código são exibidos quando a integração de controle de versão está habilitada.
Agora, você pode usar expressões regulares para criar suas próprias inspeções de busca e substituição. Essas inspeções podem ser particularmente úteis para realçar problemas baseados em estilo ou em formatação.
Acesse Settings | Editor | Inspections e pressione o ícone +. Selecione Add RegExp Search Inspection na lista, e você será direcionado para uma caixa de diálogo na qual pode configurar sua nova inspeção. Selecione a linguagem desejada, use as dicas do painel à esquerda para criar uma RegExp e designe a substituição necessária. Você também pode especificar como deseja que o IDE as realce no projeto.
Na versão 2022.3, integramos a funcionalidade Go Playground ao GoLand.
Aprimoramos esse recurso nessa versão. Em primeiro lugar, as URLs compartilhadas agora incluem o parâmetro version se você escolher a versão de desenvolvimento ou versões anteriores.
Também adicionamos uma opção para desativar a janela pop-up que solicita sua permissão para compartilhar código no Playground. Você pode desabilitá-la em Settings | Go | Ask before sharing in Go Playground.
Ajustamos a experiência do usuário ao colar uma linha que foi copiada ou cortada sem seleção. Agora, existe uma configuração especial que permite controlar o posicionamento do conteúdo colado.
Em Settings | Advanced Settings, localize a seção Editor e selecione o comportamento desejado para a ação Paste na lista suspensa.
Há uma nova caixa de seleção Selection em Settings | Editor | General | Appearance | Show Whitespace que permite definir essa configuração de forma que o IDE mostre espaços em branco como pequenos pontos somente quando você seleciona o código.
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:
Introduzimos um novo grupo Find Usages para chamadas de função: o grupo Call.
Também implementamos algumas correções para como o uso de elementos de código genérico é representado na janela Find Usages.
Agora é possível ampliar e reduzir o GoLand, aumentando ou diminuindo o tamanho de todos os elementos da IU de uma só vez. No menu principal, selecione View | Appearance | Switch Zoom IDE e ajuste o tamanho do IDE.
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 | Appearance | Appearance & Behavior | Tool Windows.
Na nova IU, essa configuração está desativada por padrão, o que significa que as janelas de ferramentas são exibidas com uma largura unificada, e seus tamanhos permanecem constantes quando você alterna entre elas. Na IU antiga, essa opção está ativada, então as janelas de ferramentas têm larguras diferentes, embora você possa optar por alinhá-las a qualquer momento simplesmente desativando a configuração.
Agora, você pode salvar e gerenciar vários layouts de janela de ferramentas e alternar entre eles quando necessário.
Para salvar um novo layout, organize as janelas de ferramentas como desejar e acesse Window | Layouts | Save Current Layout as New. Depois de ajustar a disposição, você poderá atualizar a configuração usada atualmente com a opção Save Changes in Current Layout ou salvar essas alterações para outro layout personalizado. Para ativar um layout salvo, localize-o na lista em Window | Layouts, passe o cursor sobre seu nome e clique em Apply.
Esta versão adiciona uma opção para predefinir o comportamento de Actions on Save para novos projetos.
Para isso, acesse File | New Projects Setup | Preferences For New Projects | Tools | Actions on Save e selecione quais ações você deseja que sejam acionadas ao salvar alterações em seus projetos.
No ano passado, apresentamos uma interface de usuário nova e mais minimalista para o GoLand e outros IDEs da JetBrains. Refinamos ainda mais a nova IU com base nos seus comentários. Leia para saber mais sobre as principais mudanças na nova IU que chegaram neste lançamento. Você pode experimentar nossa nova IU marcando a caixa de seleção New UI em Settings | Appearance & Behavior.
Acesse esta página para saber mais sobre a nova UI.
Para melhorar a experiência do usuário com nossa nova IU em telas menores, introduzimos o Compact Mode, que fornece um visual mais consolidado devido à diminuição da altura de barras de ferramentas e cabeçalhos de janelas de ferramentas, espaçamentos e preenchimentos reduzidos e ícones e botões menores.
Para ativar o Compact Mode, acesse o menu View e selecione Appearance | Compact Mode.
Além disso, a barra de ferramentas superior não está mais visível nos modos Zen e Distraction Free.
Introduzimos na nova interface de usuário a opção de dividir a área da janela de ferramentas, para que você possa organizar 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.
Agora, quando você tiver vários projetos abertos, poderá facilmente alternar entre eles usando abas de projeto exibidas abaixo da barra de ferramentas principal. Para fazer isso, acesse Window | Merge All Project Windows.
Adicionamos o recurso Show Hidden Tabs na nova IU. Agora você tem um menu suspenso que mostra a lista completa de guias abertas, já que elas poderiam estar ocultas antes.
Ajustamos a experiência do usuário com a nova IU, adicionando um painel que exibe o nome do arquivo que está aberto no momento em que as abas do editor estão ocultas.
Reformulamos o widget Run na parte superior da janela do IDE. Com os ícones agora coloridos em verde (em vez de a área ao redor deles ser destacada em cores), a aparência é mais sutil e mais agradável aos olhos.
Neste build, adicionamos complementação para nomes de container quando você usa o pacote testcontainers-go
.
Depois de digitar o nome do contêiner, você pode usar a ação Pull Docker image que foi implementada anteriormente.
A aba Dashboard do nó do Docker-compose agora reúne logs de cada container do Docker Compose e os exibe em um só lugar, atualizados em tempo real.
Agora, você pode se conectar facilmente ao Azure Container Registry. Acesse Settings | Build, Execution, Deployment | Docker | Docker Registry e configure-o selecionando a opção Docker V2 no campo de entrada do Registry.
Agora, você pode adicionar sinalizadores de configuração :z a montagens de associação do Docker, o que permite conectar volumes a containers do Docker em estações de trabalho SELinux. Para habilitar essa funcionalidade, acesse Settings | Advanced Settings | Docker.
Para facilitar a criação de novos arquivos do Kubernetes, adicionamos uma nova ação, Kubernetes Resource, ao menu New que é exibido quando você clica com o botão direito do mouse na janela de ferramentas Project.
Depois de selecionar a opção Kubernetes Resource, você verá um pop-up com uma lista dos tipos de recursos mais populares, como Pod, Deployment e ConfigMap, entre outros.
Introduzimos uma nova caixa de diálogo para criar Kubernetes Secrets.
Para definir um novo Secret, você pode inserir uma chave e um valor manualmente. Como alternativa, você pode especificar um arquivo cujo conteúdo será usado para o valor do Secret resultante.
Quando você usa a ação View YAML para recursos de um cluster e faz qualquer alteração no arquivo aberto, o IDE realça todas as suas edições com marcas codificadas por cores na medianiz. Dessa forma, você pode ter certeza de que as alterações serão feitas nas partes necessárias do recurso antes de as aplicar de volta ao cluster.
Além disso, ao usar o ícone Compare with Cluster, você pode abrir uma janela de diff completa que buscará a versão atual do recurso do cluster e a comparará com a versão local.
Agora, você pode acessar facilmente um arquivo kubeconfig na tela Services e abri-lo no editor. Se você alterar um arquivo kubeconfig fora do IDE, o GoLand detectará a alteração e atualizará automaticamente a configuração na janela de ferramentas Services. Além disso, o IDE agora oferece suporte ao realce e à complementação de código para arquivos kubeconfig.
Agora, você pode atribuir atalhos para a maioria das ações do Kubernetes na janela Services, como Forward Ports, Delete Resource e Describe Resource, entre outros. Para definir seus atalhos personalizados, acesse Settings | Keymap | Plugins | Kubernetes.
Uma nova ação de intenção permite corrigir a formatação de tabelas em arquivos Markdown. Você pode acessar a correção rápida por meio do atalho Alt+Enter ou clicando no ícone de lâmpada amarela e selecionando Reformat table na lista exibida.
A ação do editor Fill Paragraph agora é compatível com arquivos Markdown, permitindo que você quebre textos longos em várias linhas do mesmo comprimento. Para fazer isso, defina o cursor dentro do parágrafo que você deseja editar e chame a ação no menu Edit ou procure o comando Fill Paragraph usando o Search everywhere (Shift duplo) e execute-o.
Adicionamos uma página dedicada para configurar e editar suas preferências de Markdown em Settings | Editor | General | Smart Keys. Essa página deve facilitar o gerenciamento das suas preferências, pois fornece caixas de seleção separadas para vários recursos do editor, substituindo a única caixa de seleção armazenada anteriormente em Settings | Languages & Frameworks.
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.
Implementamos a complementação no pop-up Create New Branch. Pressione Ctrl+espaço, e o IDE sugerirá prefixos relevantes com base nos nomes de branches locais existentes.
Para tornar o rastreamento de alterações nos arquivos mais conveniente, adicionamos dicas de cores à janela de ferramentas Structure. Os nomes dos objetos modificados agora ficarão azuis, e os nomes dos objetos recém-adicionados aparecerão na janela de ferramentas realçados em verde.
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.
Reformulamos a janela de ferramentas Pull Request. Agora, ela apresenta uma aba dedicada para cada solicitação pull que você abre. A aba exibe instantaneamente a lista de arquivos alterados, mas agora fornece menos informações do que antes. Isso permite que você se concentre melhor na sua tarefa atual. Agora também existe um botão dedicado para executar facilmente a ação considerada a mais importante com base no estado atual da solicitação pull.
O suporte para Astro chegou no GoLand. Você pode obtê-lo através do nosso novo plug-in Astro, que pode ser instalado em Settings | Plugins. Esse plug-in oferece funcionalidades básicas, incluindo realce de sintaxe, complementação de código com importações automáticas, refatorações, navegação, formatação correta e muito mais.
O GoLand 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.
Adicionamos suporte ao TypeScript nos templates do Vue quando você define o atributo lang
em uma tag script
como ts
. Anteriormente, JavaScript era sempre usado, ignorando o atributo lang
na tag script
.
Observação: para saber mais sobre todas as melhorias de desenvolvimento Web na versão 2023.1, acesse a página de novidades do WebStorm.