Partilhar via


Edite o código Python e use o Intellisense

Como você passa grande parte do seu tempo de desenvolvimento no editor de código, o suporte Python no Visual Studio fornece funcionalidade para ajudá-lo a ser mais produtivo. Os recursos incluem realce de sintaxe do IntelliSense, preenchimento automático, ajuda com assinaturas, substituição de métodos, pesquisa e navegação.

O editor de código é integrado com a janela interativa no Visual Studio. Enquanto trabalha, é fácil alternar código entre as duas janelas. Para obter mais informações, consulte Tutorial Etapa 3: Usar a janela REPL interativa e Usar a janela interativa - Enviar para o comando interativo.

O delineamento ajuda a manter o foco em seções específicas do seu código. Para obter documentação geral sobre como editar código no Visual Studio, consulte Recursos do editor de código.

O Visual Studio Object Browser permite inspecionar classes Python definidas em cada módulo e as funções definidas nessas classes. Você pode acessar esse recurso no menu Exibir ou usando o atalho de teclado Ctrl+Alt+J.

Usar os recursos do IntelliSense

O IntelliSense fornece conclusão,ajuda para assinaturas, informações rápidas e coloração de código. As versões 15.7 e posteriores do Visual Studio 2017 também suportam indicadores de tipo.

Para melhorar o desempenho, o IntelliSense no Visual Studio 2017 versão 15.5 e anteriores depende de um banco de dados de conclusão gerado para cada ambiente Python em seu projeto. Talvez seja necessário atualizar o banco de dados se adicionar, remover ou atualizar pacotes. O status do banco de dados é mostrado na janela Ambientes Python (um complemento do Gerenciador de Soluções) na guia IntelliSense . Para obter mais informações, consulte Referência da janela Ambientes.

O Visual Studio 2017 versão 15.6 e posterior usa um meio diferente para fornecer conclusões do IntelliSense que não dependem do banco de dados.

Finalizações

As finalizações aparecem como instruções, identificadores e outras palavras que podem ser inseridas adequadamente no local atual no editor. O Intellisense preenche a lista de opções com base no contexto e filtra itens incorretos ou que distraem. As finalizações geralmente são acionadas ao inserir diferentes instruções (como import) e operadores (incluindo um ponto), mas podem aparecer a qualquer momento utilizando o atalho de teclado Ctrl+J +Space.

Captura de tela que mostra a conclusão do membro através do Intellisense no editor do Visual Studio.

Quando uma lista de conclusão estiver aberta, você poderá procurar a conclusão desejada usando as teclas de seta, o mouse ou continuando a digitar. À medida que se digitam mais letras, a lista é filtrada para mostrar prováveis conclusões. Você também pode usar atalhos como:

  • Digite letras que não estão no início do nome, como 'parse' para encontrar 'argparse'
  • Digite apenas letras que estão no início das palavras, como 'abc' para encontrar 'AbstractBaseClass' ou 'air' para encontrar 'as_integer_ratio'
  • Omitir letras, como 'b64', para obter 'base64'

Eis alguns exemplos:

Captura de ecrã que mostra a completude do membro com filtragem no editor do Visual Studio.

As finalizações de membros aparecem automaticamente quando você digita um ponto após uma variável ou valor, juntamente com os métodos e atributos dos tipos potenciais. Se uma variável pode ser mais de um tipo, a lista inclui todas as possibilidades de todos os tipos. Informações adicionais são mostradas para indicar quais tipos suportam cada conclusão. Quando todos os tipos possíveis suportam uma conclusão, nenhuma anotação é mostrada.

Captura de tela que mostra a conclusão do membro em vários tipos no editor do Visual Studio.

Por padrão, os membros "dunder" (membros que começam e terminam com um sublinhado duplo) não são mostrados. Em geral, esses membros não devem ser acessados diretamente. Se você precisar usar um dunder, digite o sublinhado duplo à esquerda para adicionar estas conclusões à lista:

Captura de tela que mostra os tipos de conclusão de membros privados dunder no editor do Visual Studio.

As instruções import e from ... import apresentam uma lista de módulos que podem ser importados. A from ... import instrução produz uma lista que inclui membros que podem ser importados do módulo especificado.

Captura de tela que mostra a importação e a conclusão da importação no editor do Visual Studio.

As declarações raise e except apresentam listas de classes que provavelmente são tipos de erro. A lista pode não incluir todas as exceções definidas pelo usuário, mas ajuda você a encontrar exceções internas adequadas rapidamente:

Captura de tela que mostra a conclusão da exceção no editor do Visual Studio.

Selecionar o símbolo @ (at) inicia um decorador e mostra potenciais decoradores. Muitos desses itens não são utilizáveis como decoradores. Verifique a documentação da biblioteca para determinar qual decorador usar.

Captura de tela que mostra a conclusão do decorador no editor do Visual Studio.

Para obter mais informações, consulte Opções - resultados de conclusão.

Anotações de tipo

Sugestões de tipo estão disponíveis no Visual Studio 2017, versão 15.7 e versões posteriores.

"Type hints" em Python 3.5+ (PEP 484 (python.org) é uma sintaxe de anotação para funções e classes que indicam os tipos de argumentos, valores de retorno e atributos de classe. O IntelliSense exibe dicas de tipo quando você passa o mouse sobre chamadas de funções, argumentos e variáveis que têm essas anotações.

No exemplo a seguir, a Vector classe é declarada como o tipo List[float], e a scale função contém dicas de tipo para seus argumentos e valor de retorno. Ao passar o cursor sobre uma chamada para essa função, são mostradas as sugestões de tipo.

Captura de ecrã que mostra como passar o cursor sobre uma chamada de função para revelar sugestões de tipo.

No próximo exemplo, pode ver como os atributos anotados da classe Employee aparecem no pop-up de conclusão do IntelliSense para um atributo:

Captura de ecrã que mostra a conclusão do IntelliSense para uma classe com dicas de tipo.

Também é útil validar dicas de tipo em todo o projeto, porque os erros normalmente não aparecem até ao momento de execução. Para isso, o Visual Studio integra a ferramenta Mypy padrão do setor por meio do comando do menu de contexto Python>Run Mypy no Gerenciador de Soluções:

Captura de ecrã que mostra os comandos de linting disponíveis para projetos Python no Solution Explorer.

Executar o comando solicita que você instale o pacote Mypy, se necessário. Em seguida, o Visual Studio executa o Mypy para validar dicas de tipo em cada arquivo Python no projeto. Os erros aparecem na janela Lista de Erros do Visual Studio. A seleção de um item na janela navega até a linha apropriada no código.

Como exemplo simples, a seguinte definição de função contém uma dica de tipo para indicar que o input argumento é do tipo str, enquanto que a chamada para essa função tenta passar um inteiro.

def commas_to_colons(input: str):
    items = input.split(',')
    items = [x.strip() for x in items]
    return ':'.join(items)

commas_to_colons(1)

Usar o comando Run Mypy neste código gera o seguinte erro:

Captura de tela que mostra o resultado de exemplo do Mypy validando tipos de dados.

Observação

Para versões do Python anteriores à 3.5, o Visual Studio também exibe dicas de tipo que você fornece por meio de arquivos de stub Typeshed (.pyi). Você pode usar arquivos de stub quando não quiser incluir dicas de tipo diretamente em seu código ou criar dicas de tipo para uma biblioteca que não as use diretamente. Para obter mais informações, consulte Criar stubs para módulos Python no wiki do projeto Mypy.

Atualmente, o Visual Studio não oferece suporte a dicas de tipo em comentários.

Ajuda para assinatura

Ao escrever código que chama uma função, a ajuda de assinatura aparece quando tu digitas o parêntese de abertura (. Ele exibe a documentação disponível e informações de parâmetros. Você pode acessar a ajuda com assinaturas com o atalho do teclado Ctrl+Shift+Space dentro de uma chamada de função. As informações exibidas dependem das cadeias de caracteres de documentação no código-fonte da função, mas incluem quaisquer valores padrão.

Captura de tela que mostra a ajuda de assinatura no editor do Visual Studio.

Sugestão

Para desativar a assistência de assinatura, vá para Ferramentas>Opções>Editor>de Texto>PythonGeral. Desative a caixa de seleção Conclusão da declaraçãoInformações do parâmetro.

Informações rápidas

Passar o ponteiro do mouse sobre um identificador exibe uma dica de ferramenta Informações Rápidas. Dependendo do identificador, as Informações Rápidas podem exibir os valores ou tipos potenciais, qualquer documentação disponível, tipos de retorno e locais de definição:

Captura de tela que mostra informações de exibição de Informações Rápidas no editor do Visual Studio.

Coloração de código

A coloração de código usa informações da análise de código para variáveis de cor, instruções e outras partes do seu código. As variáveis que se referem a módulos ou classes podem ser mostradas em uma cor diferente de funções ou outros valores. Os nomes dos parâmetros podem aparecer em uma cor diferente das variáveis locais ou globais. Por padrão, as funções não são mostradas em negrito.

Captura de tela que mostra a coloração de código e sintaxe no editor do Visual Studio.

Para personalizar as cores, vá para Opções de Ferramentas>>Fontes e Cores do>. Na lista Apresentar itens, modifique as entradas de Python desejadas:

Captura de tela que mostra as opções Fontes e Cores no Visual Studio.

Inserir trechos de código

Trechos de código são fragmentos de código que podem ser inseridos nos seus ficheiros usando um atalho de teclado e selecionando Tab. Pode também usar os comandos Edit>IntelliSense>Insert Snippet e Surround With, selecionar Python e, em seguida, selecionar o trecho desejado.

Por exemplo, class é um atalho para um trecho de código que insere uma definição de classe. O trecho aparece na lista de preenchimento automático quando você digita class:

Captura de tela que mostra um trecho de código para o atalho de classe.

Selecionar Tab gera o resto da classe. Em seguida, pode digitar sobre a lista de nomes e de bases, mover-se entre os campos realçados com Tab e pressionar Enter para começar a digitar o texto principal.

Captura de tela que mostra destaques em áreas de um trecho de código para você concluir.

Ao usar o comando de menu Edit>IntelliSense>Insert Code Snippet , você primeiro seleciona Python e, em seguida, seleciona o trecho desejado:

Captura de tela que mostra como selecionar um trecho de código por meio do comando Inserir trecho de código.

O comando Edit>IntelliSense>Surround With coloca a seleção atual no editor de texto dentro de um elemento estrutural escolhido. Suponha que você tenha um pedaço de código como o exemplo a seguir:

sum = 0
for x in range(1, 100):
    sum = sum + x

Selecionar esse código e escolher o comando Surround With exibe uma lista de trechos disponíveis. Escolher def na lista de trechos coloca o código selecionado dentro de uma definição de função. Você pode usar a tecla Tab para navegar entre o nome da função realçada e os argumentos:

Captura de tela que mostra como usar o comando Surround With para trechos de código.

Examinar trechos disponíveis

Você pode ver os trechos de código disponíveis no Gerenciador de trechos de código. Acesse esse recurso no Tools>Code Snippets Manager e selecione Python como a linguagem:

Captura de tela que mostra o Gerenciador de trechos de código no Visual Studio.

Para criar seus próprios trechos, consulte Passo a passo: criar um trecho de código.

Se você escrever um ótimo trecho de código que gostaria de compartilhar, sinta-se à vontade para publicá-lo em uma essência e nos avise. Talvez possamos incluí-lo em uma versão futura do Visual Studio.

O suporte a Python no Visual Studio fornece várias maneiras de navegar rapidamente dentro do seu código, incluindo bibliotecas para as quais o código-fonte está disponível. Você pode encontrar bibliotecas com código-fonte para a barra de navegação, o comando Ir para definição, Ir para, e Localizar todas as referências. Você também pode usar o Visual Studio Object Browser.

A barra de navegação é exibida na parte superior de cada janela do editor e inclui uma lista de definições de dois níveis. A lista suspensa à esquerda contém definições de classes e funções de nível superior no ficheiro atual. O menu pendente à direita exibe uma lista de definições conforme mostrado à esquerda. À medida que você se move no editor, as listas são atualizadas para mostrar seu contexto atual e você também pode selecionar uma entrada dessas listas para ir diretamente.

captura de tela que mostra a barra de navegação no editor do Visual Studio.

Sugestão

Para ocultar a barra de navegação, vá para Ferramentas>Opções>Editor de Texto>Python>Geral e desmarque Configurações>Barra de navegação.

Ir para a definição

O comando Ir para definição salta rapidamente do uso de um identificador (como um nome de função, classe ou variável) para o local da definição do código-fonte. Para invocar o comando, clique com o botão direito do mouse em um identificador e selecione Ir para definição ou coloque o cursor no identificador e selecione F12. O comando funciona em seu código e bibliotecas externas onde o código-fonte está disponível. Se o código-fonte da biblioteca não estiver disponível, Go To Definition salta para a instrução relevante import para uma referência de módulo ou exibe um erro.

Captura de tela que mostra o comando Ir para definição no Visual Studio.

Ir para

O comando Editar> irpara (Ctrl+) exibe uma caixa de pesquisa no editor onde você pode digitar qualquer cadeia de caracteres e ver possíveis correspondências em seu código que define uma função, classe ou variável que contém essa cadeia de caracteres. Esse recurso fornece um recurso semelhante ao Go To Definition , mas sem ter que localizar um uso de um identificador.

Para navegar até a definição desse identificador, clique duas vezes em qualquer nome ou selecione o nome com as teclas de seta seguidas de Enter.

Captura de ecrã que mostra o comando

Encontrar todas as referências

O recurso Localizar todas as referências é uma maneira útil de descobrir onde qualquer identificador determinado é definido e usado, incluindo importações e atribuições. Para invocar o comando, clique com o botão direito do mouse em um identificador e selecione Localizar todas as referências ou coloque o cursor no identificador e selecione Shift+F12. Clicar duas vezes em um item na lista navega até seu local.

Captura de ecrã que mostra os resultados de Localizar Todas as Referências no Visual Studio.