Visual Studio nos ofrece toda una serie de herramientas para aumentar su extensibilidad, tenemos a nuestras disposición la posibilidad de añadir nuevas funcionalidades o actualizar las ya existentes.

Entonces, ¿Qué podemos mejorar de Visual Studio?

  • Las entradas del menú y sus comandos
  • Las ventanas de herramientas
  • La personalización del editor
  • Los proyectos disponibles y sus posibilidades
  • Los ajustes del usuario
  • La ventana de propiedades
  • Y prácticamente cualquier elemento que deseemos

La combinación de éstos puede dar lugar a extensiones de todo tipo, ya sean de productividad (como ReSharper o Visual Assist), de soporte para otros lenguajes de programación (como PHP Tools for Visual Studio o Java Language Support) o de personalización de la interfaz del entorno de desarrollo (como VSColorOutput o Visual Studio 2015 Color Theme Editor). Todas estas extensiones nacen de una necesidad real sobre Visual Studio, ese es el primer criterio que necesitamos para empezar a construir nuestra extensión.

Pero no todo es pensar que tipo de extension queremos crear, tambien hay que tener en cuenta la forma en que vamos a hacerlo.

A la hora de subir nuestra extensión a la galería de Visual Studio debemos aportar una serie de información relativa a la misma. Algunos de estos datos de extraen directamente del archivo source.extension.vsixmanifest de nuestra extensión y otros los tendremos que rellenar en el formulario de publicación de la extensión.

Este fichero lo encontramos en la raíz del proyecto normalmente. Requiere de una serie de datos (tambien llamados Metadata), algunos de ellos son obligatorios y otros opcionales, lo recomendable es rellenarlos todos, así nuestro manifiesto será lo mas completo posible.

  • Product Name: Este campo (obligatorio) viene relleno por defecto y sería el nombre amigable de la extensión que aparecerá en la galería (con amigable quiere decir el poner Nombre de mi extension, en lugar de NombreDeMiExtension o Nombre_De_Mi_Extension) , podremos cambiar su contenido en cualquier momento y estamos limitados a 100 caracteres.
  • Author: Este campo también es obligatorio, y es muy importante que si poseemos mas de una extensión, coincida en todas debido a que se estarían agrupando de forma incorrecta.
  • Product ID: Lo recomendable es dejar por defecto el contenido de este campo, ya que debe ser único.
  • Version: Aquí colocaremos la versión de nuestra extensión, el formato puede ser desde el básico 1.0 hasta el 0.4.5.234.94.23, lo único que tenemos tener en cuenta es que cada vez que hagamos una actualización de la extensión, deberemos colocar un número superior al que ya había, así la tienda de Visual Studio detecta que hay una versión nueva del producto y lo notifica o descarga (según la configuración del usuario) en el Visual Studio local.
  • Description: Dispondremos de 1000 caracteres para explicar que hace nuestra extensión y que problema o necesidad satisface.
  • Languaje: Por defecto selecciona el idioma Inglés, en caso de haber desarrollado la extensión en otro idioma, deberemos cambiarlo aquí para que la tienda lo detecte correctamente y pueda avisar a los usuarios que la aplicación está en este determinado idioma. Lo recomendable es desarrollar la aplicación como mínimo en Inglés, debido a que, de no ser así, nuestra extensión perdería muchos usuarios potenciales.
  • License: Tendremos la posibilidad de añadir licencia a nuestra extensión, deberá ser en formato .txt o .rtf y con URL relativa al proyecto
  • Icon: Por defecto pone un icono genérico, en caso de querer añadir uno propio, lo óptimo seria que fuese de 50 x 50 píxeles para que se vea bien tanto en el Visual Studio, como en la galería online. La URL también es relativa al proyecto.
  • Preview Image: Exactamente igual que con el icono, salvo que aquí la imagen debería ser un poco mas grande (200 x 200 píxeles). Podremos poner el mismo icono, o una captura de pantalla de nuestra extensión.
  • Tags: También opcional, pondremos las palabras claves separadas por comas.
  • Release Notes: Fichero en el que colocaremos aquellos cambios de la nueva versión en relación a la actual. Opcional.
  • Getting Started Guide: Fichero opcional que servirá al usuario de guía para empezar a utilizar nuestra extensión, muy recomendable realizar algún tipo de tutorial sobre como poder utilizarla.
  • More Info URL: Aquí colocaremos la URL hacia nuestra entrada en la galería de Visual Studio, o al repositorio de Git (en caso de que lo hubiera). También opcional.

Una vez subimos la extensión a la galería, se nos ofrece la posibilidad de rellenar mas campos, algunos de ellos son la categoría en la cual queremos encasillar nuestra extensión (nos permite escoger un máximo de tres), la categoría de costo, es decir, si queremos que la extensión sea gratuita, de prueba o de pago. También nos proporciona un WYSIWYG en el cual poder añadir todos los detalles que deseemos (como mínimo requiere de 200 caracteres), lo recomendable es ilustrar los detalles con capturas de pantalla y colocar un pequeño changelog para que los usuarios estén al tanto del progreso de nuestra extensión.

Estos serian algunos detalles y consejos sobre la creación de nuestras primeras extensiones en Visual Studio.

 

Francisco López Sánchez

Alumno de Microsoft MCSD Web Applications + SharePoint Apps 2015-2016

Coordinador del Tech Club Tajamar