O GoLand 2023.3 vem com vários acréscimos significativos:
returns
e panics
de linha única e outros elementos de código. slice
, insights de código para funções personalizadas do tipo printf
e melhorias no depurador. O GoLand 2023.3 também oferece atualizações para integrações com o Docker e o Kubernetes, sistemas de VCS e alguns ajustes para desenvolvimento Web. Mergulhe de cabeça!
As atualizações mais recentes incluem geração aprimorada de código diretamente no editor, chat de IA com reconhecimento de contexto, que responde a consultas relacionadas ao projeto sem exigir que você copie o código, e ações de IA com reconhecimento de projeto que usam contexto estendido para fornecer resultados mais abrangentes. Um novo visualizador de diferenças facilita a identificação de alterações que as ações de IA fizeram no seu código.
Use o AI Assistant no GoLand como recurso complementar com uma assinatura do JetBrains AI Service.
É difícil definir nomes! É por isso que o AI Assistant no GoLand sugerirá algumas ideias de nomes para funções para melhorar a legibilidade.
Documentar seu código é uma rotina comum, mas necessária. A ação Write documentation facilita o código bem comentado com apenas alguns cliques.
O AI Assistant pode ajudar você a criar um teste para uma função ou método específico e sugerirá a adição de mais casos de teste após a criação da classe de teste inicial.
Esta correção rápida permite que você digite um nome de função inexistente e então gere a implementação em um pacote de sua preferência.
A versão 2023.3 vem com a primeira parte da tão aguardada refatoração Extract Parameter. A correção rápida Create Parameter para referências não resolvidas permite selecionar uma referência não resolvida e usar a opção de correção rápida para criar um parâmetro. Também permite alterar seu tipo caso não seja suficientemente preciso, fornecendo um valor padrão e alterando as chamadas com o valor padrão.
O GoLand agora oferece suporte para Dev Containers, permitindo que você use containers como um ambiente de desenvolvimento completo para editar, compilar e executar seus projetos. Dev Containers podem ser executados remotamente por meio de uma conexão SSH ou localmente usando o Docker.
O GoLand 2023.3 oferece suporte para Dev Container Features, proporcionando uma maneira conveniente e rápida de integrar ferramentas, tempos de execução e bibliotecas adicionais essenciais para desenvolvimento.
Também introduzimos suporte para Docker Compose dentro do Dev Containers, permitindo o lançamento contínuo do container principal com o IDE e de quaisquer containers dependentes, como aqueles com bancos de dados ou filas de mensagens, que são úteis durante o processo de desenvolvimento.
returns
e panics
de linha única Para returns
and panics
de linha única, agora haverá uma opção para usar o novo estilo conciso de dobramento de código, que parecerá muito mais próximo do código original.
A nova sintaxe de dobramento está habilitada por padrão.
Usamos uma abordagem semelhante para cláusulas case
: a seta para cima é removida, e apenas os dois pontos duplos são dobrados.
returns
únicos Assim como fizemos para returns
e panics
, também habilitamos o dobramento para funções com uma única instrução return
.
Para melhorar a legibilidade do código de tratamento de erros, o GoLand dobra automaticamente os blocos if
de tratamento de erros.
Para blocos if
com código de tratamento de erros, o GoLand também dobra todas as instruções únicas, por exemplo, com chamadas para registro em log.
string
Desabilitamos o dobramento de código para formatação de string
a fim de tornar a sintaxe relevante mais visível. Além disso, a nova abordagem para dobramento de código permite editar blocos de código sem precisar expandi-los.
switch
para enums O GoLand agora pode ajudar na escrita de instruções switch
para enums. Ele sugere a geração de cases para todos os valores na complementação.
iota
A inspeção ajuda você a acompanhar expressões switch
para constantes iota
. A inspeção avisa sobre cases não cobertos por switch
e oferece duas soluções: adicionar as cláusulas faltantes ou adicionar uma cláusula padrão.
O recurso permite que você veja exatamente qual código foi alcançado em execuções únicas ou múltiplas. Também ajuda a detectar código inativo.
Anteriormente, ele funcionava apenas para execuções de teste, mas agora você também pode executar a função main
com Coverage.
slice
Expressões slice
podem ser confusas, especialmente aquelas com três índices. O GoLand agora mostrará dicas enquanto você constrói fatias.
printf
O GoLand fornece muitos recursos úteis para funções padrão do tipo printf
: realce de espaços reservados, detecção de erros, dobramentos de código etc. Agora, todos esses recursos estão disponíveis para funções do tipo printf
definidas pelo usuário.
O GoLand 2023.3 apresenta um analisador de fluxo de dados refinado baseado no mecanismo usado no CLion. Esse recurso detecta problemas de código de maneira mais ampla, como possível dereferenciamento de nil
, tratamento de erros incorreto ou ausente e sempre condições true/false
.
Observe que esse recurso está atualmente em acesso antecipado e está desabilitado por padrão. Você pode habilitá-lo em Settings | Editor | Inspections | Go | Data Flow Analysis (experimental) e envie-nos seu feedback!
O asdf é uma ferramenta de CLI que permite gerenciar versões de ambientes de runtime de diferentes linguagens de programação. Em resposta ao feedback da comunidade, decidimos incluir suporte ao asdf nesta versão. Neste lançamento, o GoLand verificará a versão do Go no arquivo .tool-versions
e usará a versão do Go apropriada para o projeto selecionado.
O Go 1.21 e versões posteriores são mais cautelosos para não compilarem erroneamente código que requeira uma versão ainda mais nova do Go. Especificamente, a linha go
em go.mod
agora especifica uma versão mínima necessária da toolchain Go, enquanto nas versões anteriores, era uma sugestão praticamente não aplicada.
Agora, o GoLand oferece suporte total a esse fluxo e baixa automaticamente a versão do SDK especificada em um arquivo go.mod
usando a linha go
ou toolchain
. A versão especificada também é definida automaticamente nas configurações do projeto Go.
O GoLand 2023.3 migrou para a moderna API da Plataforma IntelliJ e, portanto, não executa go list -m
pela segunda vez quando o projeto contém diretórios de fornecedores. A utilização mais eficaz de caches melhora o desempenho de projetos contendo vários módulos Go.
Uma nova opção embutida Run to Cursor que oferece uma maneira rápida de navegar até uma linha específica de código durante a depuração. Depois que seu programa é suspenso, você pode passar o mouse sobre a linha de código na qual deseja continuar a execução. Em seguida, pode usar o pop-up Run to Cursor para executar seu código até chegar à linha onde o cursor está posicionado.
Expandindo a integração com o GitLab, adicionamos suporte para snippets do GitLab. Agora, você pode criar snippets públicos ou privados diretamente no IDE.
Agora, você pode adicionar facilmente contextos kubeconfig
de clusters localizados em diretórios fora do sistema necessário. O projeto incluirá links para arquivos kubeconfig
, disponibilizando esses clusters enquanto você trabalha no seu projeto. O conteúdo kubeconfig
adicionado dessa forma não será copiado ou modificado no sistema (~/.kube/config)
. Esse recurso é especialmente útil quando você adiciona e remove frequentemente clusters do Kubernetes de ambientes de nuvem ou locais. Saiba mais.
Ao começar a usar o plug-in Kubernetes, pode ser necessário instalar o kubectl e/ou o Helm. Se você ainda não tiver esses componentes na sua máquina, o IDE oferecerá para instalá-los automaticamente.
O Telepresence permite depurar localmente os microsserviços de um aplicativo Kubernetes, como se a sua estação de trabalho fizesse parte do cluster. Nesta versão, tornamos o workflow do Telepresence mais acessível movendo-o para o menu de contexto do cluster. Também simplificamos o gerenciamento de interceptação para uma experiência de depuração mais tranquila.
import
no Terraform O GoLand oferece suporte a blocos import
de nível superior da versão 1.5 da linguagem de configuração Terraform. Os blocos import
permitem colocar a infraestrutura atual sob o gerenciamento do Terraform. Quando import
é usado em um bloco de código, ele se torna parte do plano padrão e dos ciclos de aplicação e deixa de ser uma operação de estado. O Terraform realiza geração automática de código para recursos importados, economizando tempo no desenvolvimento de infraestrutura como código.
O GoLand 2023.3 resolve algumas das inconsistências encontradas ao adicionar instruções import type
. Adicionamos a opção de configurar o uso da instrução import type TypeScript ou do especificador de tipo ao importar um tipo. Também melhoramos o comportamento do campo exports
de package.json para arquivos TypeScript.
Melhoramos a exibição Structure para melhor navegação em arquivos .http
grandes. Essa atualização também introduz rótulos codificados por cores para tipos de solicitação e fornece uma listagem mais clara de seu conteúdo. Também adicionamos suporte para declaração de variáveis usando @
e autenticação com senha OAuth 2.0 e tipos de concessão de credenciais de clientes.
O GoLand detectará automaticamente seus testes Cypress e Playwright e permitirá que você os execute e depure com um único clique do mouse. O suporte também inclui a capacidade de explorar os resultados e encontrar problemas navegando pela Test Tree.
Essa é uma maneira renovada de revisar alterações no código. Agora, em vez de passar por cada arquivo um por um, você pode ver todos os arquivos modificados de um conjunto de alterações em um único quadro rolável. Saiba mais.