Compartilhar via


Editar código python e usar o Intellisense

Como você passa grande parte do tempo de desenvolvimento no editor de código, o suporte do 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 de assinatura, substituições de método, pesquisa e navegação.

O editor de código é integrado à janela Interativa no Visual Studio. Conforme você trabalha, é fácil trocar código entre as duas janelas. Para obter mais informações, consulte Etapa 3 do Tutorial: Usar a janela REPL Interativa e Usar a janela Interativa – Comando Enviar para Interativo.

O delineamento ajuda você a se concentrar em seções específicas do seu código. Para obter a documentação geral sobre a edição de código no Visual Studio, consulte recursos do editor de código.

O Pesquisador de Objetos do Visual Studio permite inspecionar as classes do 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 recursos do IntelliSense

O IntelliSense fornece conclusões, ajuda de assinatura, informações rápidas e coloração de código. O Visual Studio 2017 versões 15.7 e posteriores também dão suporte a dicas de tipo.

Para melhorar o desempenho, o IntelliSense no Visual Studio 2017 versão 15.5 e anterior depende de um banco de dados de conclusão gerado para cada ambiente do 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 do Python (um complemento do Gerenciador de Soluções) na guia IntelliSense . Para obter mais informações, consulte a 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.

Completions

As conclusões aparecem como instruções, identificadores e outras palavras que podem ser adequadamente inseridas 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 conclusões geralmente são disparadas inserindo instruções diferentes (como import) e operadores (incluindo um período), mas podem aparecer a qualquer momento selecionando o atalho de teclado Ctrl+J +Space.

Captura de tela que mostra a conclusão do membro por meio do Intellisense no editor do Visual Studio.

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

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

Aqui estão alguns exemplos:

Captura de tela que mostra a conclusão do membro com filtragem no editor do Visual Studio.

As conclusões de membro aparecem automaticamente quando você digita um período após uma variável ou valor, juntamente com os métodos e atributos dos tipos potenciais. Se uma variável puder ser mais de um tipo, a lista incluirá todas as possibilidades de todos os tipos. Informações extras são mostradas para indicar quais tipos dão suporte a cada conclusão. Quando todos os tipos possíveis dão suporte a 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 tipos de conclusão de membro dunder privados no editor do Visual Studio.

As import instruções e as from ... import instruções exibem 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 instruções raise e except exibem listas de classes que podem ser 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 símbolo (em) 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

As anotações de tipo estão disponíveis no Visual Studio 2017 versão 15.7 e posterior.

"Dicas de tipo" no Python 3.5+ (PEP 484 (python.org) é uma sintaxe de anotação para funções e classes que indicam os tipos de argumentos, valores retornados 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 retornado. Ao pausar o mouse sobre uma chamada para essa função, são mostradas as sugestões de tipo.

Captura de tela que mostra como passar o ponteiro do mouse sobre uma chamada de função para revelar sugestões de tipo.

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

Captura de tela 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é o tempo de execução. Para essa finalidade, o Visual Studio integra a ferramenta Mypy padrão do setor por meio do comando de menu de contexto Python>Executar Mypy no Gerenciador de Soluções:

Captura de tela que mostra os comandos de linting disponíveis para projetos do Python no Gerenciador de Soluções.

A execução do 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. Selecionar um item na janela navega até a linha apropriada em seu código.

Como um exemplo simples, a definição de função a seguir contém uma dica de tipo para indicar que o input argumento é tipo str, enquanto 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 Executar Mypy neste código gera o seguinte erro:

Captura de tela que mostra o resultado do exemplo de Mypy validando dicas de tipo.

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 stub Typeshed (.pyi). Você pode usar arquivos 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 os use diretamente. Para obter mais informações, consulte Criar stubs para módulos Python no wiki do projeto Mypy.

No momento, o Visual Studio não dá suporte a sugestões de tipo em comentários.

Ajuda de assinatura

Ao escrever um código que chama uma função, a ajuda de assinatura é exibida quando você digita o parêntese de abertura (. Ele exibe informações de documentação e parâmetro disponíveis. Você pode acessar a ajuda de assinatura com o atalho de 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 da assinatura no editor do Visual Studio.

Dica

Para desativar a ajuda de assinatura, vá para Ferramentas>Opções>Editor de Texto>Python>Geral. Desmarque a caixa de seleção Conclusão da instrução e Informações de parâmetro.

Informações rápidas

Passar o ponteiro do mouse sobre um identificador exibe uma dica de informação rápida. 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 colorir variáveis, instruções e outras partes do seu código. Variáveis que se referem a módulos ou classes podem ser mostradas em uma cor diferente das funções ou outros valores. Os nomes de parâmetro 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, acesse Ferramentas>Opções>Ambiente>Fontes e Cores. Na lista de itens de exibição , modifique as entradas desejadas do Python :

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

Inserir snippets de código

Snippets de código são fragmentos de código que podem ser inseridos em seus arquivos usando um atalho de teclado e selecionando Tab. Você também pode usar os comandos Editar>IntelliSense>Inserir Fragmento e Surround With, selecionar Python e, em seguida, selecionar o fragmento desejado.

Por exemplo, class é um atalho para um snippet de código que insere uma definição de classe. Você verá o snippet aparecer na lista de preenchimento automático ao digitar class:

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

Selecionar Tab gera o restante da classe. Em seguida, você pode editar o nome e a lista de bases, mover-se entre os campos realçados com Tab e selecionar Enter para começar a escrever o corpo do texto.

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

Quando você usa o comando do menu Editar>IntelliSense>Inserir Trecho de Código, primeiro selecione Python e, depois, o trecho desejado:

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

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

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 snippets disponíveis. Escolher def na lista de snippet 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 snippets de código.

Examinar trechos de código disponíveis

Você pode ver os snippets de código disponíveis no Gerenciador de Snippets de Código. Acesse esse recurso a partir de Ferramentas>Gerenciador de Snippets de Código e selecione Python como o idioma:

Captura de tela que mostra o Gerenciador de Snippets de Código no Visual Studio.

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

Se você escrever um ótimo snippet de código que gostaria de compartilhar, fique à vontade para postá-lo em uma gist e nos avise. Talvez possamos incluí-lo em uma versão futura do Visual Studio.

O suporte ao Python no Visual Studio fornece várias maneiras de navegar rapidamente em 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, os comandos Ir Para Definição, Ir Para e Localizar Todas as Referências. Você também pode usar o Navegador de Objetos do Visual Studio.

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 arquivo atual. A lista suspensa à direita exibe definições dentro do escopo mostrado à esquerda. Conforme você se movimenta no editor, as listas são atualizadas para mostrar o 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.

Dica

Para ocultar a barra de navegação, acesse 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 rapidamente salta 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 em que o código-fonte está disponível. Se o código-fonte da biblioteca não estiver disponível, Ir para Definição saltará para a instrução relevante import para uma referência de módulo ou exibirá um erro.

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

Ir para

O comando Editar>Ir para (Ctrl+,) exibe uma caixa de pesquisa no editor onde você pode digitar qualquer texto e ver possíveis correspondências no código que definem uma função, classe ou variável que contém esse texto. Esse recurso fornece uma funcionalidade semelhante à de Ir para Definição , mas sem precisar localizar o uso de um identificador.

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

Captura de tela que mostra o comando Go To no Visual Studio.

Localizar 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é sua localização.

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