Visual Studio vs Visual Studio Code, 1er. round

Visual Studio Code es un editor de cógido multiplataforma que admite plugins para extender su funcionalidad. Visual Studio, en cambio, es un completo entorno de desarrollo integrado (IDE) para plataforma .Net. Veamos quién puede ganar la pelea de Visual Studio vs Visual Studio Code.

Microsoft lanzó recientemente Visual Studio Code con la intención de dar a los desarrolladores un editor de código gratuito, de fuente abierta (Open Source), multiplataforma y extensible. Dicho lanzamiento generó cierta confusión entre los desarolladores, que no captaron con claridad la utilidad de la nueva herramienta, que — para complicar las cosas — tiene muchas semejanzas en su interfaz de usuario con su «hermano mayor» Visual Studio.

Visual Studio vs Visual Studio Code
El entorno de trabajo de Visual Studio Code

La historia de Visual Studio

A lo largo de su historia, Visual Studio fue evolucionando como una familia de productos de desarrollo de software. Cada integrante de la familia tuvo una funcionalidad determinada y un ciclo de vida propio.

Un ancestro: Visual Studio 2008

En términos de alcance, pueden distinguirse las siguientes versiones:

  • Visual Studio: la versión completa, un IDE multilenguaje.
  • Visual Studio Express: versión gratuita, con funcionalidad simplificada y limitada a un único lenguaje. Discontinuada en el año 2017.
  • Visual Studio Community Edition: versión gratuita, reemplaza a la versión Express desde el año 2015.
  • Visual Studio Code (VS Code, para resumir): un editor de código open source y multiplataforma, que corre en Windows, MacOS y Linux.

Visual Studio vs Visual Studio Code

¿Cuándo usar cada uno? ¿En qué situaciones es más conveniente Visual Studio y en qué situaciones es más conveniente Visual Studio Code? En términos generales, para trabajar en una máquina Windows que cumple — con margen de sobra, preferiblemente — todos los requerimientos de memoria, procesador, disco, etc. de la versión completa de Visual Studio, lo más conveniente es instalar Visual Studio. Debido a que es un IDE con muchas prestaciones y es un software «pesado», es que conviene usarlo en máquinas Windows que excedan los requerimientos mínimos del software.

Pero para trabajar escribiendo código de programación en un equipo que no reúne las condiciones necesarias para instalar la versión completa de Visual Studio, ya sea por que usa un sistema operativo distinto de Windows, o por que no cumple los requisitos de hardware y sistema operativo, es conveniente instalar Visual Studio Code.

¿Qué tiene Visual Studio que no tiene VS Code? (y viceversa)

Visual Studio ofrece:

  • Herramientas de debugging, compilación y deployment
  • Integración con bases de datos
  • Control de código y trabajo en equipo
  • IntelliSense para cualquiera de los lenguajes admitidos por el IDE

Visual Studio Code ofrece:

  • Visualizar, editar, ejecutar y debuggear archivos individuales de código fuente para aplicaciones
  • Trabajar con archivos individuales — no así con proyectos
  • Funcionar indistintamente en Windows, Linux y MacOS
  • IntelliSense para lenguajes de Microsoft

Dicho esto, cabe destacar que las limitaciones de Visual Studio Code son relativas. Por ejemplo, no tiene integración con Team Foundation Server, pero sí admite comandos Git. No ofrece herramientas de deploy como sí tiene el IDE de Visual Studio, pero sí puede usarse con la nube de Microsoft Azure para hacer un deploy de sitios creados con React, Angular, Vue, Node, Python, etc.

Por último, las extensiones pueden incorporar al entorno de Visual Studio Code nuevos lenguajes, temas, debuggers y servicios adicionales. Todas estas extensiones corren en procesos separados, por lo que no afectan la agilidad y velocidad del editor.

Control de código fuente

Visual Studio Code posee control Git integrado, lo que garantiza integridad de datos y soporte para flujos de trabajo distribuidos y no lineales. Sin embargo, la integración de Git en VS Code sólo ofrece los comandos básicos, como hacer tracking, poner cambios en staging o confirmarlos (commit). No hay revisión de historia, visualización, rebase o cherry-picking (tomar la confirmación de un branch para ubicarlo en otro). Estas peculiaridades de Git requieren de la consola Git o de un cliente Git externo.

El entorno de desarrollo de Visual Studio admite la integración de complementos de control de código fuente o la instalación de VSPackages específicos para control de código fuente. Existen paquetes para prácticamente todas las herramientas de control de código fuente conocidas: Team Foundation Server (la herramienta de desarrollo en equipo de Microsoft), Visual Source Safe (una opción antigua que conviene dejar en el olvido), SVN (Subversion), CVS (Concurrent Versions System) y, obviamente, Git.

En Visual Studio 2019, la experiencia Git presenta varias facilidades, como inicializar repositorios Git locales y empujarlos directamente a servicios de hosting remoto o a GitHub o Azure Repos. También se pueden clonar repositorios, y crear nuevos branches o administrar los existentes, demás de resolver conflictos de merge. Todo esto sin necesidad de salir del IDE.

Una ventana de cambios Git permite hacer un seguimiento de los cambios en el repositorio a medida que se trabaja en el código. Los archivos en el repo se agrupan en tres categorías: archivos sin modificar, archivos modificados y archivos en staging.

Autocompletar (code completion)

El editor de VS Code soporta funcionalidad básica de autocompletar basada en palabras para cualquier lenguaje de programación, pero también puede configurarse para ofrecer IntelliSense mediante la instalación de extensiones específicas del lenguaje a utilizar. La funcionalidad completa de IntelliSense aumenta el consumo de memoria de VS Code, lo que lo hace perder una de sus virtudes; la de ser un software «liviano». Pero para trabajar con JavaScript , TypeScript, JSON, HTML, CSS o SCSS, VS Code ofrece soporte nativo de IntelliSense.

Visual Studio, por su parte, ofrece la funcionalidad completa de IntelliSense para todos los lenguajes que incluye el IDE.

Depuración (debugging)

VS Code incorpora soporte de depuración para el runtime Node.js, siendo capaz de hacer debugging para JavaScript, TypeScript o cualquier otro lenguaje que pueda traducirse a JavaScript. Para depuración de código en otros lenguajes, como PHP, Ruby, Go, C#, Python, C++, entre otros, es posible instalar extensiones de debugging específicas. Estas pueden descargarse del Marketplace de VS Code o pueden instalarse en Visual Studio Code por medio de la opción Instalar Depuradores Adicionales del menú Ejecutar.

Visual Studio, en cambio, ofrece funcionalidad de depuración nativa para todos los lenguajes incluidos en el entorno de desarrollo.

Terminal integrada

VS Code ofrece una terminal integrada, la cual inicialmente se posiciona en el root del espacio de trabajo del usuario. Esta herramiente resulta conveniente para ejecutar tareas rápidas de línea de comando sin necesidad de cambiar de ventana o alterar el estado actual de una terminal abierta previamente.

Es posible incluso abrir múltiples ventanas de terminal en Visual Studio Code, o incluso trabajar sobre una ventana de terminal dividida. En entornos Windows, un selector de shells permite elegir entre distintos shells detectados. Las opciones incluyen al intérprete de comandos de Windows, PowerShell, PowerShell Core, Git Bash y WSL Bash.

Visual Studio también ofrece una terminal, y a partir de la versión 2019 v16.8, permite abrir una nueva terminal sobre una ubicación basada en el elemento seleccionado dentro del Explorador de soluciones. También ofrece comandos personalizables para copiar y pegar.

Un comando en el menú contextual permite abrir la terminal en una ruta específica. Para usar esta característica, simplemente se debe seleccionar el ítem — una solución, un proyecto o una carpeta — hacia donde se desea navegar, abrir el menú contextual del mismo y seleccionar la opción «Abrir en Terminal».

Las instancias de Terminal incluyen una barra de botones que incluyen opciones para cortar y pegar, y atajos para un fácil acceso a la configuración de la terminal.

¿Contra quienes compite Visual Studio Code?

Siendo un editor de texto, aunque tal vez «con esteroides», además de participar en la contienda Visual Studio vs Visual Studio Code, este último compite con otros editores de texto utilizados habitualmente por programadores. Por mencionar algunos: Sublime Text, Vim, Atom, Brackets, CodePen, SlickEdit, etc. Aquí compartimos el link de descarga de Visual Studio Code.

En resumidas cuentas, cabe decir que Visual Studio, si bien es un IDE poderoso, es autocontenido y es un software pesado «a la antigua», que requiere muchos recursos locales para trabajar con comodidad. En cambio, Visual Studio Code es una herramienta más a tono con el mundo moderno de código abierto y recursos esparcidos (pero conectados) por la nube. Y un detalle importante: al ser un software de código abierto, VS Code tiene una frecuencia de actualización más rápida que Visual Studio. Hay nuevas versiones de la herramienta prácticamente todos los meses, y para los «insiders», las nuevas versiones aparecen casi a diario.

Otros temas para que sigas leyendo

Entérate cuáles son los 7 mejores IDEs para Python.

¿Necesitas reparar un sitio Joomla que fue víctima de hacking? Lee esta guía para reparar sitios Joomla hackeados.

Si eres programador, prepárate a celebrar tu día, ya que el 12 de septiembre fue el día del programador.