Turbinando o desenvolvimento .NET no VS Code: utilizando o Terminal com Console Apps | Dica 2

Renato Groffe
3 min readSep 12, 2021

--

Console Applications são comumentes utilizadas em .NET Core e .NET 5 para a codificação de tarefas/jobs com uma duração limitada (trata-se inclusive de uma alternativa interessante para a construção de CronJobs a serem executados no Kubernetes). É comum ainda que optemos por este tipo de projeto em implementações voltadas a testes de algum recurso.

O Visual Studio 2019 (assim como outras versões desta IDE) aciona uma nova janela do Prompt de Comando caso executemos uma Console App, permitindo inclusive a leitura de teclas ou texto (via métodos como ReadKey e ReadLine da classe Console).

Mas e quanto ao Visual Studio Code?

Este é o segundo artigo da série com dicas e truques visando turbinar o desenvolvimento de aplicações .NET com o Visual Studio Code. Acesse o link a seguir caso ainda não tenha acompanhado o primeiro post ou, até mesmo, deseje revê-lo:

Turbinando o desenvolvimento .NET no VS Code: exibindo packages desatualizados | Dica 1

Por default o resultado da execução de uma Console Application será direcionado para a janela Debug Console, como indicado na animação a seguir:

Clique nesta imagem para visualizar com uma melhor resolução

O código que utilizei nesse teste está na listagem:

E este comportamento tem uma restrição que pode se transformar em um incômodo: a impossibilidade de realizar a leitura de teclas ou texto.

Essa limitação é demonstrada na próxima imagem:

Clique nesta imagem para visualizar com uma melhor resolução

Demonstrada em um teste executado tomando como base o seguinte código:

Como resolver então isso?

No arquivo launch.json localizado na pasta .vscode há em configurations o item console, no qual as alternativas integratedTerminal e externalTerminal solucionariam esta questão (o default é internalConsole, justamente a opção que causa o problema de leitura):

Na próxima animação temos um exemplo de uso da alternativa integratedTerminal:

Clique nesta imagem para visualizar com uma melhor resolução

Já com externalTerminal teremos um comportamento idêntico àquele presente na IDE do Visual Studio, com a abertura de uma janela do Prompt de Comando e com suporte à digitação:

Clique nesta imagem para visualizar com uma melhor resolução

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker