- Abrindo launch.json no Visual Studio Code
- Visão geral da estrutura Launch.json
- Configurando configurações de inicialização para diferentes idiomas
- Depurando receitas de configuração
- Anexando o depurador a um processo em execução
- Depuração remota de aplicativos
- Depuração de testes de unidade e conjuntos de testes
- Passando variáveis de ambiente
- Depuração Avançada
- Pontos de interrupção condicionais e logpoints
- Mapas de origem
- Integrando depuradores externos
- Depurando aplicativos multithread
- Depuração multialvo
- Solução de problemas comuns do launch.json
- Erros de validação de esquema
- Falhas de depuração
- Diagnosticando problemas de configuração de inicialização
- Dicas para launch.json
- Inicie a depuração
A depuração eficaz e a qualidade do código são conceitos inseparáveis no desenvolvimento de software. A funcionalidade de depuração do Visual Studio (VS) Code é controlada principalmente pelo arquivo launch.json. Este arquivo permite que os desenvolvedores configurem e gerenciem suas configurações de depuração de acordo com sua visão.
Este artigo irá guiá-lo na abertura e gerenciamento do arquivo launch.json para uma depuração ideal.
Abrindo launch.json no Visual Studio Code
Para definir e gerenciar as configurações de depuração do VS Code, você precisará de acesso ao arquivo launch.json. Este arquivo desempenha um papel crucial na personalização de depuração.
- Abra o código do Visual Studio.

- Pressione Ctrl + Shift + P para abrir a paleta de comandos.

- Digite “Open launch.json” na paleta de comandos e pressione “Enter”. Isso deve abrir o arquivo launch.json para você.

- Se o arquivo launch.json não abrir, verifique se a pasta “.vscode” existe na pasta raiz do seu projeto.
- Caso não exista, crie uma nova pasta chamada “.vscode” dentro da sua pasta Usuário.

- Crie um novo arquivo “launch.json” e coloque-o nesta pasta.

O arquivo launch.json estará pronto para configuração após habilitá-lo.
Visão geral da estrutura Launch.json
O launch.json exibe as seções “versão” e “configurações”. A seção “configurações” é um array contendo diferentes opções de depuração, que você usará para configurar seu esquema de depuração.
Cada objeto na matriz “configurations” representa um cenário de depuração. Esses objetos possuem propriedades que definem o ambiente de depuração, como idioma, programa e configurações do depurador.
Algumas propriedades comuns que você encontrará nas configurações do launch.json incluem:
- “nome” – Um nome de fácil leitura para a configuração para identificá-la no menu suspenso.
- “type” – especifica o tipo de depurador (como “node”, “python” ou “cppvsdbg”).
- “request” – Determina o tipo de solicitação, seja “launch” (para iniciar uma nova instância) ou “attach” (para anexar o depurador a um processo existente).
- “programa” – Caminho do arquivo que você deseja depurar.
- “args” – Uma matriz de argumentos de linha de comando para passar ao programa durante a depuração.
- “preLaunchTask” – Uma tarefa a ser executada antes de iniciar o depurador.
Compreender a estrutura do arquivo launch.json permite que você saiba quais opções alterar e quais deixar de lado ao personalizar seu ambiente de depuração.
Configurando configurações de inicialização para diferentes idiomas
As etapas para definir as configurações de inicialização podem variar um pouco dependendo do idioma. Aqui estão as etapas para vários idiomas populares.
JavaScript e TypeScript
- Crie um novo arquivo launch.json e configure a propriedade “type” como “node” para JavaScript ou “pwa-node” para TypeScript.

- Defina a propriedade “solicitação” como “iniciar” ou “anexar”.


- Você deve especificar o arquivo do ponto de entrada usando a propriedade “programa”.

Pitão
- Instale o interpretador Python e a extensão para Visual Studio Code.

- Defina a propriedade “type” como “python” em um novo arquivo launch.json.

- Configure a propriedade “solicitação” como “iniciar” ou “anexar”.

- Especifique o arquivo Python a ser executado usando a propriedade “programa”.

- Talvez seja necessário definir adicionalmente a propriedade “pythonPath” para o caminho do interpretador Python se não estiver no local padrão.

C# e .NET Core
- Instale a extensão C# para Visual Studio Code.

- No novo arquivo launch.json, defina a propriedade “type” como “coreclr” para .NET Core ou “clr” para .NET Framework.

- Configure a propriedade “solicitação” como “iniciar” ou “anexar”.

- Especifique o arquivo do ponto de entrada usando a propriedade “programa”.

- Defina a propriedade “cwd” para o diretório de trabalho do projeto atual, se necessário.

Java
- Instale o pacote de extensão Java.

- Crie um novo arquivo launch.json e defina a propriedade “type” como “java”.

- Configure a propriedade “solicitação” como “iniciar” ou “anexar”.

- Especifique a classe principal com a propriedade “mainClass”.

- Defina a propriedade “projectName” com o nome do seu projeto Java.

- Configure a propriedade “classpath” para incluir as bibliotecas Java que você usará durante o desenvolvimento Java.

Depurando receitas de configuração
A seção a seguir aborda várias receitas de configuração de depuração.
Anexando o depurador a um processo em execução
Para anexar o depurador a um processo em execução:
- Defina a propriedade “solicitação” como “anexar”.

- Escolha o ID do processo ou filtro para localizar o processo a ser depurado.

Depuração remota de aplicativos
Para depuração remota de aplicativos:
- Use um tipo “remoto”.
- Forneça o endereço do host, a porta e possivelmente informações de autenticação para estabelecer uma conexão.
Depuração de testes de unidade e conjuntos de testes
Ao depurar testes de unidade e conjuntos de testes:
- Use uma configuração que inclua a estrutura de teste e as configurações para depurar testes de unidade e conjuntos de testes.
- Defina o conjunto de testes ou arquivos de teste inpiduais na propriedade “program” ou “args” para direcionar testes específicos.
Passando variáveis de ambiente
A propriedade “env” em launch.json pode passar variáveis de ambiente para seu aplicativo durante a depuração. Esta propriedade é um objeto que contém pares de valores-chave para as variáveis de ambiente que você deseja definir.
Depuração Avançada
Vamos explorar algumas técnicas avançadas de depuração para usuários que desejam extrair um pouco mais de poder dos arquivos de depuração.
Pontos de interrupção condicionais e logpoints
Pontos de interrupção e logpoints condicionais melhoram a depuração pausando ou registrando mensagens somente sob condições específicas. Para usá-los:
- Clique com o botão direito no número da linha onde deseja definir um ponto de interrupção ou logpoint.
- Selecione “Adicionar ponto de interrupção condicional” ou “Adicionar logpoint”.
- Insira a condição ou mensagem para acionar a ação.
Mapas de origem
Os mapas de origem permitem depurar código que foi transformado ou reduzido.
- Defina a propriedade “sourceMap” como “true” em sua configuração launch.json para usar mapas de origem.
- Certifique-se de que seu processo de construção gere mapas de origem e o código transformado.
Integrando depuradores externos
Você pode integrar depuradores e ferramentas externas, como gdb ou lldb, ao VS Code, se desejar.
- Instale a extensão do depurador de sua escolha.
- Defina as configurações do depurador no arquivo launch.json.
Depurando aplicativos multithread
Ao depurar aplicativos multithread, você pode controlar a execução de threads inpiduais.
- Use a visualização “threads” na barra lateral de depuração para gerenciar os threads durante uma sessão de depuração.
- Você pode pausar, retomar ou percorrer a execução do código para cada thread separadamente.
Depuração multialvo
As configurações de inicialização composta permitem a depuração de vários destinos simultaneamente. Se você quiser aproveitar esse recurso, adicione um array “compostos” com nomes de configuração para agrupar. Execute-os escolhendo o nome da configuração composta no menu suspenso Debug.
Defina várias configurações de inicialização direcionadas a diferentes serviços, funções ou endpoints para depurar microsserviços e aplicativos sem servidor. Use configurações de inicialização compostas para executar esses destinos juntos.
Para espaços de trabalho com várias raízes, crie arquivos launch.json separados para cada pasta. Defina as configurações de inicialização de cada pasta raiz inpidualmente para depurar projetos separadamente ou simultaneamente usando compostos.
Solução de problemas comuns do launch.json
Às vezes, a depuração está sujeita a seu próprio conjunto de bugs. Vejamos alguns problemas comuns e como solucioná-los.
Erros de validação de esquema
Erros de validação de esquema ocorrem quando um arquivo launch.json possui propriedades ou valores inválidos. Para corrigir erros de esquema:
- Revise as mensagens de erro do painel Problemas.
- Atualize o arquivo launch.json de acordo com as informações da mensagem de erro.
Falhas de depuração
Configurações de inicialização incorretas podem causar falhas de depuração.
- Verifique suas configurações de inicialização em busca de caminhos de arquivo incorretos.
- Verifique o depurador ou os tipos de solicitação ausentes ou incorretos.
- Atualize as configurações conforme necessário.
Diagnosticando problemas de configuração de inicialização
Para diagnosticar problemas com configurações de inicialização:
- Habilite o log de diagnóstico definindo a propriedade “trace” como “detalhado”.
- Revise os logs gerados no Debug Console para identificar e corrigir quaisquer problemas.
Dicas para launch.json
Use launch.json de maneira ideal com estas dicas:
- Use nomes significativos para suas configurações de inicialização para torná-las facilmente identificáveis. Esta prática ajuda você a encontrar rapidamente a configuração apropriada ao trabalhar com vários cenários de depuração.
- Compartilhe configurações de inicialização com sua equipe incluindo o arquivo launch.json no sistema de controle de versão do seu projeto. Cada membro da equipe pode acessar as mesmas configurações e definições de depuração.
- Sistemas de controle de versão como o Git podem rastrear alterações em seu arquivo launch.json. Você pode usar o controle de versão para reverter para configurações anteriores e colaborar com outros membros da equipe compartilhando com eles as configurações recomendadas.
- Instale extensões que suportem linguagens, depuradores ou ferramentas específicas que atendam às demandas do projeto. Configure o arquivo launch.json para usar essas extensões e seus recursos durante as sessões de depuração.
Inicie a depuração
Ao aproveitar o poder do launch.json, você pode ajustar sua experiência de depuração para corresponder melhor ao seu estilo de codificação. Isso melhorará a qualidade e o desempenho do seu código.
Com que frequência você precisa definir suas configurações de inicialização? Você tem alguma dica de configuração? Por favor, compartilhe suas experiências na seção de comentários abaixo.