Atajo para colapsar a definiciones excepto regiones
-
03-07-2019 - |
Pregunta
En vs2008, ¿cómo puedo (posiblemente con una macro) asignar una tecla de método abreviado para colapsar a las definiciones pero dejar las regiones expandidas (deben expandirse si están colapsadas)?
EDITAR: Odio las regiones, pero mis compañeros de trabajo no ((Por lo tanto, quiero que esto evite las regiones que usan).
Leí el post de jeff. Ctrl M + O es lo que realmente quiero hacer, si no hubiera regiones.
Solución
Creo que finalmente tengo la respuesta que he estado buscando, y creo que también podría ayudarte, @Serhat. Usted dijo:
Leí el post de jeff. Ctrl M + O es lo que realmente quiero hacer, si no hubiera regiones.
Eso era exactamente lo que estaba pensando para mí mismo. Continué esa línea de pensamiento y trabajé en una manera de (temporalmente) deshacerme de las #regiones.
Esta no es una solución completa, pero estoy tan contenta de tener algo que estoy a punto de saltar hacia arriba y hacia abajo. Intentaré hacer estas instrucciones lo más fácil posible, aunque me atrevería a decir que puede ser más fácil publicar el contenido real de las macros que he creado. (ver enlace en la parte inferior)
He creado dos macros:
- Comente todas las directivas #region y #endregion.
- Descomente todas las // # regiones y // # ocurrencias de la región final.
Crea la primera macro:
- Comienza a grabar una macro con
Ctrl + Shift + R
y sigue estos pasos: -
Ctrl + H
, Encuentre qué:#region
, Reemplazar con://#region
-
Alt + A
para Reemplazar todo -
Ctrl + H
, Encuentre qué:#endregion
, Reemplazar con://#endregion
-
Alt + A
para Reemplazar todo - Termine de grabar la macro con
Ctrl+Shift+R
- Abra el Explorador de macros con
Alt + F8
o Herramientas | Macros > Explorador de macros - Cambie el nombre de TemporaryMacro a CommentRegionDirectives
Luego, crea la segunda macro:
- Comienza a grabar una macro con
Ctrl + Shift + R
y sigue estos pasos: -
Ctrl + H
, Encuentre qué:// # region
, Reemplace con:#region
-
Alt + A
para Reemplazar todo -
Ctrl + H
, Encuentre qué:// # endregion
, Reemplace con:#endregion
-
Alt + A
para Reemplazar todo - Termine de grabar la macro con
Ctrl+Shift+R
- Abra el Explorador de macros con
Alt + F8
o Herramientas | Macros > Explorador de macros - Cambiar nombre (este nuevo) TemporaryMacro a UncommentRegionDirectives
Ahora, guarde sus macros en el Explorador de macros con Ctrl + S.
Finalmente, asigne teclas de acceso directo a las dos macros:
- Abrir herramientas | Opciones | Ambiente + Teclado
- En " Mostrar comandos que contienen: " escriba
Directives
. Esto debería mostrarte tus dos macros, llamadas "Macros.MyMacros.RecordingModule.CommentRegionDirectives" y " ... UncommentRegionDirectives " - Resalte la entrada CommentRegionDirectives y en las teclas de acceso directo " Presione: " tipo de caja
Alt + /
luego haga clic en el botónAsignar
- Resalte la entrada UncommentRegionDirectives y en las teclas de acceso directo de " Presione: " tipo de cuadro
Alt + Shift + /
luego haga clic en el botónAsignar
(de forma predeterminada, estas dos combinaciones de atajos no están asignadas a nada) - Haz clic en Aceptar para guardar tus asignaciones de acceso directo.
Ahora, cuando te encuentres con #regions contraído automáticamente, presiona Alt + /
para comentar las directivas #region, y presiona el Ctrl + M + O
. para Colapso a Definiciones (si así lo eliges). Luego, más tarde, antes de comprometer esa unidad con las #regiones comentadas, simplemente presione Alt + Shift + /
para descomentar las #regiones y se reactivarán.
Y finalmente, @Serhat, gracias de nuevo por tu comentario original que me puso en esta pista en primer lugar.
En la práctica, hay un pequeño problema con el que estoy dispuesto a vivir. // # region
seguido de # // endregion
cuenta como un comentario contiguo y los comentarios aún están contraídos, pero al menos no hay ningún código oculto allí.
Aquí está el texto de macro prometido que extraje del Explorador de macros: http://pastebin.ca/1688618 , aunque no debería ser necesario si sigue manualmente los pasos que describí anteriormente.
Otros consejos
Encuentro que Ctrl + M , Ctrl + O es realmente útil para contraer todo.
¿Ha leído publicación de blog de Jeff sobre regiones ? Hay algunos accesos directos más útiles que enumera.
¿Por qué quieres mantenerlos expandidos, realmente necesitas la región si no quieres que se derrumbe?