No GoLand 2020.3, você pode explorar o goroutines dump, executar e navegar para testes de tabela individuais e aproveitar o suporte estendido para o framework de testes Testify. Você também encontrará muitos novos recursos de edição de código, incluindo suporte para o pacote time, maneiras mais inteligentes de lidar com pacotes, melhorias na interface do usuário, uma variedade de novos recursos para o desenvolvimento web e para o trabalho com bancos de dados, além de um novo serviço para o desenvolvimento colaborativo e programação em pares.
Prefere aprender interativamente em vez de ler? Complete o tutorial What's New in GoLand 2020.3 dentro do IDE na tela Welcome.
O novo ícone Dump Goroutines no depurador permite que você encontre com facilidade as goroutines que contêm uma determinada string na pilha durante a sessão de depuração. Basta clicar no ícone para abrir um dump numa janela separada.
Para ajudá-lo a manter o foco nas informações mais importantes, existe uma opção para ocultar uma goroutine individual ou várias goroutines com a mesma pilha. Clique com o botão direito numa goroutine para selecionar a ação desejada ou simplesmente aperte delete para movê-la para uma seção especial Hidden, na janela do dump, onde ela não seja uma fonte de distração.
O GoLand 2020.3 permite interromper um processo com a configuração Go Remote se não for necessária nenhuma reconexão.
Nas suas configurações, você pode especificar o comportamento default do depurador ao desconectar, escolher Stop remote Delve processes, Leave it running ou fazer com que o GoLand pergunte como proceder cada vez.
Você pode executar testes de tabela individuais e navegar entre eles a partir da janela da ferramenta Run.
Existem algumas limitações:
fmt.Sprintf()
com verbos %s
e %d
. O IDE agora reconhece a função de teste que inicia uma suite de testes e fornece uma maneira de iniciar um suite.Run
individual e suite.T().Run
, desde que o nome do subteste seja uma constante string. Além disso, é possível reexecutar um subteste a partir da janela de ferramenta Run para evitar ter que executar novamente o teste inteiro.
Agora o GoLand também pode rodar suites Testify com o mesmo nome de método separadamente, dentro de um único caso de teste.
Por último, mas não menos importante, quando você completa uma função ou método que aceita testing.T
como primeiro argumento, o GoLand passa esse argumento automaticamente, se for possível. Isto funciona para funções e métodos dos pacotes testify/assert
, testify/require
, testify/mock
e testify/suite
.
A inspeção de código Incorrect usage of Println/Printf like functions avisa sobre potenciais problemas nos pacotes github.com/pkg/errors
, github.com/sirupsen/logrus
e go.uber.org/zap
.
Além disso, também incluímos realce e dobra de placeholders, assim como a intenção Add format string argument.
A inspeção context.CancelFunc not called code relata usos potencialmente inseguros de cancelamento de contexto. Isto é útil principalmente quando a função ‘cancel’ retornada por context.WithCancel
(e funções similares) não é chamada em todos os caminhos de execução.
Para saber mais sobre este pacote, por favor veja: https://golang.org/pkg/context/.
Acrescentamos suporte ao pacote time para que você possa trabalhar mais facilmente com tempo e intervalos. O GoLand irá sugerir elementos de layout predefinido através da complementação de código (Ctrl+Espaço) com os placeholders YYYY
, MM
, DD
da ISO-8601.
Pressione Ctrl+P sobre um token e o IDE mostrará seu significado. Também há realce de sintaxe para tokens de layout. A complementação de código também sugere layouts de tempo padrão fora da literal string.
O IDE agora é mais inteligente ao priorizar itens de complementação para pacotes que você usa com frequência e que são declarados explicitamente no arquivo go.mod
do seu projeto.
Também incluímos uma opção para excluir completamente determinados pacotes do caminho de importação e das sugestões de complementação do seu projeto. Isto pode ser feito através de Alt+Enter ou pela nova janela Exclude for import and completion em Settings | Go | Imports.
O GoLand facilita a detecção de shadowing de variáveis:
Seguimos atualizações do design de genéricos da equipe Go e acrescentamos suporte a colchetes para a sintaxe de genéricos em vez de parênteses, já que isto foi implementado na edição anterior da proposta.
Por favor observe que a configuração Enable generics (experimental support for type parameters) em Settings | Go é desativada por default. Você precisa selecionar essa caixa de seleção explicitamente para começar a usar o recurso.
Leia esta postagem do blog para aprender mais sobre parâmetros de tipo.
Quando você digita func
no arquivo de testes, O GoLand sugere, por default, os Live Templates bench
e test
nas opções de complementação.
Quando você digita for
dentro do benchmark, o IDE sugere completá-lo com um loop for com b.N
.
As sugestões agora aparecem imediatamente na caixa de diálogo quando você pressiona Alt+Enter. Além disso, uma nova versão do mecanismo de verificação gramatical LanguageTool apresenta verificações melhoradas para inglês e acrescenta suporte a 10 idiomas adicionais.
O GoLand 2020.3 oferece suporte ao Code With Me (EAP), o novo serviço da JetBrains para o desenvolvimento colaborativo e programação em pares. O Code With Me permite que você compartilhe o projeto que está aberto no momento no seu IDE com outras pessoas e possa trabalhar nele em tempo real.
Confira estes posts para saber mais sobre ele.
Redesenhamos a tela de boas-vindas para lhe dar acesso imediato a:
Selecione a opção Sync with OS em Settings | Appearance & Behavior | Appearance | Theme para que o tema do seu IDE seja alterado para corresponder às suas preferências do sistema operacional.
Divida a tela do editor principal de forma horizontal ou vertical arrastando uma aba para a posição desejada e soltando-a lá. Quando você estiver arrastando uma aba, o editor vai destacar onde você pode soltá-la.
Melhoramos a experiência do usuário quando você trabalha com arquivos da view Project. Agora, quando você abre um arquivo da view Project, o foco é transferido automaticamente para o editor, permitindo que você comece a trabalhar no seu código imediatamente. Pressione a barra de espaço e o IDE mostrará uma pré-visualização do arquivo na view Project.
Se você deseja ter vários arquivos abertos no editor ao mesmo tempo, você agora pode fazer isso com um simples atalho. Selecione o arquivo na view Project e aperte Shift+Enter para fazer o IDE dividir a janela do Editor e abrir o arquivo na subjanela da direita.
O menu VCS agora se adapta ao sistema de controle de versão que você está usando, facilitando o acesso aos principais recursos do VCS, pois eles não estarão mais ocultos num submenu.
Está disponível uma nova área de preparação do Git! Observe que esta funcionalidade está disponível apenas na janela da ferramenta Commit.
Marque o campo Enable staging area em Settings | Version Control | Git para ativar. Assim que você fizer isto, o suporte para changelists será desativado.
Na interface gráfica do commit, você encontrará arquivos preparados e não preparados. Quando estiver pronto para transferir um arquivo para a área de preparação, basta clicar no ícone + ao lado dele. O arquivo aparecerá sob o nó Staged. Para incluir suas alterações à área de preparação, você também pode usar o ícone do gutter ou Show Diff.
Melhorias no trabalho com branches:
Adicionamos a capacidade de ativar plugins para o projeto atual ou para todos os projetos, selecionando Enable for Current Project ou Enable for All Projects. Em Settings | Plugins, clique no ícone de engrenagem no plug-in que você quer ativar ou desativar e selecione a opção desejada.
O mapa de teclado para atalhos do sistema macOS (Settings | Keymap) tem como objetivo fornecer um mapa de teclado alternativo do macOS que ofereça compatibilidade estendida com os atalhos do sistema, evitando o uso de teclas de função para ações essenciais.
Melhoramos o mecanismo de busca do Flame Graph no Profiler e sua visualização para permitir que você encontre métricas dos métodos mais rapidamente. Você pode clicar no ícone da lupa ou digitar sua solicitação de pesquisa dentro do painel do Flame Graph.
Além disso, acrescentamos um campo de pesquisa, setas para uma navegação rápida nos resultados da busca e a capacidade de pesquisar em todo o Flame Graph ou apenas numa subárvore específica.
Como cortesia da equipe WebStorm, o GoLand agora também oferece suporte avançado ao desenvolvimento web. Uma das mudanças futuras nessa área é a capacidade de criar um componente React a partir de uma referência não resolvida. Coloque o cursor sobre um componente não resolvido, pressione Alt+Enter e selecione a inspeção correspondente.
O GoLand oferece suporte total para o gerenciador de pacotes pnpm, juntamente com o npm e o yarn. Quando você abre um projeto com um arquivo pnpm-lock e tem o pnpm instalado na sua máquina, o GoLand mudará automaticamente o gerenciador de pacotes desse projeto para pnpm. O IDE também possui uma opção pnpm dedicada na lista de gestores de pacote em Settings | Languages and Frameworks | Node.js and NPM.
O GoLand 2020.3 permitirá que você escolha entre detectar arquivos de configuração do webpack de forma manual ou automática. As novas opções podem ser encontradas em Settings | Languages & Frameworks | JavaScript | Webpack.
Graças aos nossos colegas da equipe DataGrip, o GoLand expandiu sua família de bancos de dados suportados com um novo membro: o Couchbase! Observe que o IDE suporta o serviço Couchbase Query, mas não o serviço Couchbase Analytics.
O GoLand sabe sobre permissões de acesso aos objetos e os mostra nos DDLs de um objeto. Isto funciona para MySQL, PostgreSQL, Greenplum, Redshift e SQL Server.
Melhoramos o editor separado para valores de células:
Acrescentamos dois extratores novos para tornar mais fácil seu trabalho com dados:
INSERT
com múltiplas novas linhas a serem inseridas. Além disso, agora há uma nova opção na configuração do formato CSV: never quote values.