Como Configurar o Solargraph no VS Code com WSL2 para projetos legados

lucasldemello

Lucas Luan de Melo

Posted on June 21, 2024

Como Configurar o Solargraph no VS Code com WSL2 para projetos legados

Introdução

Recentemente, enfrentei um problema ao tentar configurar o Solargraph no VS Code enquanto utilizava o WSL2 e o ASDF para gerenciar versões do Ruby. Os projetos legados que eu estava trabalhando usavam Docker, o que causava conflitos com as versões do Ruby e resultava em erros ao inicializar o servidor. Após muita pesquisa e tentativa e erro, consegui resolver o problema. Aqui está um guia passo a passo para ajudar outros desenvolvedores que possam estar enfrentando a mesma situação.

Disclaimer

O caminho mais fácil para resolver problemas de versão de Ruby seria modificar o arquivo .tool-versions do projeto para usar uma versão do Ruby compatível com o Solargraph. No entanto, em ambientes legados, essa modificação pode não ser possível devido a dependências específicas do projeto ou restrições impostas pela equipe de desenvolvimento. Portanto, este guia fornece uma solução alternativa que não requer mudanças no arquivo .tool-versions.

Passo a Passo para Resolver o Problema

Pré-requisitos

  1. WSL2 instalado: Siga as instruções oficiais da Microsoft para configurar o WSL2.
  2. VS Code instalado: Baixe e instale o VS Code.
  3. Distribuição Linux no WSL2: Por exemplo, Ubuntu.

Passo 1: Configure o Ruby no WSL2 com ASDF

  • Instale o ASDF: No terminal do WSL2, execute os seguintes comandos:
    git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.0
    echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc
    echo '. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
    source ~/.bashrc 
Enter fullscreen mode Exit fullscreen mode
  • Adicione o plugin Ruby e instale uma versão do Ruby:
    asdf plugin-add ruby https://github.com/asdf-vm/asdf-ruby.git
    asdf install ruby 3.3.2  # Substitua pela versão necessária
    asdf global ruby 3.3.2
Enter fullscreen mode Exit fullscreen mode
  • Verifique a instalação do Ruby:
    ruby -v
Enter fullscreen mode Exit fullscreen mode

Passo 2: Instale o Solargraph

  • Instale o Solargraph:
   gem install solargraph 
Enter fullscreen mode Exit fullscreen mode
  • Verifique a instalação do Solargraph:
    which solargraph
Enter fullscreen mode Exit fullscreen mode

Passo 3: Configure o VS Code para Usar o WSL2

  • Instale a Extensão "Remote - WSL": No VS Code, abra o Marketplace de Extensões e instale a extensão Remote - WSL.
  1. Abra o VS Code no WSL2: No terminal do WSL2, navegue até o diretório do seu projeto e abra o VS Code:
    code .
Enter fullscreen mode Exit fullscreen mode

Passo 4: Configure o Solargraph no VS Code

  • Adicione a configuração no settings.json: No VS Code aberto no ambiente WSL2, abra o Command Palette (Ctrl+Shift+P ou Cmd+Shift+P), procure por "Preferences: Open Settings (JSON)" e adicione a seguinte configuração:
    {
        "solargraph.commandPath": "/home/seu_usuario/.asdf/shims/solargraph",
        "solargraph.useBundler": false,
        "solargraph.diagnostics": true,
        "solargraph.formatting": true
    }
Enter fullscreen mode Exit fullscreen mode

Substitua /home/seu_usuario/.asdf/shims/solargraph pelo caminho retornado pelo comando which solargraph.

  • Reinicie o VS Code: Reinicie o VS Code para aplicar as novas configurações.

Solução de Problemas

  • Verifique as permissões e caminhos: Certifique-se de que o caminho especificado para o Solargraph no settings.json está correto e acessível.

  • Logs do VS Code: Verifique os logs do VS Code para mais detalhes sobre o erro. Acesse os logs através do Command Palette (Ctrl+Shift+P -> "Output") e selecione "Solargraph" no menu de saída.

Conclusão

Com esses passos, você deve conseguir configurar o Solargraph no VS Code utilizando a versão do Ruby gerenciada pelo ASDF no ambiente WSL2, sem a necessidade de modificar o arquivo .tool-versions do projeto. Espero que este guia seja útil para resolver problemas semelhantes que você possa encontrar no seu ambiente de desenvolvimento Ruby.

💖 💪 🙅 🚩
lucasldemello
Lucas Luan de Melo

Posted on June 21, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related