Novidades no PyCharm 2019.3

Widgets interativos para notebooks Jupyter, suporte para MongoDB e assistência de código para todos os recursos do Python 3.8 estão aqui.

Jupyter Somente Pro

Widgets interativos

Widgets interativos

To provide more interactivity, Jupyter notebooks support interactive controls known as interactive widgets. Esses controles permitem transformar notebooks estáticos em dashboards interativos, permitindo que aqueles que os visualizam esses notebooks personalizem a exibição. Com esta atualização, o PyCharm adiciona suporte para widgets interativos. Isso significa que os widgets são renderizados com a saída e podem ser usados para manipular os notebooks da mesma forma que funcionam com os notebooks Jupyter nativos.

O IDE agora oferece suporte para as bibliotecas de widgets mais populares. Se você acha que a sua biblioteca não está funcionando, lembre-se de registrar um issue.

Preenchimento do tempo de execução

Preenchimento do tempo de execução

Uma das vantagens que o PyCharm oferece é a assistência inteligente para codificação, possibilitada pelos nossos algoritmos avançados de análise de código estático. No entanto, para linguagens dinâmicas, essa análise de código estático do Python nem sempre é suficiente. É por isso que, com essa atualização, ampliamos a análise, aproveitando as informações de tempo de execução fornecidas pelo próprio Jupyter. Isso resulta em um preenchimento de código mais inteligente em alguns casos, como índices de dicionário ou expressões profundamente aninhadas, para as quais o IDE não conseguia descobrir o tipo usando a análise estática.

Aumente e diminua o zoom no painel de saída

Aumente e diminua o zoom no painel de saída

O tamanho da fonte da visualização agora pode ser definido para ser consistente com o editor ou pode ser personalizado nas configurações. Além disso, a visualização agora respeita a opção do editor "Change font size (Zoom) with Ctrl+Mouse Wheel `. Quando essa opção está habilitada, você pode aumentar ou diminuir o zoom na visualização usando a roda do mouse enquanto mantém pressionada a tecla Ctrl.

Outras melhorias

  • Se um notebook Jupyter for alterado fora do IDE (por exemplo, na interface nativa do Jupyter), o IDE agora sincronizará automaticamente seu estado para garantir que o usuário do IDE veja a versão mais recente do notebook e que nenhuma alteração seja perdida.

Python

Preenchimento para caminhos de arquivo

Preenchimento para caminhos de arquivo

Com medo de cometer um erro ao escrever um nome de arquivo? Especialmente com nomes de arquivo mais longos, como "open(‘data/survey_data_28112019_exported.csv’)"? Agora, você pode obter sugestões de caminhos de arquivos no editor ou no console do código Python. Estendemos nossa funcionalidade de preenchimento de código com reconhecimento de contexto, para que literais de string em contextos relacionados a arquivos agora mostrem sugestões para possíveis caminhos de arquivos.

Suporte para importação relativa

Suporte para importação relativa

Você prefere importações relativas a importações absolutas? Agora, o PyCharm pode converter automaticamente entre esses estilos. Se você já estiver importando de um determinado pacote com uma importação relativa, quaisquer novas importações desse pacote também serão criadas automaticamente como importações relativas.

Python 3.8: TypedDicts

Python 3.8: TypedDicts

Evite a atribuição incorreta de valores para dicionários usando o suporte do PyCharm para TypedDict. Obtenha uma representação precisa de suas estruturas de pares de valores/chave e deixe nosso editor de código ajudá-lo com o uso adequado.

Python 3.8: Anotação de tipos literais

Python 3.8: Anotação de tipos literais

Você tem um método que usa uma string literal específica, como o modo de arquivo para "open"? Você pode usar a anotação de tipo "Literal" do Python 3.8 para verificar não apenas um tipo, mas também um valor específico. O PyCharm agora avisa quando você chama uma função com um valor sem suporte.

Crie testes pytest automaticamente

Crie testes pytest automaticamente

Nossa ferramenta para criar testes recebeu automaticamente uma atualização e agora também oferece suporte para pytest. Com isso, o PyCharm permite que você crie automaticamente testes pytest simplesmente clicando na opção Go To | Test no menu de contexto de uma declaração de método.

Depurador: Informações de tamanho para coleções

Depurador: Informações de tamanho para coleções

O rastreamento de informações durante a depuração deve ser o mais claro e detalhado possível. É por isso que aprimoramos a visualização de variáveis para que ela agora mostre dados mais bem organizados e abrangentes. Com isso, espere novos pedidos, representação visual aprimorada para matrizes científicas, exibição do comprimento das coleções e remoção de detalhes duplicados.

Outras melhorias

  • Você está trabalhando com scripts de rede ou fazendo interface com componentes de hardware e usando valores hexadecimais ou binários? Boas notícias! O PyCharm agora integrou a conversão de formato para valores decimais em formato hexadecimal ou binário diretamente do console ou do depurador através da visualização de variáveis.
  • Desenvolvendo para Linux no Windows? Adicionamos suporte ao Subsistema Windows para Linux 2. Configure seu interpretador Python no PyCharm para usar aquele disponível no WSL 2Somente Pro

Melhorias de desempenho

Indexação mais rápida

Indexação mais rápida

O PyCharm pode ajudá-lo a fazer seu trabalho mais rapidamente com seu insight de código avançado. Para que isso funcione, precisamos indexar seu código e todos os pacotes que você importar. Quando você usa um pacote com extensões compiladas, como muitos pacotes de ciência de dados, antes de indexá-lo, precisamos gerar esqueletos Python (arquivos stub) que descrevem a interface Python. Fizemos melhorias nesse processo, e você pode esperar que todo o processo de indexação seja pelo menos 25% mais rápido. Claro, se você usar o mesmo pacote em vários virtualenvs, reutilizaremos o índice que já criamos.

Menos congelamentos e relatórios aprimorados de congelamentos

Menos congelamentos e relatórios aprimorados de congelamentos

Infelizmente, há momentos em que a interface do usuário do PyCharm congela por algum tempo antes de permitir que você volte a trabalhar no seu código. Percebemos que isso é algo altamente desagradável, e é por isso que estamos trabalhando duro para solucionar o problema. Corrigimos muitos problemas que poderiam causar o congelamento da interface do usuário e agora adicionamos a capacidade de relatar imediatamente um congelamento da interface do usuário diretamente do IDE, o que permitirá investigar por que isso aconteceu e garantir que o problema não se repita. Agradecemos de antemão por nos ajudar a se livrar de congelamentos na interface de usuário do PyCharm!

Outras melhorias

  • Este ano, trabalhamos muito no desempenho de inicialização de todos os IDEs da JetBrains. O tempo de inicialização da nossa plataforma principal foi aprimorado ainda mais nas versões 2019.3 e continuaremos trabalhando para que os IDEs iniciem mais rapidamente.
  • Agora, é possível alterar seu tema sem reiniciar o IDE. Isso é possível quando você escolhe um tema pré-instalado ou imediatamente após o download de um novo tema.
  • Várias melhorias no processamento de eventos e no tratamento de arquivos ignorados tornaram as atualizações de status de controle de versão mais rápidas no PyCharm 2019.3.
  • Fizemos algumas alterações na forma como o editor é renderizado e, agora, percorrer um arquivo longo ficou muito mais suave.

Suporte para bancos de dados Somente Pro

Suporte para MongoDB

Suporte para MongoDB

Você está construindo um aplicativo no MongoDB? Você ficará feliz em saber que, agora, pode explorar suas coleções do MongoDB no PyCharm. Conecte seu banco de dados adicionando uma fonte de dados na janela de ferramentas de banco de dados (View | Tool Windows | Database). O PyCharm Professional Edition vem com todos os recursos de banco de dados do JetBrains DataGrip, o IDE SQL profissional criado pela JetBrains.

Recursos do IDE

Parametrize configurações de execução

Parametrize configurações de execução

Quando você está criando um aplicativo de linha de comando, geralmente é conveniente poder alterar os argumentos rapidamente. Embora você possa sempre entrar em "Edit Configuration" para alterá-los, existe uma maneira melhor agora: com as novas macros de configuração de execução (variáveis), o PyCharm poderá solicitar o valor sempre que você iniciar o aplicativo.

Localizar na seleção

Localizar na seleção

Deseja saber com que frequência algum texto ocorre em uma seção do seu arquivo? A ação de localização agora tem como escopo inicial a sua seleção. Deseja pesquisar em qualquer lugar? Pressione Ctrl-F novamente para expandir sua pesquisa para o restante do arquivo.

Outras melhorias

  • Se uma parte do seu aplicativo está escrita em JavaScript, há uma boa chance de você estar usando modelos Handlebars em algum lugar. Se você tiver o plug-in Handlebars instalado, agora pode habilitar a inteligência do código Handlebars em qualquer string Python. Basta pressionar Alt-Enter na sua string, escolher "Inject language or reference" e digitar "Handlebars".

Controle de versão

Comparação aprimorada com o branch atual

Comparação aprimorada com o branch atual

Quanto mais branches você tiver, mais difícil será acompanhar a diferença entre eles. Na nova versão do PyCharm, a funcionalidade de comparação de branches está melhor e fornece uma rápida visão geral de quais submissões fazem a diferença entre os dois branches.

Interface de usuário aprimorada para clonar um repositório

Interface de usuário aprimorada para clonar um repositório

Independentemente do tipo de repositório que você usa, agora temos um único local para começar quando você deseja conferir um novo projeto.

Outras melhorias

  • Ao fazer check-out de um branch remoto, geralmente você deseja criar um branch local que rastreie o branch remoto. No PyCharm 2019.3, há apenas uma ação de "checkout" que garantirá que você veja o estado atual do branch remoto, mas não há risco de perder nenhuma submissão local.
  • O PyCharm sempre foi capaz de enviar por push o branch em check-out no momento. Às vezes, você pode querer enviar outro branch e, a partir de agora, não há mais necessidade de fazer check-out primeiro.

Desenvolvimento Web Somente Pro

Classes CSS de um CDN

Classes CSS de um CDN

Você usa uma folha de estilo de um CDN? Agora, podemos baixar uma versão dessa folha de estilo especificamente para uso no preenchimento de código.

Consulte valores retornados por métodos ao depurar JavaScript

Consulte valores retornados por métodos ao depurar JavaScript

Assim como no depurador Python, o depurador JavaScript agora pode mostrar os valores de retorno dos métodos que você está chamando. Para ver os valores de retorno, clique no ícone de engrenagem no depurador e ative "Show Return Values".

Outras melhorias

  • Defina as configurações de estilo CSS para aplicar aspas simples ou duplas.
  • Se você usa aspas simples ou duplas em seu CSS, o PyCharm agora pode ajudá-lo a manter suas aspas consistentes. Configure-as em Settings | Editor | Code Style | Style Sheets | CSS, na guia "Other".
  • Você usa componentes React que não têm propTypes definidos para eles? Agora, o PyCharm pode inferir props e fornecer preenchimento de código para componentes que não têm propTypes definidos.