Programando em Python no ATOM

(Comentários)

Olá!

Depois de um bom tempo estou aqui de novo escrevendo um tutorial!

Bom, tenho me afastado do PyCharm ultimamente, e descobri no Atom uma ótima solução para meus projetos, então resolvi compartilhar com vocês o que aprendi até agora para um bom setup do ATOM para Python!

Atom é um editor de código criádo pela equipe do GitHub, com intuito de ser um editor simples, poderoso e muito customizável. Ele é feito em node.js, e possui uma quantidade enorme de plugins.

Uma de suas características mais legais é que tem um gerenciador de pacotes visual, diferente de editores como o sublime oonde esse tipo de gerenciador visual tem que ser instalado posteriomente.

Então, antes de qualquer coisa, baixe a versão do Atom pro seu sistema operacional em atom.io.

Depois de instala-lo, vamos às suas configurações.

Logo após a instalação vc tem uma página de boas vindas com várias configurações. Vamos pulá-las por enquanto. Feche todas as abas e digite Ctrl+,. Isto abrirá a tela de configurações.

 Na seção de "Core Settings" vamos manter tudo como está.

Em "Editor Settings" vamos habilitar o checkbox "Back Up Before Saving", para evitar corromper arquivos caso haja alguma falha durante o salvamento.

Mais abaixo, em "Prefered Line Length" você pode ajustar o comprimento de linha que prefere. Não sou muito xiita de pep8 com isto, então gosto de uma valor entre 100 e 120. É mais agradável, especialmente em monitores mais largos ou com resolução muito alta.

Um pouco mais abaixo, eu gosto de habilitar "Show Ident Guide" e "Show Invisibles". O primeiro para eu não exceder o limite de tamanho de linha que coloquei, e o segundo para evitar que ecentualmente fique um espaço sobrando, ou ter certeza se estão sendo usados tabs ou espeços para identação.

Se você vai trabalhar com web, é interessante habilitar "Soft Wrap At Prefered Line Length" para não ter que ficar scrollando a tela para os lados para ver todo o texto, já que HTML e javascript tem sempre uma tendência a ter linhas mais longas, especialmente HTML.

A seguir, temos a opção TabLength. o valor 2 é o padrão do editor, mas eu gosto mais de 4, então sempre altero. De qualquer forma, o padrão do ATOM para Python já é 4.

Agora, no menu do lado esquerdo, vamos em Install.

Vamos instalar os pacotes:

  • linter-flake8
  • linter-pep8
  • autocomplete-python

Caso você vá programar com Django, outro pacote interessante é o django-templates.

Instalo flake8 e pep8 porque alguns pontos um cobre melhor que o outro, mas caso prefira pode ser somente um dos dois.

Após esta instalação, o Atom já estará configurado para seus projetos Python.

Porém, se você abrir uma pasta de projeto Python pelo menu de arquivos do ATOM ou o comando Ctrl+O, verá que nem tudo parece funcionar como esperado. especialmente o autocomplete.

Isto acontece porque o atom usa as ferramentas pep8, flake8 e jedi do python para seus plugins, assim, para o atom funcionar corretamente, devemos ter estes pacotes python instalados.

Assim, o que recomendo fazer é, criar um ambiente virtual para seu projeto. Aliás, isto não é importante somente para o funcionamento do ATOM, mas é importante para projetos python em geral.

Após seu virtualenv criado e configurado, instale nele o pep8, o flake8 e o jedi. Então, com o virtualenv ativado, abra o atom pela linha de comando, especificando o diretório do projeto.

Por exemplo

[(meu_venv) [email protected] ~]$ atom meu_projeto/

E não se preocupe, o ATOM não ficará preso to terminal, então, depois de abri-lo pela linha de comando, pode fechar o terminal tranquilamente.

Fazendo desta forma, você garante não somente que os linters e o autocomplete vão funcionar corretamente, quanto que serão para a versão correta do Python, pois se seu virtualenv for de Python3, estas ferramentas serão as do Python3.

Bom, espero que gostem tanto de programar no ATOM quanto eu estou gostando!

Um grande abraço e até a próxima!

Atualmente não avaliado

Comentários

Posts Recentes

Arquivo

2016
2015
2014
2013
2012
2011
2010

Categorias

Autores

Feeds

RSS / Atom