Visual Studio Code y C#

Visual Studio Code es un editor de código liviano, gratis, open source y multiplataforma lanzado por Microsoft a mediados del 2015, que en 6 meses ya había alcanzados mas de 2 millones de descargas. Es muy similar a Sublime Text, con una vista de de directorios y archivos que pertenecen a una carpeta seleccionada del file system, y un editor que se lleva la mayor parte de la pantalla. En el menú, los ítems son muy pocos, y casi no hay vistas extras, de las que abundan en los IDEs. La vista de directorios, se puede reemplazar por una de búsqueda y también una consola de Git. Pero quizás lo mas curioso es que, por defecto, esta versión “light” del IDE de Microsoft no trae soporte para para el lenguaje estrella de la plataforma .NET: C#, ni siquiera resalta la sintaxis. ¿Visual Studio sin C#? No puede ser.

Hasta aquí VS Code parece un simple editor de texto con algunos agregados, pero tiene un par ases bajo la manga.

VS Code: consola de comandos
VS Code: consola de comandos

La consola. Presionando F1 aparece una consola con infinidad de comandos. Se puede hacer de todo. Aquí es cuando empezamos a ver el verdadero potencial que nos puede brindar este editor.

Plugins. Solo basta con tipear “ext install” en la consola para ver una lista interminable de extensiones disponibles.

Soporte para C#

Con solo ejecutar en el consola > ext install C# ya tenemos el soporte para C# en el editor. Esto incluye, entre otras cosas, las siguiente características:

  • Soporte para proyectos MSBuild y .NET Core (json). Ya podemos ver la estructura de nuestros “viejos” proyectos de Visual Studio en el File Explorer.
  • Resaltado de sintaxis.
  • IntelliSense, que es cómo Microsoft llama al autocompletado de código.
  • Errores y warnings (gracias a Roslyn).
  • Bloques de código.
  • Y mucho más…
VS Code: Herramientas .NET no instaladas.
VS Code: Herramientas .NET no instaladas.

Cuando terminamos de instalar la extensión de C# se muestra una advertencia que nos avisa que no tenemos instaladas las herramientas de .NET. ¿Pero como no? En realidad, la versión de .NET que busca VS Code, no es la que usamos todos los días.

La era de .NET Core y JavaScript

Antes de empezar, volvemos al principio: la principal característica de Visual Studio Code es que es multiplataforma. Por esto está “mejor predispuesto” para tecnologías que corren en plataformas heterogéneas, como NodeJS y .NET Core, aún en versión preview, que es el nuevo framework de .NET multiplataforma, todavía con capacidad reducida, pero con muchísimo potencial. Aquí es donde VS Code encuentra la razón de su existencia.

.NET Core abandona a MSBuild (basado en XML) como herramienta de build exclusiva y da lugar las basadas en JavaScript, que están de moda por estos días: Gulp, Grunt y Jake. Algo parecido pasa con el gestor de paquetes: NuGet ya no tiene la exclusividad, NPM y Bower son estrellas en ascenso en el mundo .NET, sobre todo el primero.

A la hora de elegir el compilador, también hay mas opciones. Al ya nombrado .NET Core (Windows, Linux, Mac) se le suman el de Mono (Windows, Linux, Mac y muchas más) y, obviamente, el compilador de .NET de Windows.

Compilando C# con MSBuild

Hecha la introducción. Vamos a partir suponiendo que tenemos una aplicación ya existente de Visual Studio, que utiliza MSBuild, como en la gran mayoría de los casos hoy en día. Como ejemplo, utilizaremos una simple aplicación de consola.

VS Code: Selección de Task Runner
VS Code: Selección de Task Runner

Para crear una nueva tarea, solo basta con abrir la consola (con F1) y correr el comando > Tasks: Configure Task Runner. Esto nos permitirá seleccionar uno de los Task Runners disponibles. En nuestro caso seleccionamos MSBuild.

Esto nos creará, en la carpeta del proyecto, un nuevo directorio .vscode y un archivo tasks.json. La tarea debería quedar de la siguiente manera.

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    // Path to msbuild tool
    "command": "C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe",
    "args": [
        "${cwd}/ConsoleApplication/ConsoleApplication.sln",
        // Ask msbuild to generate full paths for file names.
        "/property:GenerateFullPaths=true"
    ],
    "taskSelector": "/t:",
    "showOutput": "silent",
    "tasks": [
        {
            // Name of the task
            "taskName": "build",
            // Show the output window only if unrecognized errors occur.
            "showOutput": "silent",
            // Use the standard MS compiler pattern to detect errors, warnings and infos
            "problemMatcher": "$msCompile"
        }
    ]
}

Ahora solo resta ejecutar la tarea. Para esto solo basta con correr el comando > Tasks: Run Task y elegir la tarea de build. También, de manera abreviada, podemos ejecutar > task build , donde “build” es el nombre de la tarea. En la vista de OUTPUT se mostrará la salida del proceso de compilación.

En la próxima entrega veremos cómo agregar Tasks para compilar y debugear nuestra aplicación. Hasta el próximo post!

Tags

Access top talent now!

Related

Get in Touch