Uma vez ouvi um amigo, o Henrique Bastos, falar pra alguém que usava Vim algo como:
Quero ver fazer um refactor tão fácil como no PyCharm…
Por refactor ele queria dizer mudar o nome de um objeto (uma função, uma classe, um método) e a
Lembro que na hora não respondi pois… Primeiro odeio guerra de editor/IDE etc. Tenho mais o que fazer. Cada um use o que te faz mais produtivo. E segundo pois a provocação não era pra mim. Mas se alguém precisar, tem jeito facinho facinho!
Eu uso o NeoVim, mas a dica funciona com o Vim também: normalmente quem desenvolve em Python tem o python-mode
instalado. Esse plugin instala o ropevim
, é esse último tem o comando RopeRename
, que faz exatamente isso que o Henrique perguntava.
É super fácil de usar:
- Posicione o cursor no objeto que vai renomear
C-c r r
(no jargão do Vim isso éCtrl + c
depoisr
e depoisr
outra vez)- Escolha o novo nome do teu objeto
- Pronto! Só escolher se é pra refatorar tudo mesmo (
perform
) ou só fazer umpreview
do refactor 🎉
Tão fácil quanto o PyCharm… e não lembro se o PyCharm te mostra um preview antes 😉