Mochileiro T.I
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Neovim e VSCode: Qual é o melhor para desenvolvedores?

Atualmente existem vários editores de texto disponíveis de maneira gratuita e dois deles se destacam em suas respectivas comunidades: Neovim e VSCode.

Ambos são excelentes para desenvolvedores e, além disso, se destacam por suas filosofias de utilização completamente distintas, o que os torna amados por uns e odiados por outros.

O Neovim segue uma linha minimalista em modo texto, com uso exclusivo de teclado e poucos recursos disponíveis por padrão, mas com altíssima performance e fluidez de trabalho através de atalhos.

Por outro lado, focado em produtividade imediata, o VSCode segue uma linha moderna em modo gráfico e apresenta maior facilidade de uso, ideal para quem precisa de uma solução pronta para usar.

Ao longo deste artigo pretendo apresentar as principais características de ambos, bem como suas vantagens e desvantagens.

Além disso, através de uma breve introdução, veremos como instalar e fazer as configurações iniciais em ambos os editores.

Dessa maneira, você terá uma boa compreensão do tema e certamente saberá escolher o melhor editor para suas necessidades.

Portanto siga em frente e mergulhe no mundo do Neovim e VSCode, dois editores tão distintos e ao mesmo tempo poderosos!

Um Pouco de História

O Neovim nasceu em 2014 através de um fork do Vim, que por sua vez é derivado do icônico Vi, amplamente utilizado em sistemas Unix.

Herdando a principal característica do Vi, ou seja, produtividade através do teclado com atalhos poderosos e navegação ágil, o Neovim veio com o objetivo primário de melhorar sua arquitetura.

Sua proposta também visa facilitar o desenvolvimento de plugins e proporcionar uma melhor integração com ferramentas externas como LSP’s.

Já o VSCode, lançado em 2015 pela Microsoft, surpreendeu a todos com sua base open source construída utilizando Electron e Typescript.

Além disso, rapidamente ganhou popularidade graças a seu suporte nativo ao Git, terminal integrado e um marketplace rico em extensões.

Neovim: o editor raiz

O Neovim é um editor de texto com fortes características de seus antepassados Vim/Vi e portanto assustam alguns usuários, principalmente aqueles que não estão habituados ao modo texto e pura utilização de teclado.

A situação ainda piora pelo simples fato de que trata-se de um editor cru, sem recursos visuais, instalador de extensões embutido, debugador, nada.

No entanto, contrariando toda a lógica, é justamente aí que está sua principal força: altíssimo desempenho e customização.

O Neovim te dá a possibilidade de escolher tudo, desde o plugin responsável pela instalação de extensões até a escolha do tema do editor.

Não pense que existem poucas extensões disponíveis, O Neovim possui uma forte comunidade ativa que desenvolve os mais variados plugins para praticamente tudo.

Além disso, você ainda tem diferentes plugins com a mesma função, o que lhe dá a oportunidade de optar por aquele que melhor lhe agrada.

Por outro lado, nada na vida é perfeito; toda essa customização tem um custo, digamos, razoável, pois infelizmente existe uma certa camada de complexidade envolvida.

O Neovim utiliza scripts escritos na linguagem Lua para adicionar e configurar suas extensões. Portanto, você precisará ter o conhecimento pelos menos básico nessa linguagem.

Por sorte, trata-se de uma linguagem bastante simples e seu aprendizado não deve ser algo demorado.

Por fim, para adicionar um pouco mais de complexidade, em alguns casos você precisará ler a documentação de certos plugins para aprender como instalá-los e configurá-los adequadamente.

Tudo isso, é claro, feito em texto através de scripts escritos em Lua; mas não desanime: esse tempo e essa curva de aprendizado não são tão assustadores quanto parecem.

Ademais, essa dinâmica de instalação e configuração de plugins através do Lua ficará mais fácil de compreender através do exemplo prático que demonstrarei mais adiante.

VSCode: o editor popular

O VSCode conta com uma interface limpa e poderosa que contém sidebar, minimap, capacidade de divisão de tela e temas dos mais variados tipos, oferecendo dessa maneira bastante conforto.

Apesar de não ser uma IDE completa, oferece recursos de IDE para diversas linguagens de programação através de extensões.

Eu arriscaria dizer que as extensões são uma de suas principais vantagens, uma vez que possui um ecossistema que abrange quase todas as linguagens de programação e atendem os mais variados propósitos.

“Extensões a parte”, outra característica que o tornou popular é sua integração nativa e gráfica com Git e GitHub para commits, branches, merge e resolução de conflitos.

Há ainda depuração nativa para várias linguagens como Node.js, Python, Java, etc, com breakpoints visuais, inspeção de variáveis, call stack e controle de execução.

Se você não gosta ou está mais habituado com modo texto, sem problemas; faça através do terminal integrado boa parte das coisas que faria em modo gráfico.

Fora tudo isso, o editor conta ainda com Live Share (compartilhamento do editor com outros programadores), suporte a LSP (Language Server Protocol) e funciona no Windows, MacOS e Linux.

Até aqui somente coisas boas, certo? Apesar de ser excelente, o VSCode tem pontos fracos dentre os quais saliento apenas os dois que considero serem os mais importantes.

Como quase tudo no mundo dos computadores, toda praticidade e automatização tem um custo razoável e com o VSCode não poderia ser diferente.

Ainda que não seja exagerado, ele tem um consumo extra de memória RAM e CPU, principalmente quando comparado a editores baseados em terminal.

Portanto, pode ser lento em projetos grandes e que utilizam muitas extensões ativas, sobretudo em máquinas mais antigas.

Por fim, embora seja bastante personalizável, não chega ao nível de granularidade do Neovim, por exemplo.

Instalação do Neovim e VSCode

Não há muito o que falar sobre a instalação de ambos, uma vez que suas instalações são bastante simples e compatíveis com Linux, Windows e MacOS.

Portanto, para instalar o Neovim no Linux ou MacOS, basta executar um dos comandos abaixo:

sudo apt install neovim #linux derivados do debian
brew install neovim #MacOS

O editor recém-instalado em sua configuração padrão, ou seja, sem plugins e temas, tem essa aparência:

Neovim

Prometo que isso melhora! 🙂

Usuários Windows precisam ter no mínimo Windows 8 e podem baixar o instalador direto no GitHub do Neovim e seguir o assistente de instalação.

O VSCode, por sua vez, é ainda mais simples; basta acessar a seção de downloads diretamente no site e escolher a versão adequada para seu sistema.

Vale lembrar que ainda existe a possibilidade da instalação através da loja de aplicativos de seu sistema operacional. (Linux, Windows e MacOS)

E sua aparência é mais ou menos essa:

Muito mais atrativo, não é mesmo?

Bônus: configurações iniciais do Neovim

Com o intuito de diminuir uma possível má impressão que o modo texto e a falta de recursos iniciais possam causar, vamos fazer aqui alguns ajustes básicos no editor.

Mas antes, se você nunca editou algo com Vi ou Vim, sugiro fortemente que faça o tutorial da própria ferramenta, usando o comando “:Tutor”.

Esse comando é aplicado dentro do próprio Neovim, portanto basta abrir o editor com “nvim” no terminal e, dentro dele, basta digitar “:Tutor”. (sem aspas)

Penso que essa é a pior parte do aprendizado, pois trata-se de uma mudança radical na forma como você navega e edita textos tradicionalmente.

No entanto, com um pouco de prática, você notará um ganho de produtividade por dispensar o uso do mouse e fazer tudo através de atalhos no teclado.

Dito isso, se você já conhece ou acabou de fazer o tutorial e está confortável para seguir em frente, veja que com poucas ações é possível fazer um bom “upgrade” no Neovim.

Nesse sentido existe um script pronto chamado kickstart.nvim, que transforma radicalmente aquele pobre Neovim original adicionando gerenciador de pacotes, auto-complete, tema e diversas outras coisas.

Ele nos poupa bastante tempo e esforço abstraindo a complexidade de configurar tudo manualmente através de scripts Lua.

Instalando o Kickstart.nvim

Primeiramente, rode o comando abaixo:

git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim

Em seguida, apenas abra o Neovim normalmente e veja que automaticamente ele abre uma tela e realiza diversas atualizações. Ao final, algo parecido com isso deve aparecer:

Note que vários plugins foram instalados e até o tema do editor mudou. Tecle “q” para voltar ao editor e repare que itens básicos de utilização também estão funcionando como contador de linhas, indentação, auto-complete (para o Lua), etc.

Conforme o próprio nome diz, o kickstart é um “pontapé inicial” para começar a usar o Neovim sem grandes complicações.

O Neovim do jeito que está, compreende apenas a linguagem Lua, que é o padrão de configuração do editor

Assim sendo, para utilizar a sua linguagem de programação favorita, você ainda precisa realizar algumas configurações adicionais.

Como o propósito deste artigo é apresentar as diferenças entre os editores, não abordarei adiante como alcançar tal objetivo.

Mesmo assim, já adianto que não é nada de outro mundo fazer essas configurações e uma vez feitas, basta guardar a pasta “nvim” que fica dentro da pasta oculta “.config” do usuário em algum lugar seguro.

Dessa maneira, em caso de reinstalação você somente precisa repor essa pasta em sua nova instalação e seguir trabalhando.

Conclusão

Ambos NeoVim e VSCode são excelentes editores e diferenciam-se na forma como o usuário interage com o editor.

Enquanto um destaca-se pelo uso ágil em modo texto e repleto de atalhos para as mais variadas finalidades, o outro apresenta grande facilidade de uso por meio de uma interface gráfica intuitiva.

Na minha sincera opinião, a escolha entre um ou outro é muito pessoal, uma vez que ambos são capazes de atingir os mesmos objetivos.

Há quem diga que a curva de aprendizado do Neovim não compensa os benefícios que oferece; e há quem diga que o VSCode não compensa por causa do seu desempenho inferior…

Enfim, argumentos não faltam e todos eles são válidos. Para mim, o que precisa ser avaliada é a preferência e a necessidade de cada um.

Existem pessoas que gostam de trabalhar via terminal, da comodidade de ficar com as mãos somente no teclado e do desempenho extra que o Neovim oferece.

Por outro lado, há pessoas que preferem o modo gráfico, não querem perder tempo em configurar uma IDE e não sentem impacto no desempenho.

Ou seja, tudo é uma questão de gosto! Caso esteja em dúvida, experimente os dois e decida após algum tempo qual lhe atende da melhor maneira!

Espero ter ajudado!

Até a próxima!