VsCode extensions for .NET
Tags: dotnet, beginners, vscode, tutorial
Published: 2022-02-10 03:29:21

So you start develop in .Net. Most of courses and tutorial told you to install Visual Studio 2019/2022 but, if you are like me, your computer is really crappy. Luckily for us we don't need Visual Studio to work with .Net. 

This works not only in windows, limitation that it does has visual studio, but with linux and macos to.

In this tutotial I'll show you some extensions to work with .net and hope it suits your needs.

* [Install .Net](#net-6)
* [Install vscode](#vscode)
* [C# Extensions](#c)
* [General .Net Extensions](#general-net)
* [General VsCode extensions](#general-vscode)

## .NET 6
.Net is the develop platform to build applications and with .net 6 we can develop tons of differents applications.

![.Net](https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2021/11/dotnet-unified-platform.png)

As you can see we can develop from desktop to mobile. Sadly we can't make xamarin applications without of Visual Studio, but we can make anything else.

You can download .net 6 [here](https://dotnet.microsoft.com/en-us/download) to windows, macos X64, macos arm and linux following the instructions.

## VScode
You first need to download vscode [here](https://code.visualstudio.com/).

Next we will install the extensions for vscode

### C# Development
We need a couple of extension to have a good experience with c#.

#### C# 
![C# marketplace extension](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x10ybdhbrjpcleh9337x.png)

This extension gives you great tools to edit c#:
* Debugger. 
* Syntax Highlighting.
* IntelliSense.
* Go to Definition.
* Find All References.

#### C# XML Documentation Comments
![XMl documentation marketplace](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lsbsiy0x8vcyoqwne74a.png)

You can document your code for your editor/ide with xml, but recall all the tags and possibles attributes is really painful.
So, thanks to this extension we just need to code `///` and all tags will be automatically generated.

#### Roslynator
![Roslynator marketplace extension](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5qbpcw6wkkirnkmqazxv.png)

This is really powerful. This extension gives you analyzers, refactors and fixes for you c# code in one click.

#### C# Extensions

![C# extensions](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q4xnu9hout4i0o2w1lp3.png)

This is absolutely great! Brings the ease of create classes, interfaces and more without the need of custom snippets.

#### C# Namespace Autocompletion

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0q6qsnst4cycacpgemz.png) 

Helps you to complete an appropriated namespace for your code. 

### General .Net
This extension are not exclusive for C#, they work for all .net languages.

#### .NET Core Add Reference
![Add Reference](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sjjmwmlxc9fqwqh4jev4.png)

It is that simple. Adds a project reference to another with just two clicks.

#### MSBuild project tools

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iqfmusw4q3wfmtqhq20e.png)

This tool is cool to inspect your `.[cs|fs|vb]proj` file, also an autocomplete for `<packageReference>` elements.

#### .NET Core Snippet Pack
![Snippet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7rc2qxtgpnpmtrl584th.png)

We don't have class templates like in visual studio, we need to write every piece of code, but, with this extension, we can save a lot of time with the snippets for all kinds of .net projects.

#### .NET Core Tools
![Build, test and run](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0l06ql9uk599dasr34fq.png)

If you don't like the console you will love this. 
It is a simple extension, builds, runs and test your projects with a click in the project file. So you don't need to write every time the `dotnet run` command.

#### .NET Core Test Explorer
![Test](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ab6hom6911ded7pg8bz7.png)

Useful if you do unit test. With a test explorer this extension helps you to run and debug all test you have in your project.

#### NuGet Gallery Extension
![Gallery](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9apm78lc5vioul2u4pa6.png)

The easiest way to install a nuget package, just search the package and install it in all the projects you want. Much more easy than going to nuget.org and copy the command every time.

#### NuGet Package Manager GUI
![GUI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvejjoxlsb6h4v88je24.png)

This is like the last one but with a nice GUI, package updater and a list of your dependencies.

### General VsCode
Extensions for general purpose that can improve you workflow.

#### Better Comments
![comments](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujhxfvuv7rckknjodfl4.png)
An incredible way to highlight your comments and make them more useful.

#### gitignore

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikuc023yrq2ppph9ntr2.png)

Adds different templates to your `.gitignore` file depending of what technology you are using.  

#### GitLens
![git](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rqvm241irgyhvy42h5k2.png)

Improve your vscode experience with git in 100%. Makes so much easier to work with git.

#### Path Intellisense
![Path](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvfqzl6bkmvlgxcgzi20.png)

Really useful when you have a long directory distribution in your project and don't wanna see every 5 seconds your file in the file explorer.

#### Documents 
![Documents](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cm21e4lveq1xi4y9bwir.png)

With this you can read almost any document directly in vscode.

#### Markdown
![.md](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xe2sd0i974exe91d909f.png)

Markdown helper to write good markdown files.

#### Vim

![vim](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f2kl81msbjyw02yzv57g.png)

And for the great finale vim. It is one of my favorite extension and an incredible tool to speed up your coding. If you don't know vim give it a change and learn it!


These are some extension that I use and are really useful for me. Maybe this post is a little bit long but i hope useful for you. This list can change in the future to add or remove an extension so i'll try to keep it update.

Thanks for your time! Bye!