Migrando do PyCharm para o VSCode
Tags: vscode, pycharm, python, django
Published: 2020-08-21 18:01:49

Decidi escrever esse artigo após participar de algumas discussões em grupos de desenvolvimento, observar tópicos do stackoverflow e demais fóruns. As perguntas mais frequentes quando tratamos de duas ou mais tecnologias são: Qual é a melhor linguagem? Qual o melhor PC para desenvolver? Qual a melhor IDE para programar? Qual isso ou aquilo e, até, isso é melhor que aquilo.
Minha intenção aqui não é trazer respostas fechadas para tais perguntas mas sim ajudar a desconstruir uma ideia e colocar uma nova em prática.

Este artigo é voltado para quem está trabalhando com Python usando o PyCharm e deseja migrar para o VSCode. Sabemos que não é fácil fazer essa migração, embora o PyCharm seja melhor que o VSCode em relação a produtividade. O maior problema pode ser o valor da licença e um PC com uma boa quantidade de memória.
Abaixo irei mostrar passo-a-passo como deixar o VSCode mais próximo à produtividade do PyCharm, lembrando que existem limitações ainda no VSCode que você verá ao desenrolar deste artigo.

Primeiramente, iremos baixar o VSCode em sua forma .zip e não o instalável, e aqui é o principal pulo do gato, ou seja, vamos montar um ambiente para ser utilizado apenas para Python da mesma forma que o PyCharm é otimizado somente para o Python.
Para fazer o download, basta clicar no link abaixo e baixar a versão .zip conforme a imagem.

Link de download: [Download](https://code.visualstudio.com/Download)

*Estou usando o Windows para este artigo.

![alt text](https://i.ibb.co/tHkjx0S/0-VIq-Gzc0-WF9tk-Tii-C.png "Tela de download do VSCode")
Tela de download do VSCode

Após baixar, descompacte o arquivo baixado em uma pasta de fácil acesso, no meu caso foi em: C:\ambientes

*IMPORTANTE: Não abra o VSCode ainda, apenas descompacte-o, caso contrário não teremos com isolar o vscode.

![alt text](https://i.ibb.co/KjmpfzV/0-Y1-B0-Uqh8ee-S8g-Vh6.png "Pasta onde foi descompactado o arquivo .zip")
Pasta onde foi descompactado o arquivo .zip

Entre na pasta criada e na raiz do Code.exe crie uma pasta chamada “data” e dentro da pasta “data” uma pasta “tmp”. Assim você isola por completo esse ambiente do VSCode.

A ideia de isolar o ambiente é justamente criar um ambiente somente para o Python, com configurações próprias e extensões para este ambiente não interferindo, assim, em outros ambientes como um VSCode voltado para React ou Flutter por exemplo.

Após criadas as pastas, você poderá abrir o VSCode.

Se você fez corretamente, o VSCode virá limpinho sem nenhuma configuração ou extensão, caso contrário, ou as pastas não foram criadas corretamentes ou você já possui o VSCode instalado da forma tradicional, assim deverá desinstalar tando o VSCode quanto as extensões.

Para desinstalar, acesse esse link:
[How to COMPLETELY uninstall Visual Studio Code from Windows 10
Seriously...](https://superuser.com/questions/1380208/how-to-completely-uninstall-visual-studio-code-from-windows-10/1380253)

Agora vem a mágica e o que o VSCode tem de melhor: Extensões e Customizações.

Abaixo, instale as seguinte extensões:

* Python — É a nossa base para o VSCode identificar corretamente o Python. [Link da extensão](https://marketplace.visualstudio.com/items?itemName=ms-python.python)

* VSCode Icons — Pacote de ícones deixar o file explorer mais bonito e fácil de identificar os arquivos e pastas. [Link da extensão](https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons)

* DotEnv — Para o VSCode reconhecer arquivos DotEnv. [Link da extensão](https://marketplace.visualstudio.com/items?itemName=mikestead.dotenv)

* IntelliJ IDEA Keybindings — A cereja do bolo, faz a mágica de trocar os atalhos tradicionais do VSCode para a versão do PyCharm. [Link da extensão](https://marketplace.visualstudio.com/items?itemName=k--kato.intellij-idea-keybindings)

* Python Test Explorer for Visual Studio Code — Excelente extensão para quem trabalha com testes, torna os teste mais fáceis de visualizar. [Link da extensão](https://marketplace.visualstudio.com/items?itemName=LittleFoxTeam.vscode-python-test-adapter)

* Test Explorer UI — Complemento de testes para a extensão acima. [Link da extensão](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer)

* Visual Studio IntelliCode — Utilitário para autocomplete. [Link da extensão](https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode)

* Terminal — Atalho visual para acessar o terminal de forma rápida. [Link da extensão](https://marketplace.visualstudio.com/items?itemName=formulahendry.terminal)

* Importmagic — O nome já diz tudo, é um autocomplete complementar ao IntelliCode e que no PyCharm faz toda a diferença. Realiza o autoimport e autocompletar em quanto você vai digitando o código. [Link da extensão](https://marketplace.visualstudio.com/items?itemName=brainfit.vscode-importmagic)

E ainda tem duas extensões muito úteis para quem trabalha com Django:

* django-intellisense: É a extensão que irá auxiliar no autocomplete do Django. [Link da extensão](Django. https://marketplace.visualstudio.com/items?itemName=shamanu4.django-intellisense)

* django: utilizado para trabalhar com html (django). [Link da extensão](https://marketplace.visualstudio.com/items?itemName=batisteo.vscode-django)

Ao instalar todas essas extensões, alguns arquivos KB podem ser instalados…. que são pacotes do próprio windows.
Agora, basta realizar uma penúltima customização, que são as configurações do ambiente.

Para acessar essas configurações, basta clicar em File > Preferences > Settings ou Crtl + , (caso esteja usando o Keybinding do IntelliJ.

Ao abrir as configurações, clique no ícone para exibir em JSON conforme a imagem abaixo:
![alt text](https://i.ibb.co/3hN6jGd/0-f-I0n-IDM6h-Vag-UOw2.png "Settings JSON")
Settings JSON

Basta colar o código abaixo e seu ambiente está configurado.
{% gist https://gist.github.com/felipepanegalli/c5c412250e7d3f3678f1ee51cd3a2823 %}


Por fim, para funcionar a indentação e exibir os erros corretamente o VSCode utiliza o pep8 e o pylint que podem ser instalados com o seguinte comando: pip install pep8 pylint.

Assim, encerramos nossa configuração.

Deu para observar que o VSCode por si só não trabalha bem com Python (com javascript, fica bem superior ao WebStorm) e por isso é necessário fazer uma série de configurações e instalação de extensões para que o editor consiga entender a linguagem Python.

Também tenho que mostrar o lado que o VSCode perde, e muito, quando trata-se de produtividade: o autocomplete, também conhecido como Intellisense. Nesse caso, ele não reconhece muitas coisas como o filter dos objetos no Django e alguns métodos mágicos. Por isso, se você tem como bancar a licença do PyCharm, vale a pena investir. Agora, caso queira uma alternativa gratuita, recomendo o VSCode.