DEV Community

Leandro Torres
Leandro Torres

Posted on • Edited on

2 3

VSCode - C# Top Level Programs

Olá Devs! 👩‍💻👨‍💻

Em alguns momentos acho interessante escrever determinados códigos em "C#" de forma isolada, assim eu direciono o meu foco somente no que estou escrevendo. Não me preocupo com uma grande aplicação, várias dependências e etc. Atenção, não estou falando de "C# Scripting", isso vou falar em outro post.

Eu utilizava o LINQPad para isso, ele é uma excelente ferramenta desktop e atende muito bem, só que uma coisa que sempre me incomodou era o fato de ter 3 ferramentas para escrever código "C#". Por padrão eu utilizo VS2019 e VSCode, o ideal era resolver esse problema com eles, seria muito interessante.

Estava lendo um post do Scott Hanselman e percebi que deixei passar uma novidade do "C# 9" que atenderia muito bem essa necessidade. A novidade, que já não é tão nova assim, é o recurso "Top Level Program".

Com esse recurso você consegue escrever o código de uma forma mais simples sem a necessidade da classe Program e do método Main. Exatamente o que eu gostaria.

Código padrão

using System;
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
    }
}
Enter fullscreen mode Exit fullscreen mode

Top Level Program

using static System.Console;

WriteLine("Hello World!");
Enter fullscreen mode Exit fullscreen mode

Pode parecer uma bobagem, mas isso facilita muito, principalmente quando estou estudando ou explicando algum código para alguém. O Scott Hanselman fala do VS2019, mas pra mim seria perfeito conseguir utilizar o VSCode, fiz o teste e funciona.

Criei um repositório no github que pode servir como referência. Nele eu tenho um projeto que possui pacotes que eu julgo interessante para esse tipo de abordagem:

Se pintar mais alguma necessidade de pacote extra, eu atualizo o repositório.

Repositório

GitHub logo leandroats / vscode-csplayground

VSCode - C# Top Level Programs

Comandos utilizados para criar o projeto:

dotnet new console -n csplayground -f net5.0
dotnet add package Bogus --version 33.0.2
dotnet add package ConsoleTables --version 2.4.2
Enter fullscreen mode Exit fullscreen mode

Links e Referências:

👉 VS2019 - Visual Studio 2019
👉 VSCode
👉 LINQPad
👉 ConsoleTables
👉 Bogus
👉 Post do Thomas Claudius Huber - Bem Completo
👉 Post do "Scott Hanselman"
👉 Post do Renato Groffe


Até a próxima! 👊
☕😊 Agora você pode apoiar comprando um café para mim

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay