Como debugar NodeJS no VS Code?

Recentemente comecei a testar o VS Code, depois de alguns anos usando o Sublime Text (leia como abrir sublime no terminal (Linux) sem usar a sessão do terminal) e descobri que é possível fazer o debug de NodeJS do VS Code.

No momento que escrevi isso estou usando a V 1.29.1 do editor no Linux (Ubuntu), talvez algo possa ser um pouco diferente em outras versões ou plataformas.

O VS Code tem um botão de Debug na sidebar esquerda (de ícones), também pode ser ativado pelo menu View -> Debug ou ainda pelo atalho CTRL+SHIFT+D.

Neste debugger é possível fazer o start de uma aplicação/script em  NodeJS diretamente pelo VS Code.  Para isso antes é necessário criar um arquivo de configuração, clicando em Add Configuration (imagem abaixo).

Você define que é NodeJS e que a configuração será de Launch e o VS Code irá criar um arquivo launch.json na raiz do seu workspace, com o arquivo padrão. Você pode ter uma série de comandos diferentes para o debug, no mesmo arquivo – cada um representará uma opção no select de debug.

O editor disponibiliza vários modelos prontos de configurações, a Launch é a necessária para rodar e debugar um arquivo.

Com ela pronta, se você clicar em debugar (o ícone de “play” do printscreen acima) o VS Code irá executar seu arquivo e, por padrão, exibir no console interno do editor (debug console) qualquer resultado.

Ele também irá respeitar todos os breaking points que você marcar no arquivo. Você também tem uma aba de variáveis (na sidebar esquera do debug) que exibe tudo o que está disponível enquanto seu código roda.

Também é possível você acoplar o debugger do VS Code a um processo em NodeJS que já está rodando em sua máquina, para isso é necessário adicionar a configuração de “attach” no arquivo de config.

O vídeo abaixo (em inglês) explica um pouco dos processos básicos de debug com o editor.

Tabém vale a pena conferir a documentação sobre debug de NodeJS com o VS Code, lá tem detalhamento sobre as ocnfigurações possíveis para o Launch, protocolos utilizados, qual terminal utilizar (o do próprio VS Code ou externo), etc.

Como instalar o NodeJS v0.4.x no Ubuntu 11.10

Primeira Segunda-Feira de 2012 e o campeão aqui toma uma importante decisão: atualizar o Ubuntu no computador do trabalho. Instalei a versão 11.10 e tudo funcionou melhor do que o esperado. Não tinha feito a atualização até agora com medo da performance do Unity, e de problemas de compatibilidade com placa de vídeo.

Se você não precisa de uma versão antiga do NodeJS recomendo que você leia este tutorial de como instalar o NodeJS e npm no Ubuntu

O Ubuntu atualizou uma série de pacotes, dentre ele algumas dependências do NodeJS (e talvez até o próprio node, não tenho certeza). Para rodar o sistema que trabalho aqui no iG, preciso do NodeJS e descobri que devido aos pacotes do npm (nodeJS e npm são cheios de dependências) era necessário a versão antiga do NodeJS (sabia que a 4.7 e 4.8 funcionavam).

Instalando o nodeJS 4.x no Ubuntu 11.10

Depois de quase 2 dias quebrando a cabeça, segue um tutorial do que eu fiz para instalar a versão antiga do nodejs.

O bug

Tentei fazer a instalação normalmente, e descobri que com as últimas versões da biblioteca openssl (o Ubuntu 11 pega essas versões) as versões antigas do NodeJS (4.x) não compilam, pois o openssl parou de dar suporte a não-sei-o-que que o NodeJS utilizava.

 

A solução

Depois de um dia inteiro tentando rodar o sistema na última versão do NodeJS (6) ou tentando instalar a versão antiga, finalmente cheguei na conclusão acima, então a solução era óbvia, você precisa:

  1. Instalar uma versão antiga do openssl (consegui compilar a versão 4.7 do NodeJS com a OpenSSL 1.0.0a)
  2. Instalar a versão desejada do NodeJS (4.7 no meu caso)
  3. Instalar a versão antiga do npm (2.0)