Visual Studio Code con .NET 7 y C# 11
Tags: vscode, dotnet, csharp, programming
Published: 2022-11-08 20:35:30


![.NET 7 + C# 11](https://thurrott.s3.amazonaws.com/wp-content/uploads/sites/2/2022/11/dot-net.jpg)
## .NET 7 + C# 11
[.NET 7](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) se enfoca en ser unificado, moderno, simple y rápido.

La nueva versión incluye mejoras de rendimiento general, nuevas herramientas para el desarrollo multiplataforma, así como actualizaciones para ASP.NET Core y el desarrollo nativo en la nube.

Lanzado oficialmente durante [.NET Conf 2022](https://www.dotnetconf.net/agenda), será compatible durante 18 meses de acuerdo a su versión de soporte estándar (STS).

El ecosistema de .NET 7 incluye además la actualización del lenguaje C# 11, cuyas novedades permiten reducir la cantidad de código que se necesita escribir.

Cabe señalar que si queremos utilizar .NET 7 con Visual Studio, ésta versión <u>sólo es compatible</u> con Visual Studio 2022 v17.4 o posterior.

## VS Code con el poder de .NET 7  y C# 11
La buena noticia es que: .NET 7 es compatible con Visual Studio Code gracias a .NET SDK y a la extensión C# que tenemos a disposición para este editor de código. Es decir, podremos desarrollar, compilar y ejecutar aplicaciones en .NET 7 y C# 11 desde VS Code.

Importante destacar que al disponer de .NET 7 y C# 11, contaríamos además de todas las características introducidas en versiones anteriores del lenguaje, entre las que destacan:
- Instrucciones de nivel superior
- Filtros de excepciones
- Interpolación de cadenas
- Coincidencia de patrones
- Deconstrucción de Tuplas
- Funciones locales
- Expresión 'switch'
- Registros y estructuras de registros
- Patrones de propiedades extendidos
- Directivas 'global using'
- Atributos genéricos
- Patrones de listas
- Filtros de minimal APIs
- Literales de cadena sin formato
- etc...

## Preparación de entorno .NET con VS Code
**1. Instalar VS Code**
Necesitamos descargar la última versión disponible desde el siguiente enlace: https://code.visualstudio.com/

![Download Visual Studio Code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mwi5bt7pic75fwksiivg.png)
Tendremos a disposición los archivos de instalación para sistemas operativos Windows, Linux y macOS.

Una vez descargados, iniciamos el proceso de instalación, el cual una vez se haya completado nos permitirá ejecutar VS Code:

![VS Code en Español](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gbq3fnint2kcs4j52xq4.png)

**2. Instalar .NET SDK 7.0**
Podemos descargar el kit de desarrollo de software de .NET en su versión 7.0 desde el siguiente enlace: https://dotnet.microsoft.com/en-us/download/dotnet/7.0
![Download .NET 7.0](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bdbxsizymof7hssm6xqd.png)
Contaremos con los archivos de instalación para sistemas operativos Windows, Linux y macOS, así como información de compatibilidad y soporte:
![Compatibilidad y soporte SDK 7.0](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r6xdsv1p307c9z601n0j.png)

Una vez finalizada la descarga del instalador, se procede a ejecutar el archivo:
![Instalador .NET SDK 7.0](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4au9ipd3rnxh67e15zhu.png)
Iniciamos el proceso de instalación, y esperamos hasta que se haya completado:
![.NET 7.0.100 instalado correctamente](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dbug1623b8yjt1b2fj0m.png)
Podemos confirmar la instalación ejecutando los siguientes comandos desde CMD o PowerShell:
```
dotnet --list-sdks
```
```
dotnet --list-runtimes
```
![Verificando instalación de NET SDK 7.0](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n5woih906d6rmht7swpr.png)
O bien, podemos verificar desde la terminal integrada en VS Code:
![Terminal de VS Code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kso8fefnjpu1wv8quomk.png)
Accedemos a ella clicando en el menú "Terminal" opción "Nueva Terminal":
![VS Code - Nuevo Terminal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kru0orjpvgclu2lu9xy2.png)

**3. Instalar extensión C#**
El último paso consiste en instalar la extensión C# en nuestro VS Code, clicando en la sección de extensiones podemos realizar la búsqueda del plugin:
![C# para Visual Studio Code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wfmmxoar9o7zxrvwhth4.png)
Dicha extensión C#, mantenida por [OmniSharp](http://www.omnisharp.net/), nos permite integrar herramientas de desarrollo ligeras para .NET con gran compatibilidad para la edición de código C# y soporte de características como resaltado de sintaxis, intelliSense, búsqueda de referencias, ir a definición, etc:
![C# extension intelliSense](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lg1w8ifnffypjidmomaf.png)
Simplemente clicamos en el botón "Instalar" y esperamos a que la extensión sea agregada a nuestro VS Code:
![C# soporte de lenguaje en VS Code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wd24qy1o7zuzxe37c84g.png)

## Ejecutando aplicaciones .NET 7 en VS Code
¡Listo!... Ya podemos desarrollar, compilar y ejecutar código con .NET 7 y C# 11 desde nuestro VS Code.

**Creando una aplicación de consola**
Para crear una aplicación de consola desde nuestro VS Code, debemos abrir una nueva terminal y ejecutar el siguiente comando:
```
dotnet new console
```
![dotnet new console](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wqlnnsziie6cvf8c3ogb.png)

Éste comando indica la creación de un nuevo proyecto de tipo consola a partir de las plantillas disponibles en el .NET SDK.
Si lo deseamos, podemos navegar en los archivos que conforman el código fuente de nuestra aplicación mediante el explorador de VS Code:
![Explorador de VS Code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bfltiuxg07gnw7d2mxlo.png)
Podemos observar que la definición del proyecto especifíca que fue creado para la versión 7.0 de .NET
Si queremos ejecutar la aplicación, desde nuestra terminal integrada debemos ejecutar el siguiente comando:
```
dotnet run
```
![dotnet run Hello, World!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lcuarqhu0o3izusrw589.png)

**Creando una aplicación web MVC**
Si queremos crear una aplicación web con el patrón MVC, desde nuestra terminal ejecutamos el siguiente comando:
```
dotnet new mvc
```
![dotnet new mvc](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uojokar68w8qwvdooihw.png)
Podemos explorar los archivos generados en VS Code para esta plantilla del SDK, así como la definición del proyecto:
![Explorando proyecto MVC](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8bl1qmgwad7lfqncfzqs.png)
Ejecutemos nuevamente el comando `dotnet run` desde nuestra terminal integrada para compilar y ejecutar la aplicación web:
```
dotnet run
```
![dotnet run aspnet-mvc-project](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/obmb9hp9pploe75l9pn6.png)
Podemos validar en nuestro navegador que nuestra aplicación web está corriendo sin problemas:
![asp mvc running](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/00xgdbuv0mxushuxl6o8.png)

**Plantillas y más plantillas del .NET SDK**
Finalmente si queremos explorar con otras plantillas disponibles en el SDK de .NET 7, podemos visualizar la lista completa ejecutando el siguiente comando:
```
dotnet new list
```
![dotnet new list](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xf7ju9sd394nsusfwpou.png)

## Recursos Útiles
Si quieres ahondar sobre las novedades de .NET 7 y C# 11:
- [¿Qué hay de nuevo en .NET 7?](https://learn.microsoft.com/es-mx/dotnet/core/whats-new/dotnet-7)
- [¿Qué hay de nuevo en C# 11?](https://learn.microsoft.com/es-mx/dotnet/csharp/whats-new/csharp-11)

Más información sobre el soporte de C# en Visual Studio Code:
- [VS Code - C# language support](https://code.visualstudio.com/Docs/languages/csharp)

Más información sobre OmniSharp y compatibilidad de la extensión C# para VS Code:
- [Repositorio GitHub de OmniSharp](https://github.com/OmniSharp/omnisharp-vscode)
- [Marketplace - C# para Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp)

## ¿Tienes algún comentario?
Gracias por tu tiempo, espero éste artículo te haya resultado útil. Si tienes comentarios, por favor compártelos. 😉
_Te invito a seguirme en [Twitter](https://twitter.com/jjorozcodev) y/o contactarme en [LinkedIn](https://www.linkedin.com/in/jjorozcodev/)._