snippet - Ordene el texto seleccionado del menú contextual de Visual Studio
visual studio marketplace (5)
Actualmente, VS tiene una característica muy útil: ordenar los usos (C #).
Quiero la misma funcionalidad para cualquier texto aleatorio, por ejemplo, nodos XML en archivos de configuración.
¿Qué tan complejo es implementar eso? VS addin, ¿verdad? ¿Es posible llamar a algunos VS API que se utiliza para clasificar los usos?
Acabo de encontrar un buen complemento gratuito: Menees VS Tools 2012 (o ver 2010 ) hace exactamente eso y algunos trucos de texto más. Hubo algunas cuestiones negativas menores cuando lo instalé, pero después de dejar un comentario en la página de revisión se solucionó en cuestión de días. Waay para ir! =)
Ahora hay una versión 2017: Menees VS Tools 2017
Personalmente estoy usando la extensión de Web Essentials de Mads Kristensen. Simplemente selecciona las líneas que deseas ordenar y Alt + 3 o Alt + 4 (asc / desc).
Puede copiar el código en Sublime Text, seleccionar la sección de código y presionar F9 (o vaya a Edición> Ordenar líneas). Luego puede copiarlo nuevamente en Visual Studio.
Un buen AddOn para Visual Studio es Code Maid
Selecciona algunas líneas y elige desde Menú contextual "Ordenar líneas"
Y voilá, tus líneas están ordenadas en orden alfabético:
Editar: Tenga en cuenta que esta solución no funciona en VS2013 o superior, ya que se eliminó el soporte para macros.
No necesita necesariamente codificar un complemento VS para hacer esto: Visual Studio tiene macros incorporadas. Para comenzar, use Herramientas, Macros, Grabar macro temporal.
Este es un comando de ''Ordenar líneas'' que pirateé juntos en función del código que Record Temporary Macro me dio:
Imports System
Imports EnvDTE
Public Module TimModule
Sub SortLines()
Dim Selection As TextSelection = DTE.ActiveDocument.Selection
Dim Lines() As String = Selection.Text.Replace(Environment.NewLine, Chr(13)).Split(Chr(13))
Array.Sort(Lines)
DTE.UndoContext.Open("Sort Lines")
'' Edit - see comments
'' Selection.Text = String.Join(Environment.NewLine, Lines)
Selection.Delete
Selection.Insert(String.Join(Environment.NewLine, Lines))
DTE.UndoContext.Close()
End Sub
End Module