Larissa Silva
Larissa Silva15/08/2024 03:02
Compartilhe

Deu problema no debug? Pasta vscode não aparece e os .jsons Launch e Tasks também não? Segue o artigo →

    Durante as aulas me deparei com um problema, a tal pasta vscode com os arquivos de configuração do meu projeto simplesmente NÃO EXISTIAM. Após pesquisar bastante concluí duas coisas:

    1. a pasta vscode e seus ativos(launch.json e tasks.json) são criados ao iniciar o projeto, e de acordo com esse site aqui (https://learn.microsoft.com/pt-br/dotnet/core/tutorials/with-visual-studio-code?pivots=dotnet-8-0) um prompt aparece te solicitando para adicionar os ativos para criar e depurar seu aplicativo.
    2. O prompt não havia aparecido para mim, com isso concluí que algo havia dado errado realmente.

    Em seguida o que me restou fazer foi pesquisar. StackOverflow, Microsoft, Reddit até o Chat GPT eu utilizei, e encontrei algumas maneiras de fazer esses ativos surgirem.

    Considerações Importantes

    1. Se em algum momento uma mensagem escrito “Os ativos necessários para compilar e depurar estão ausentes de “nome do teu projeto”. Deseja adicioná-los?” aparecer clique em SIM. Ela é a confirmação de que os ativos vão ser criados.
    2. NUNCA clique em NÃO PERGUNTAR NOVAMENTE.
    3. Se o botão GERAR ATIVOS C# PARA BUILD E DEPURAÇÃO aparecer no seu debug também clique nele, logo você verá a mensagem da imagem acima.
    4. Dito isso, vamos as tentativas de gerar esses ativos.

    Tentativa 1

    1. Vá em executar no menu do seu vscode (Run caso esteja em inglês).
    2. Em seguida vá em adicionar Configuração.
    3. Selecione .NET 5 e posteriores e .NET Core no prompt Selecionar ambiente.

    Tentativa 2

    Caso a primeira tentativa tenha falhado para você assim como falhou para mim, não tema, ainda pode tentar a tentativa 2, que consiste em criar manualmente esses arquivos.

    1. Você pode criar manualmente uma pasta .vscode com dois arquivos json chamados tasks.json e launch.json e adicionar os códigos abaixo nelas:
    launch.json
    {
      "version": "0.2.0",
      "configurations": [
          {
              "name": ".NET Core Launch (console)",
              "type": "coreclr",
              "request": "launch",
              "preLaunchTask": "build",
              "program": "${workspaceFolder}/bin/Debug/net5.0/<nome_do_seu_programa>.dll",
              "args": [],
              "cwd": "${workspaceFolder}",
              "stopAtEntry": false,
              "console": "internalConsole",
              "logging": { "engineLogging": false }
          }
      ]
    }
    
    
    tasks.json
    {
      "version": "2.0.0",
      "tasks": [
          {
              "label": "build",
              "command": "dotnet",
              "type": "process",
              "args": [
                  "build",
                  "${workspaceFolder}/<nome_do_seu_projeto>.csproj"
              ],
              "problemMatcher": "$msCompile"
          }
      ]
    }
    
    

    <aside> 💡 Atente-se em mudar os campos “nome_do_seu_projeto” e “nome_do_seu_programa” no código

    </aside>

    Tentativa 3

    Outra forma semelhante de criar os assets é semelhante à tentativa 2, só que o vscode te dá maneiras manuais e gráficas de fazer isso.

    1. Clique nos atalhos Ctrl+Shift+D para abrir a parte de executar e debugar;
    2. Clique em executar e depurar (caso isso apareça para você), caso não apareça pode ser que já abra direto uma caixinha de texto na parte superior do seu vscode escrito “selecionar depurador”. Essa caixinha de seleção deve aparecer também após o clique do botão executar e depurar.
    3. Para mim a opção .NET 5 e posteriores e .NET Core que é a que deveria aparecer não estava disponível, caso essa opção esteja disponível para você clique. Caso não, clique na opção C#.
    4. Ótimo, provavelmente um arquivo launch.json foi criado para você, se ele estiver totalmente preenchido, corretamente como nas video-aulas de C# aqui do projeto significa que deu tudo certo, agora, caso não esteja preenchido e o cosigo da sua launch.json esteja semelhante a isso:
    {
      // Use o IntelliSense para saber mais sobre os atributos possíveis.
      // Focalizar para exibir as descrições dos atributos existentes.
      // Para obter mais informações, acesse: <https://go.microsoft.com/fwlink/?linkid=830387>
      "version": "0.2.0",
      "configurations": [
        
      ]
    }
    

    você terá que fazer o preenchimento.

    1. Para preencher sem ter que dar um CTRL + V, CTRL + C é simples, localize o botão Adicionar configuração na tela do launch.json (canto inferior direito)
    2. Ao clicar aparecerá uma telinha no meio do seu código cheio de opções que começam com { }
    3. Clique na primeira opção: .NET: Anexar a um processo do .Net
    4. O código que aparecerá deve ser parecido com este:
    
              "name": ".NET Core Attach",
              "type": "coreclr",
              "request": "attach"
    
    1. Ótimo, agora clique novamente no botão Adicionar configuração → .NET: Iniciar Arquivo executável (console)
    2. Logo a segunda parte do código surgirá:
    
              // Usar o IntelliSense para descobrir quais atributos existem para a depuração de C#
              // Passe o mouse sobre a tela para ver a descrição dos atributos existentes
              // Para obter mais informações, acesse <https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md>
              "name": ".NET Core Launch (console)",
              "type": "coreclr",
              "request": "launch",
              "preLaunchTask": "build",
              // Se tiver alterado as estruturas de destino, certifique-se de atualizar o caminho do programa.
              "program": "${workspaceFolder}/bin/Debug/<target-framework>/<project-name.dll>",
              "args": [],
              "cwd": "${workspaceFolder}",
              // Para obter mais informações sobre o campo \\"console\\", confira <https://aka.ms/VSCode-CS-LaunchJson-Console>
              "console": "internalConsole",
              "stopAtEntry": false
    
    1. Não esqueça de trocar as tags <target-framework> e <project-name.dll> para a versão do seu .NET e o nome do seu projeto (com terminação .dll, sem <>).

    Tentativa 4

    Essa tentativa eu vi em um artigo aqui mesmo na DIO, irem linkar diretamente para o artigo pois com as explicações dele vocês poderão entender melhor: https://web.dio.me/articles/solucao-para-erro-na-geracao-do-launchjson-e-omnisharp-no-vs-code-iniciantes?page=1&order=oldest

    De qualquer forma, o jeito do nosso amigo aí do artigo não serviu para mim, meu vscode ainda parecia estar totalmente bugado e nenhum pouco disposto a criar automaticamente a pasta vscode com seus ativos. Então, eu decidi fazer a tentativa 5.

    Tentativa 5 (e última)

    Adianto que a tentativa 5 deu certo para mim (ufa!), ela foi bem simples e me deixou bem frustrada por passar 2 horas e meia pesquisando várias soluções para resolver de forma banal.

    1. Eu simplesmente instalei e desinstalei as extensões do C#
    2. Kit C#, C#, ENTRE OUTRAS.

    O que me faz pensar que o vscode as vezes só precisa de um empurrãozinho. Então eis aqui um passo a passo que vou te indicar a fazer, reúni os jeitos mais simplórios de dar esse empurrãozinho para ele.

    1. Saia do vscode
    2. Reinicie a sua máquina
    3. abra o vscode e desinstale extensões desnecessárias que você não usa, faça isso com uma por vez e verifique se você realmente precisa ou não dela.
    4. Desinstale o kit C# e o C# (são duas extensões diferentes), .Net extensios, tudo relacionado ao C# e .NET. DICA IMPORTANTE: Anote todas as extensões desinstaladas para não esquecer quais você tem que instalar depois.
    5. Instale todas as extensões novamente
    6. Abra sua pasta novamente e tente fazer o debug. Se a mensagem “Os ativos necessários para compilar e depurar estão ausentes de “nome do teu projeto”. Deseja adicioná-los?” aparecer clique em SIM e seus ativos serão gerados.

    Espero que este tópico/artigo tenha ajudado! Bons estudos a todos!

    Compartilhe
    Comentários (0)