GitHub Copilot - Inteligência Artificial no NeoVim

Neste artigo, vamos explorar o GitHub Copilot, uma ferramenta de inteligência artificial que está revolucionando a forma como codificamos, e como podemos implementá-lo no NeoVim.

[ Hits: 7.062 ]

Por: Fábio Berbert de Paula em 08/06/2023 | Blog: https://fabio.automatizando.dev


Introdução



O que é o GitHub Copilot?

O GitHub Copilot é uma ferramenta de codificação assistida por inteligência artificial, desenvolvida pela GitHub e pela OpenAI. Esse assistente de codificação, alimentado por uma rede de aprendizado profundo chamada Codex, sugere linhas de código ou blocos completos enquanto você escreve código. Ele aprende diretamente dos bilhões de linhas de código público disponíveis no GitHub e ajuda a acelerar o desenvolvimento de software, reduzir erros e simplificar o processo de aprendizado de novas linguagens de programação.

O Copilot roda nas IDEs mais populares, incluindo o Visual Studio Code, o JetBrains IDE e o NeoVim. Neste artigo, vamos explorar o GitHub Copilot e como podemos implementá-lo no NeoVim.

NOTA: ele não é compatível com o Vim, será necessário instalar o NeoVim.

Como instalar o NeoVim no Debian, Ubuntu e derivados

Minha IDE preferida sempre foi o Vim, logo migrei para o NeoVim para poder utilizar o Copilot, ferramenta no qual posso dizer que não vivo mais sem. Para quem não sabe, NeoVim nada mais é que o editor Vim com recursos adicionais.

Para instalar o NeoVim no Debian, Ubuntu e outras distribuições baseadas no Debian, execute os seguintes comandos no terminal:

sudo apt update
sudo apt install neovim

Configuração Inicial do NeoVim

Depois de instalado, você pode configurar o NeoVim criando um arquivo de configuração. Para isso, execute os seguintes comandos:

mkdir -p ~/.config/nvim
touch ~/.config/nvim/init.vim

Em seguida adicione as seguintes linhas ao init.vim para importar as configurações do Vim:

vim ~/.config/nvim/init.vim

set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
source ~/.vimrc

Antes de continuar, sugiro fortemente que siga os passos do artigo Como Turbinar sua Produtividade com VIM - Guia Definitivo do Desenvolvedor [Artigo]. A partir daí você terá uma IDE top para programar usando o Vim/NeoVim.

Criando um Alias de "nvim" para "vim"

Uma vez que utilizaremos o NeoVim ao invés do Vim, é interessante que o NeoVim seja executado quando digitarmos "vim" no terminal. Para isso podemos criar um alias, que terá procedência em cima dos executáveis que estão no PATH.

Adicione a seguinte linha ao seu arquivo ".bashrc":

vim ~/.bashrc

alias vim='nvim'

Depois de adicionar o alias, atualize o shell com:

source ~/.bashrc

Instalando o GitHub Copilot no NeoVim

Para instalar o GitHub Copilot no NeoVim, você precisa instalar o plugin de autocompletar nvim-copilot. O repositório do nvim-copilot está disponível no GitHub:
Vamos instalá-lo no diretório do Vim mesmo, uma vez que o NeoVim está importando as configurações de lá, é melhor manter tudo no mesmo lugar. Execute o comando:

git clone https://github.com/github/copilot.vim.git ~/.vim/pack/github/start/copilot.vim

Agora abra o NeoVim e execute o comando no editor:

:Copilot setup

Note que irá aparecer um código na barra de status do NeoVim, copie esse código e cole no navegador. Você será redirecionado para uma página do GitHub, onde você deve fazer login e autorizar o GitHub Copilot a acessar sua conta do GitHub.

Usando o GitHub Copilot no NeoVim

Com o GitHub Copilot instalado, você pode começar a usá-lo para acelerar seu desenvolvimento. Quando você começa a digitar código, o GitHub Copilot oferecerá sugestões automaticamente. Você pode navegar pelas sugestões usando as teclas "Alt + ]" e "Alt + [" e pressionar "Tab" para aceitar uma sugestão.

Exemplo de uso

O Copilot é extremamente avançado, ele aprende com seus códigos e com o tempo começa a sugerir de acordo com a sintaxe que você costuma usar. Para exemplificar, vamos criar um arquivo em Python e escrever um código simples para calcular a área de um círculo.

vim area_circulo.py

import math

def area_circulo(raio):
    return math.pi * raio ** 2

print(area_circulo(2))

Nas linhas acimas, eu escrevi a primeira linha de texto. Tudo o que veio de "Para exemplificar..." em diante foi sugerido pelo Copilot. Meu único trabalho foi sair teclando o Tab.

Conclusão

O GitHub Copilot é uma ferramenta poderosa que pode aumentar sua produtividade e simplificar o processo de aprendizado de novas linguagens. Quando combinado com um editor eficiente como o NeoVim, ele se torna uma ferramenta indispensável para qualquer desenvolvedor.

E sim, o Copilot escreveu pelo menos metade deste artigo. Ele ajuda inclusive a escrever redações, não se limita a códigos.

A ferramenta tem um custo, atualmente pago 10 dólares por mês para utilizá-la, mas vale cada centavo.

Referências


Até a próxima!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Como criar VIEWS no MySQL

Como isolar seus projetos Python com virtualenv (ambiente virtual)

Como fazer publicações pelo Instagram Web

Conheça o Viva o Android, site coirmão do VOL

MP3 no Linux

Leitura recomendada

Utilização do Vim para iniciantes

Como Turbinar sua Produtividade com VIM - Guia Definitivo do Desenvolvedor

Utilizando o Buffer de Gravação no Editor Vim

Como preparar o Vim/Neovim para corrigir ortografia em português

Compilação e instalação do Vim e habilitando a copiar e colar com o mouse

  
Comentários
[1] Comentário enviado por N1vBruno em 23/06/2023 - 19:47h

Ótimo artigo! Eu não cheguei a usar muito o Vim, já fui direto pro NeoVim justamente pelo rico ecossistema de plugins e não vivo mais sem.

Deixo como sugestão, para quem não tem condições de arcar com o Copilot mas quer ter um gostinho de uma assistente AI, o Codeium - https://github.com/Exafunction/codeium.vim, ou integrado com o nvim-cmp para ser usado como LSP: https://github.com/jcdickinson/codeium.nvim.

Acredito que ainda não seja tão preciso quanto o Copilot, mas já da para brincar, rs

[2] Comentário enviado por maurixnovatrento em 25/06/2023 - 11:33h

Ótimo artigo.
___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts