Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Visual Studio Code: cómo preparar un entorno de trabajo para .NET

Portada ornamental

Una de las grandes ventajas de .NET Core, es su ejecución multiplataforma, lo que nos permite trabajar en entornos que no sean Windows. Es por eso que Microsoft lanzó al mercado su IDE (Entorno de Desarrollo Integrado, en inglés: Integrated Development Environment) gratuito y multiplataforma Visual Studio Code.

En principio, programar para .NET Core con Visual Studio Code puede parecer algo confuso, ya que todo funciona por comandos, hacen falta algunos ficheros JSON que no son necesarios en Visual Studio y aparentemente tiene las herramientas limitadas. Sin embargo, en realidad es muy fácil de configurar y no vas a notar grandes carencias respecto a su hermano mayor, por lo que puede convertirse en una gran opción, más ágil y que además podrás usar en Mac o Linux.

Instalando Visual Studio Code

Lo primero que debes hacer es instalar Visual Studio Code. Para ello basta con que entremos a su página de descargas y nos descarguemos e instalemos la versión apropiada para nuestro sistema operativo.

La imagen muestra el menú de opciones que nos presenta la página de descargas de Visual Studio Code

Instalando .NET Core

Visual Studio Code en sí mismo es un editor de ficheros "vitaminado". Esto quiere decir que es como el bloc de notas de toda la vida, pero con mejoras (muchas mejoras). Por eso, lo primero que tenemos que hacer para poder usar .NET Core con Visual Studio Code, es instalar .NET Core para nuestra plataforma. Para ello descargaremos desde su página de descargas los binarios del SDK (Kit de Desarrollo de Software, en inglés: Software Development Kit) para nuestro sistema operativo.

OJO: tiene que ser el SDK y no solo el runtime, es decir, lo que indica que es para "Build". Y, obviamente, el de nuestro sistema operativo. Generalmente la versión más reciente que exista, que es la que aparece por defecto.

Descargar .NET Core SDK para cada sistema

Instalando las extensiones necesarias

Para poder desarrollar todo su potencial, Visual Studio Code utiliza un sistema de extensiones que nos permiten ampliar su funcionalidad. Estas extensiones se pueden descargar desde el propio entorno o desde el Extension Marketplace (aunque esto realmente, lo que va a hacer es abrir el IDE y llevarnos a la extensión).

Para empezar a preparar nuestro entorno, vamos a utilizar la extensión para el lenguaje C#.

Para instalar esta extensión, desde la web, basta con que pulsemos sobre Install:

La imagen señala el botón "Install" de la web de la extensión

Nos va a pedir como requisito tener instalado Visual Studio Code, y como nosotros ya lo tenemos, en la ventana emergente pulsamos sobre el botón Abrir Visual Studio Code:

La imagen señala el botón "Abrir Visual Studio Code" de la ventana emergente

Esto nos abre Visual Studio Code, y nos muestra directamente la extensión, aquí basta con pulsar sobre el botón Install para que se inicie el proceso:

La imagen señala el botón para instalar la extensión dentro de Visual Studio Code

Una vez que termine tenemos que recargar el IDE. Para eso basta con pulsar en el botón de recargar:

La imagen señala el botón recargar Visual Studio Code

Con esto, ya tenemos nuestro entorno de trabajo Visual Studio Code para trabajar con el lenguaje C# y con .NET Core.

Podríamos haberlo buscado directamente desde el entorno e instalarlo desde allí más fácilmente, ahorrándonos un par de pasos.

Vamos a ver cómo poder ejecutar un proyecto con nuestro nuevo entorno.

Creando una aplicación de consola .NET Core en Visual Studio Code

Lo primero que vamos a necesitar es crear una carpeta en la que queramos que esté el proyecto. Una vez que la tengamos vamos a abrir en Visual Studio Code la carpeta que acabamos de crear, utilizando el menú File·Open Folder o con el acceso directo Ctrl+K,Ctrl+O (son dos combinaciones de teclas, una después de la otra):

La imagen muestra la opción de menú "Open Folder" dentro de Visual Studio Code

Una vez que tengamos la carpeta, vamos a necesitar sacar una ventana de terminal para lanzar comandos de compilación y similares. Para eso, dentro del menú View, pulsamos sobre el botón Terminal o con el acceso directo Ctrl+ñ:

La imagen señala el botón "Terminal" dentro de Visual Studio Code

Ahora dentro de esa terminal vamos a ejecutar el comando dotnet new console para crear nuestro proyecto (éste tomará el nombre de la carpeta en la que estamos). Cuando acabe la ejecución, podemos ver que han aparecido los ficheros del proyecto en el explorador:

La imagen muestra los ficheros que se han creado en el explorador de ficheros de Visual Studio Code

Con esto, si ejecutamos desde el terminal el comando dotnet run, podemos ver como la aplicación se ejecuta sin ningún problema:

La imagen muestra la salida de la consola del proyecto .NET Core

Con lo que hemos hecho podríamos modificar el código y ejecutarlo con los cambios, pero aún nos falta una parte importante: poder depurarlo, como lo haríamos en Visual Studio. Para eso tenemos que añadir algunos ficheros JSON mediante el asistente para que así se configuren correctamente también. Vete al menú View·Command Palette o usa el acceso directo Ctrl+Shift+P:

La imagen muestra el botón para abrir la paleta de comandos

Y dentro del desplegable que aparece debemos buscar la opción .NET: Generate Assets for Build and Debug:

La imagen muestra el botón para añadir los ficheros JSON necesarios

Esto nos generará los ficheros JSON necesarios para poder compilar, ejecutar y depurar el proyecto desde Visual Studio Code.

La imagen muestra los dos ficheros JSON generados

Una vez que tenemos todo esto, ya solo nos queda probar que funciona, para ello, vamos a poner un punto de interrupción situándonos sobre la línea:

Console.WriteLine("Hello World!");

y pulsando la tecla F9.

Si ahora ejecutamos el proyecto (pulsando F5) podemos ver que, efectivamente, el punto de interrupción se aplica y la ejecución se detiene ahí, permitiéndonos depurar el proyecto:

La imagen muestra como el depurador se para en la línea en la que hemos puesto el punto de interrupción

Vamos a ver el proceso con un vídeo:

En resumen

Con los pasos anteriores hemos conseguido un entorno de trabajo básico pero totalmente funcional para .NET Core con Visual Studio Code. Estaremos en condiciones de trabajar con .NET Core sin problemas y sacarle partido a todas sus características, apoyados por Visual Studio Code y todas sus potentes funcionalidades:

  • IntelliSense con sugerencias mientras escribimos código
  • "Snippets" o fragmentos de código ya hecho para acelerar la escritura
  • Localización y navegación rápida por el código
  • CodeLens para obtener información sobre referencias y relaciones entre el código
  • Refactorización
  • Etc...

Además podríamos instalar más extensiones específicas para ayudarnos con el desarrollo de aplicaciones .NET Core (muy recomendables).

Tampoco dejes de ver esta documentación (en inglés) para sacarle todo el partido al entorno:

Jorge Turrado Jorge lleva en el mundo de la programación desde los tiempos de .Net Framework 3.0. Es experto en la plataforma .NET, en Kubernetes y en técnicas de integración continua entre otras cosas. Actualmente trabaja como Staff SRE en la empresa SCRM Lidl International Hub. Microsoft lo ha reconocido como MVP en tecnologías de desarrollo, es CNCF Ambassador y maintainer oficial de KEDA, el autoescalador de Kubernetes basado en eventos. Puedes seguirlo en Twitter: @JorgeTurrado o en su blog FixedBuffer Ver todos los posts de Jorge Turrado
Archivado en: Lenguajes y plataformas

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Comentarios (13) -

Uno de los problemas que tiene VSCode cuando yo lo utilicé es que no tiene un editor específico para los ficheros de recursos .resx. Tienes que modificarlos como si fuesen ficheros xml: algo muy lento, tedioso y fácil de cometer errores.

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola David:

Es cierto que .resx es un formato muy atado a Windows y a Visual Studio en particular, que tiene una herramienta específica. Y sí, editar el XML es tedioso y propenso a errores.

En Mac, una opción es utilizar Visual Studio para Mac o MonoDevelop, y la extensión "Resx Editor" (github.com/.../Visual-Studio-for-Mac-ResxEditor). Te obliga a salitarte de VSCode, pero es una solución sencilla.

De forma genérica para Linux y Mac, existe un formato alternativo con extensión .po que se utiliza con GetText (https://www.gnu.org/software/gettext/) una herramienta multiplataforma para localización (del proyecto GNU, muy atada a Linux) y que tiene un editor muy potente llamado POEdit (https://poedit.net/), con una edición gratuita muy generosa. Puedes convertir los archivos .resx a formato .po con esta herramienta online gratuita (http://converter.webtranslateit.com/), editarlos con POEdit y luego hacer el proceso inverso con la misma herramienta. El proceso es un tanto tedioso, pero funciona.

En definitiva: esta claro que el entorno más productivo para .NET sigue siendo Visual Studio, pero si trabajas en Linux o Mac no es una opción, y además VS Code es un editor más ágil y mejor como editor en muchas cosas por lo que muchas personas lo prefieren. Si estás en Windows puedes usar VS Code para casi todo y VS Community para detalles como este. Si estás en macOS o Linux los detalles como este puede que te hagan la vida más complicada (al menos por el momento).

Saludos.

Responder

Hola chicos, un saludo.

Estoy en lo mismo, voy a probar la solución que comentas, gracias José Manuel, buen articulo y gracias por la info.

Un cordial saludo.

Responder

Saludos cordial, muy buen articulo me ayudo en la preinstalacion de .net en un entorno linux debian.

Responder

Podria alguien decirme como puedo conectar una base de datos MS Access con .net Core 3??? gracias

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola Alejandro:

.NET Core no soporta OLEDB por lo que de entrada no podrías conectarte a Access con los paquetes convencionales, como con .NET tradicional. Además Access está atado a Windows por lo que de entrada (salvo con algún producto especial para Linux, que creo que es de pago y bastante caro) sólo podrías hacerlo desde Windows.

La forma sería, aparte de instalar el redistribuíble de Access, instalar el driver para ODBC (https://www.nuget.org/packages/System.Data.Odbc/) y luego conetcarte usandoODBC ya que con OLEDB, como digo, no podrías.

Espero que te sirva.

Saludos

Responder

Jesus Alfonzo
Jesus Alfonzo

Excelente post, muy bien explicado tendras uno igual pero  enfocado a Java ?:D

Responder

José Luis Dunstan Aravena
José Luis Dunstan Aravena

Estimado, le escribo por lo siguiente, instalé primero en SDK y luego, siguiendo sugerencias de un manual, instalé el Visual Studio Code. Sin embargo, no reconoce la instalación del SDK, volví a abrir el SDK haciendo un repair de la instalación y aún así no me funciona.

Responder

Gracias por este post, he acabado la instalación de VS Code perfectamente siguiendo estas pautas.
Tengo una duda: comienzo una app en Angular como front-ent para el usuario y .Net Core como back-end. Tengo el entorno ya preparado en VS Community y también lo he preparado en VS Code porque lo vi más tarde. ¿Qué es mejor para todo el desarrollo,  VS Code o VS Community? o ¿se puede desarrollar en ambos, VS Code para el front-end y VS Community para el back-end, compartiendo los directorios del proyecto?

Saludos,

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola Álvaro:

Mi opinión personal: VS Code para Front-End y Visual Studio Community para backend, aunque VSCode cada vez es mejor cada día para cualquier cosa.

Por cierto, para Angular + VSCode tenemos un artículo similar que deberías ver: www.campusmvp.es/.../...o-para-este-framework.aspx

Saludos!

Responder

Muchas gracias por tu opinión. Como siempre, la seguiré. Me ha dado buenos resultados.
Ya he instalado las extensiones que comentas en ese otro post. Perfecto!
Gracias de nuevo,
Álvaro

Responder

Hola. Soy nuevo en Ubuntu y dando pininos en programación.

Tento un programa hecho en Visual Studio .Net, una aplicación de consola para Windows con un Module1.vb que no puedo ejecutar en Code.

Cómo hago para ejecutar el código de ese módulo?

Responder

Esta bueno VSCode, lo malo que tiene es que: el intellisense a veces se queda colgado y hay que salir y volver a entrar a vscode.

Recomiendo instalar los plugins de vscode-solution-explorer (te permite agregar referencias y otras cosas mas facilmente, previamente se debe agregar la solucion al proyecto desde la consola y el proyecto a la solucion (dotnet sln add "nombre" y dotnet sln archivo.sln add archivo.csproj"

tambien es recomendable agregar la extension "Nuget Package Manager GUI", para poder buscar e instalar paquetes de nuget.

En mi experiencia sirve vscode con estas extensiones, pero aun le falta mucho para que sea comodo poder trabjar desde vscode, por ejemplo no hay forma de hacer un watch rapido de variable, o volver la ejecucion del punto hacia atras, entre otras cosas interesantes que ayudan mucho al debug y productividad

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.