#Humor – Commit comments and how to love your colleagues …

Hi !

Greetings @ Burlington

El Bruno

Advertisements

#VS2015 – Publish in Visual Studio Gallery the installer for the Delete all comments in a file with #Roslyn sample extension #VSGallery

Hola!

Final post for the series

Delete all comments in a file with #Roslyn

Create a VSIX installer for the Delete all comments in a file with #Roslyn sample extension

Publish in Visual Studio Gallery the installer

In my last post I described how to create a VSIX package for our delete comments solution. In today post I’ll describe the steps to publish this installer in Visual Studio Gallery.

We need to login into Visual Studio Gallery, https://visualstudiogallery.msdn.microsoft.com/. I’ll use the same account I use in MSDN forums. Let’s start with the [UPLOAD] option

A 3 steps wizard will help us in this process. For this sample I’ll chose the TOOL type

Next step is to define the download type>

– An external Url

– Upload the VSIX file

I’ll choose the 2nd option and I’ll find the next exception:

You can only upload template VSIX files for the Visual Studio Express SKUs.

This error is raised because the default VSIX project template includes a couple of install targets which are not valid for Visual Studio Gallery.

So we leave only VSPro as Install Target.

We need to rebuild and upload again the VSIX file. If we found some build errors, maybe we need to upgrade the version number of our VSIX package.

And we get to the Step 3 of the Publish process. In this step we need to complete the information related to the product, like the source code repository Url of the cost category.

And that’s it! Our extension is available to download from https://visualstudiogallery.msdn.microsoft.com/fe657c84-2077-4092-8063-2cc9587ad0d1

The source code is available in GitHub https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments%20V02

Saludos @ Madrid

/El Bruno

References

– Delete all comments in a file with #Roslyn https://elbruno.com/2015/08/17/vs2015-delete-all-comments-in-a-file-with-roslyn/

– Create a #Vsix installer for the Delete all comments in a file with #Roslyn sample extension https://elbruno.com/2015/08/29/vs2015-create-a-vsix-installer-for-the-delete-all-comments-in-a-file-with-roslyn-sample-extension/

– MSDN VSIX Manifest Designer https://msdn.microsoft.com/en-us/library/ee943167.aspx

– MSDN Shipping Visual Studio Extensions https://msdn.microsoft.com/en-us/library/ff363239.aspx

– MSDN Walkthrough: Publishing a Visual Studio Extension https://msdn.microsoft.com/en-us/library/ff728613.aspx

– Creative Commons CC BY http://creativecommons.org/examples#by

– SyncFusion Metro Studio 3 http://www.syncfusion.com/downloads/metrostudio

#VS2015 – Publicar la extensión que borra todos los comentarios utilizando #Roslyn en Visual Studio Gallery #VSGallery

Hola!

Post final para la serie:

Borrar todos los comentarios en un Click con #Roslyn

Crear un instalador para la extensión que borra todos los comentarios utilizando Roslyn

Publicar el paquete en Visual Studio Gallery

En el post anterior vimos cómo crear un instalador VSIX para nuestra solución para eliminar comentarios. Hoy veremos cómo publicar el mismo en Visual Studio Gallery.

En primer lugar debemos acceder a la home de Visual Studio Gallery, https://visualstudiogallery.msdn.microsoft.com/. Necesitamos estar autenticados, en mi caso utilizaré la misma cuenta que utilizo en los foros MSDN. A continuación debemos seleccionar la opción [UPLOAD]

En este momento veremos un asistente con un par de pasos para identificar nuestra extensión. En el caso de este ejemplo, definimos el tipo como TOOL

El siguiente paso es definir si queremos poner un link hacia una página de descarga o subir el paquete VSIX nosotros mismos. Vamos con la 2da opción, y nos encontramos con este hermoso error:

You can only upload template VSIX files for the Visual Studio Express SKUs.

La plantilla por defecto de proyectos VSIX incluye varios targets que no son válidos para Visual Studio Gallery.

Eliminamos los targets de tipo Express y dejamos solo el target para VSPro.

Ahora es momento de recompilar y subir nuevamente nuestro archivo VSIX. En el caso de tener errores de compilación, tal vez sea necesario incrementar el número de versión del VSIX. Y ya podemos completar el último paso para publicar nuestras extensión. En este paso completaremos o modificaremos los valores propios de la extensión para la Visual Studio Gallery. Por ejemplo, en este punto podemos poner la Url con el repositorio de código fuente o definir el precio de nuestra extensión.

Y listo! Nuestra extensión está disponible para descargar desde https://visualstudiogallery.msdn.microsoft.com/fe657c84-2077-4092-8063-2cc9587ad0d1

El código del ejemplo se puede descargar desde GitHub en https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments%20V02

Saludos @ Madrid

/El Bruno

References

– Borrar todos los comentarios en un Click con #Roslyn https://elbruno.com/2015/08/17/vs2015-borrar-todos-los-comentarios-en-un-click-con-roslyn/

– Crear un instalador para la extensión que borra todos los comentarios utilizando #Roslyn https://elbruno.com/2015/08/29/vs2015-crear-un-instalador-para-la-extension-que-borra-todos-los-comentarios-utilizando-roslyn/

– MSDN VSIX Manifest Designer https://msdn.microsoft.com/en-us/library/ee943167.aspx

– MSDN Shipping Visual Studio Extensions https://msdn.microsoft.com/en-us/library/ff363239.aspx

– MSDN Walkthrough: Publishing a Visual Studio Extension https://msdn.microsoft.com/en-us/library/ff728613.aspx

– Creative Commons CC BY http://creativecommons.org/examples#by

– SyncFusion Metro Studio 3 http://www.syncfusion.com/downloads/metrostudio

#VS2015 – Create a #Vsix installer for the Delete all comments in a file with #Roslyn sample extension

Hola!

Some people asked about how hard is to create an Installer for the simple in the post “#VS2015 – Delete all comments in a file with #Roslyn”. Is very easy, so I´ll write a couple of posts with the answer to the question and also later, on how to publish this one to the Visual Studio Gallery.

Let’s start from last post, we go back to the source code and we found 2 projects:

ElBruno.RemoveComments, Roslyn source code to delete all comments

ElBruno.RemoveComments.Vsix, this project is our main one, is the one in charge to create the VSIX package

We need to edit the manifest to define the properties of our extension. The main fields I’ll complete are these ones:

Product Name, Product Id, Author, Version, Description, Language, Preview Image: easy very easy

License: I’ve created one in Creative Commons official page. I copied the generated license in a text file and added into the solution.

Icon: thanks SyncFusion Metro Studio 3 !!!

Getting Started Guide, More Info URL: Easy again, a couple of links to my blog

Important: If you need more information about these fields, please go to MSDN [VSIX Manifest Designer] in the references section.

Let-s go to generate our VSIX package, let´s build the Project in RELEASE mode, and we can get the installer in the output folder

When we run the Vsix Installer, we’ll see the information defined in previous steps.

And a couple of seconds later, we get this extension up and running in our IDE !!!

I’ll describe the steps on how to publish to Visual Studio Gallery, in a future post

As always, source code available in GitHub https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments%20V02

Saludos @ Madrid

/El Bruno

References

– Delete all comments in a file with #Roslyn https://elbruno.com/2015/08/17/vs2015-delete-all-comments-in-a-file-with-roslyn/

– MSDN VSIX Manifest Designer https://msdn.microsoft.com/en-us/library/ee943167.aspx

– Creative Commons CC BY http://creativecommons.org/examples#by

– SyncFusion Metro Studio 3 http://www.syncfusion.com/downloads/metrostudio

#VS2015 – Crear un instalador para la extensión que borra todos los comentarios utilizando #Roslyn

Hola!

Como algunas personas me preguntaron qué tan complicado era crear un paquete de instalación para el ejemplo “#VS2015 – Borrar todos los comentarios en un Click con #Roslyn”, hoy mostraré los pasos a seguir para crear el paquete de instalación y publicar el mismo en Visual Studio Gallery.

Comenzamos desde el punto anterior, donde podíamos ver que la solución contiene 2 proyectos:

ElBruno.RemoveComments, con el código específico de para eliminar los comentarios

ElBruno.RemoveComments.Vsix, este proyecto es el que se encarga de crear el paquete de instalación VSIX

En el proyecto de VSIX editaremos el manifiesto para completar la información del mismo . Los campos principales que completaremos son los siguientes:

Product Name, Product Id, Author, Version, Description, Language, Preview Image: son auto descriptivos

License: he generado una de tipo Creative Commons en la página oficial. Luego he creado un archivo de texto con la misma, y la he agregado a la solución.

Icon: generado con SyncFusion Metro Studio 3

Getting Started Guide, More Info URL: estas son fáciles, las he tomado de los posts que he escrito en mi blog

Importante: Una descripción completa se puede encontrar en el link de MSDN [VSIX Manifest Designer] en la sección de referencias.

El siguiente paso es generar nuestro paquete de instalación, para esto compilamos el proyecto VSIX en RELEASE, y en la carpeta de compilación podremos encontrar el instalador

Si lanzamos el instalador, veremos los detalles que definimos en los pasos anteriores

Y en pocos segundos, ya tenemos el instalador como parte de nuestro IDE

En el próximo post de la serie mostraré como publicar el paquete en Visual Studio Gallery

El código del ejemplo se puede descargar desde GitHub en https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments%20V02

Saludos @ Madrid

/El Bruno

References

– Borrar todos los comentarios en un Click con #Roslyn https://elbruno.com/2015/08/17/vs2015-borrar-todos-los-comentarios-en-un-click-con-roslyn/

– MSDN VSIX Manifest Designer https://msdn.microsoft.com/en-us/library/ee943167.aspx

– Creative Commons CC BY http://creativecommons.org/examples#by

– SyncFusion Metro Studio 3 http://www.syncfusion.com/downloads/metrostudio

#VS2015 – This is the only way you´ll add comments in your code #EmojiVs #VSGallery

Hola!

Source Code seems to be one of the most popular topics in my blog, today is … different.

You have only one reason to add comments, and I mean ONLY ONE: GitHub’s EMOJIs in VS IDE.

Something like this …

Download you can get the VSGallery installer and also GitHub source code location.

Saludos @ Málaga

/El Bruno

References

– Visual Studio Gallery, EmojiVS https://visualstudiogallery.msdn.microsoft.com/88575465-8486-4c5a-8406-05e8d1d5b09d

– GitHub, EmojiVS https://github.com/jbevain/EmojiVS

– Borrar todos los comentarios en un clic con Roslyn https://elbruno.com/2015/08/17/vs2015-borrar-todos-los-comentarios-en-un-click-con-roslyn/

#VS2015 – El unico motivo por el que tu codigo tendra comentarios es este #EmojiVS #VSGallery

Hola!

Parece que los comentarios en Source Code es el tema de mis últimos posts, aunque este es bastante diferente.

La única excusa para agregar comentarios, repito LA UNICA excusa es poder usar los EMOJIs de GitHub en el mismo.

Algo tan simple y útil como esto

Debajo los links al instalador en VSGallery y al Source Code en GitHub.

Saludos @ Málaga

/El Bruno

References

– Visual Studio Gallery, EmojiVS https://visualstudiogallery.msdn.microsoft.com/88575465-8486-4c5a-8406-05e8d1d5b09d

– GitHub, EmojiVS https://github.com/jbevain/EmojiVS

– Borrar todos los comentarios en un clic con Roslyn https://elbruno.com/2015/08/17/vs2015-borrar-todos-los-comentarios-en-un-click-con-roslyn/

#VS2015 – Delete all comments in a file with #Roslyn

Hola!

Today is time for some Roslyn code, one more time to delete all the comments in a C# source code file. The step by step on how to create a project of Roslyn, is in the references section in [Roslyn – Creating an enter and initialize field refactoring]. For this sample, we will seek comments elements in a C# source code file. To do this, in the entry point [ComputeRefactorUsing], we’ll look for items with the type SyntaxTrivia. This will run from the current cursor position with the DescentantTrivia() function (line 18)

SyntaxTrivia type elements identify everything that is “not important for the compiler” like jumps of line, comments, etc. (yes, I know you must kill me after the previous statement) In this sample, we will validate that there are elements of the type comments to show the option in the IDE (line 24). Then we will call the command [Remove comments] and associate it with a RemoveAllComents() operation. In this operation, we will again get all elements of type SyntaxTrivia and process them at the level of the document root with the ReplaceTrivia() operation. In one of its overloads, this operation uses 2 parameters to process the replacement.

For this example, we will just replace the line if the Trivia is of the type SingleComment or MultipleComment (line 40). Replace this line by a jump of truck and we can give for closed operation.

In the following video we can see 2 animations, where the 1st one executes the code in the sample, and the 2nd shows a Preview of a replacement eliminated all elements of type SyntaxTrivia.

The sample code can be downloaded from GitHub at https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments

Saludos @ Madrid

/El Bruno

References

– Roslyn https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview#syntax-trivia

– Roslyn – Creating an introduce and initialize field refactoring http://trydis.github.io/2015/01/03/roslyn-code-refactoring/

– Roslyn SyntaxTrivia https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview#syntax-trivia

– Roslyn ReplaceTrivia()http://source.roslyn.io/#Microsoft.CodeAnalysis.CSharp/CSharpExtensions.cs,b3247464908d9e7a

– Roslyn SyntaxFactory http://source.roslyn.io/#Microsoft.CodeAnalysis.CSharp/Syntax/SyntaxFactory.cs

#VS2015 – Borrar todos los comentarios en un Click con #Roslyn

Hola!

Hoy toca ver un poco de Roslyn para eliminar los comentarios de un archivo. El paso a paso sobre cómo crear un proyecto de Roslyn, está en la sección referencias [Roslyn – Creating an introduce and initialize field refactoring]. Para este ejemplo, lo que buscaremos serán elementos del tipo comentarios en C#, así que en el punto de entrada [ComputeRefactorUsing], buscaremos elementos del tipo SyntaxTrivia, a partir de la posición del cursor con la función DescentantTrivia() (línea 18)

Los elementos de tipo SyntaxTrivia identifican todo aquello que no es importante para el compilador, como saltos de línea, comentarios, etc. En este ejemplo, validaremos que existan elementos del tipo comentarios para mostrar la acción disponible (línea 24). A continuación creamos el comando [Remove comments] y lo asociamos a una operación RemoveAllComents(). Dentro de esta operación, obtendremos nuevamente todos los elementos de tipo SyntaxTrivia y procesaremos los mismos a nivel del documento root con la operación ReplaceTrivia(). En una de sus sobrecargas, esta operación utiliza 2 parámetros para procesar el reemplazo. Para este ejemplo, solo reemplazaremos la línea si el Trivia es del tipo SingleComment o MultipleComment (línea 40). Reemplazamos esta línea por un salto de carro y podemos dar por cerrada la operación.

En el siguiente video podemos ver 2 animaciones, donde la 1ra ejecuta el código del ejemplo, y en la 2da se muestra un Preview de un reemplazo eliminado todos los elementos de tipo SyntaxTrivia.

El código del ejemplo se puede descargar desde GitHub en https://github.com/elbruno/Blog/tree/master/ElBruno.RemoveComments

Saludos @ Madrid

/El Bruno

References

– Roslyn https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview#syntax-trivia

– Roslyn – Creating an introduce and initialize field refactoring http://trydis.github.io/2015/01/03/roslyn-code-refactoring/

– Roslyn SyntaxTrivia https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview#syntax-trivia

– Roslyn ReplaceTrivia()http://source.roslyn.io/#Microsoft.CodeAnalysis.CSharp/CSharpExtensions.cs,b3247464908d9e7a

– Roslyn SyntaxFactory http://source.roslyn.io/#Microsoft.CodeAnalysis.CSharp/Syntax/SyntaxFactory.cs