RubyMine 2018.2: anexando um depurador a processos remotos, chruby, análise de código aprimorada e muito mais

Olá Habr!

A temporada de atualizações de verão do IDE baseado no IntelliJ continua e, nesta série, contaremos o que o novo RubyMine aprendeu nas versões 2018.1 e lançado no outro dia, RubyMine 2018.2 .



Sumário


Executar / Depurar qualquer coisa
Conclusão do código Postfix
Renderização de gráfico em marcdown
Análise de código aprimorada
Suporte e aprimoramentos Chruby para gerenciadores de versão Ruby
Reiniciando testes com falha
Yaml
Anexando um depurador a processos remotos
Javascript
Git
Algo mais

Executar / Depurar qualquer coisa


A discussão em nosso bate-papo personalizado do Slack levou à criação de uma ferramenta conveniente para iniciar várias configurações e comandos - Executar qualquer coisa . O princípio de seu trabalho é um pouco semelhante ao Search Everywhere . No entanto, em vez de procurar qualquer coisa, Run Anything clicando duas vezes em Ctrl permite executar qualquer coisa: tarefas de rake, rails s , testes e outras configurações, bem como comandos do console.



Além disso, se você pressionar Shift ao chamar Executar qualquer coisa, a ferramenta alternará para o modo Debug Anything , que permite iniciar convenientemente o depurador.



A propósito, como você pode ver, o RubyMine se lembra de comandos e scripts lançados anteriormente e no futuro os oferecerá na lista suspensa. Mais detalhes .

Conclusão do código Postfix


Esse recurso permite modificar, inverter e complementar expressões sem precisar retornar ao início da linha, para, por exemplo, inserir uma condição. Agora você pode simplesmente encerrar e selecionar if . O IDE colocará a condição no início da linha automaticamente. Se houver várias opções possíveis, o RubyMine oferecerá para selecionar o que você precisa na lista.



Uma lista completa dos modelos de postfix suportados pode ser encontrada nas configurações ( Preferências / Configurações | Editor | Geral | Conclusão do Postfix ). Você também pode desativar os irrelevantes lá. Mais detalhes .

Renderização de gráfico em marcdown


Uma visualização dos arquivos de remarcação aprendeu a desenhar diagramas que estão no código. Insira puml antes do código do gráfico no arquivo .md para que o RubyMine pegue a sintaxe e exiba o gráfico em uma visualização. Mais detalhes .



Observe que o suporte ao Markdown é fornecido por meio de um plug - in compatível com outros IDEs do JetBrains. No RubyMine e no IntelliJ IDEA Ultimate, o plug-in é instalado por padrão.

Análise de código aprimorada


Reescrevemos substancialmente a inferência de tipo e o mecanismo de análise de arquivos Ruby. Graças a isso, o preenchimento automático e a navegação de código melhoraram significativamente.



Como você pode ver na imagem, uma nova ação apareceu para visualizar o tipo de variável. Você pode chamá-lo pressionando Ctrl + Shift + P ( Exibir | Tipo de expressão ). Mais detalhes .

Também na nova versão, o preenchimento automático e a navegação para modelos com relacionamentos polimórficos estão disponíveis. Mais detalhes .



Suporte e aprimoramentos Chruby para gerenciadores de versão Ruby


A nova versão adiciona suporte para chruby e asdf. Ao mesmo tempo, todos os gerenciadores de versão suportados (RVM, rbenv, chruby e asdf) ficaram disponíveis ao se conectar via WSL, Docker, bem como através de SSH e outras conexões remotas.

Lembre-se de que você pode configurar o SDK remoto da seguinte maneira: Preferências / Configurações | Idiomas e estruturas | SDK e gemas Ruby | Novo controle remoto .



Reiniciando testes com falha


Agora, depois de executar os testes, você pode reiniciar separadamente apenas aqueles que falharam. Basta clicar no ícone correspondente.



Um novo recurso também está disponível ao usar predefinições como rake test rake spec e rake spec .

Yaml


O suporte a YAML foi amplamente expandido para todos os IDEs baseados em IntelliJ. Primeiro, adicionamos a capacidade de formatar o código em arquivos .yml . Para formatar, use a combinação de teclas ⌥⌘L / Ctrl + Alt + L ( Código | Reformatar código ). Mais detalhes .



Houve uma navegação no código, preenchimento automático e busca pelo uso de âncoras ( & ) e seus links ( * ).



Além disso, âncoras e links podem ser renomeados em uma ação ( Shift + F6 ). Para evitar conflitos, o IDE avisará que você está tentando usar o nome de uma âncora existente. Mais detalhes .



Outras melhorias incluem suporte ao esquema JSON para preenchimento automático das configurações correspondentes no YAML, bem como a capacidade de copiar o caminho para o valor nos arquivos YAML. Mais detalhes .





Anexando um depurador a processos remotos


Na versão 2016.3, anunciamos a possibilidade de anexar um depurador à execução de processos locais e prometemos adicionar a capacidade de ingressar em processos remotos. Na versão mais recente, implementamos o prometido!

Para iniciar a depuração, conecte-se ao servidor remoto via SSH ( Preferências / Configurações | Ruby SDK e Gems | Novas remotas | Credenciais SSH ). Certifique-se de incluir o caminho para o intérprete Ruby.



Além disso, você pode associar a versão local do aplicativo àquela em execução no servidor ( Editar mapeamentos de caminhos ). Isso simplificará o posicionamento de pontos de interrupção em qualquer lugar do aplicativo para posterior depuração.



Agora você está pronto para depurar processos remotos! Para começar, selecione Executar | Anexe ao processo ou localize a ação apropriada chamando a janela Find Action ( Help | Find Action ), conforme mostrado na figura:



Leia mais sobre como configurar a depuração de processos remotos em nosso blog .


Javascript


  • Adicionado um conjunto de novas adições de código rápido ( Alt + Enter ) para JavaScript e TypeScript: interface de implemento, criar classe derivada, implementar membros de uma interface ou classe abstrata, gerar casos para 'switch' e outros.
  • Os novos recursos do TypeScript 2.9 e TypeScript 3.0 estão agora disponíveis no IDE.
  • Adicionado Anotação com o tipo JSDoc e outras correções rápidas do TypeScript Language Service.
  • Agora você pode extrair componentes React ( Refatorar | Extrair componente ) e converter componentes de classe em componentes funcionais (e vice-versa).
  • Nos arquivos .vue , o .vue tornou-se disponível para eventos e seus manipuladores.

Você pode aprender mais sobre as melhorias do JavaScript no vídeo:



Git


Os arquivos que contêm conflitos agora estão convenientemente agrupados em Mesclar conflitos . Ao clicar em Resolver, é esperado que você entre na caixa de diálogo Arquivos mesclados com conflitos .



Outra nova opção conveniente, Procurar repositório na revisão , permite exibir versões anteriores do repositório. Você pode ativar a opção chamando o menu de contexto na confirmação necessária no log do Git. O IDE abrirá a janela da ferramenta Projeto, na qual você pode visualizar versões anteriores dos arquivos do aplicativo.



Na nova versão, você pode confirmar as alterações ignorando a caixa de diálogo Push . Para fazer isso, desmarque a caixa de seleção correspondente em Preferências / Configurações | Controle de versão | Git . Se você pressionar Confirmar e Enviar (⌥⌘K | Ctrl + Alt + K) na próxima vez que confirmar na caixa de diálogo Confirmar Alterações , o IDE não exibirá adicionalmente a caixa de diálogo Enviar, mas enviará imediatamente as alterações para o repositório.



Algo mais


Na nova versão, você também encontrará o CoffeeScript aprimorado, a capacidade de usar diferentes contas do GitHub, ícones atualizados e suporte para a barra de toque nos macbooks.

Você pode baixar a nova versão na página O que há de novo . Lembramos que nos primeiros 30 dias você pode usar o RubyMine gratuitamente.

Source: https://habr.com/ru/post/pt418931/


All Articles