remarks example cref c# .net visual-studio-addins region

example - remarks c#



eliminando#region (7)

Tuve que tomar el control del proyecto de CA #. El tipo que desarrolló el software en primer lugar estaba profundamente enamorado de #region porque envolvió todo con regiones. Me pone casi loco y estaba buscando una herramienta o un complemento para eliminar toda la #region del proyecto. ¿Hay algo alrededor?


En Buscar y reemplazar use {[#]<region[^]*} para Find what: y reemplácela por cadena vacía. #EndRegion es lo suficientemente simple como para reemplazar.


Para cualquiera que use ReSharper es solo un simple Atr-Enter en la línea de la región. A continuación, tendrá la opción de eliminar regiones en el archivo, en el proyecto o en la solución.

Más información sobre JetBrains .


Para eliminar #region con una nueva línea después de ella, reemplace lo siguiente con una cadena vacía:

^(?([^/r/n])/s)*/#region/ ([^/r/n])*/r?/n(?([^/r/n])/s)*/r?/n

Para reemplazar #endregion con una línea vacía principal, reemplace lo siguiente con una cadena vacía:

^(?([^/r/n])/s)*/r?/n(?([^/r/n])/s)*/#endregion([^/r/n])*/r?/n


Puede usar el comodín buscar / reemplazar:

*/#region * */#endregion

Y reemplazar sin ningún valor. (Tenga en cuenta que # debe escaparse, ya que el visual stuido lo usa para hacer coincidir "cualquier número")


Si tiene que cooperar con los amantes de la región (y mantener las regiones intactas), entonces recomendaría la extensión de Visual Studio "Odio #Regiones" . Hace las regiones tolerables: todas las regiones se expanden de manera predeterminada y las directivas #region se representan con una fuente muy pequeña.


Simplemente utilice Visualizar incorporado "Buscar y reemplazar" (o "Reemplazar en archivos", que puede abrir presionando Ctrl + Shift + H ).

Para eliminar #region , deberá habilitar la coincidencia de Expresión regular; en el cuadro de diálogo "Reemplazar en archivos", marca "Usar: expresiones regulares". Luego, use el siguiente patrón: " /#region .*/n ", reemplazando las coincidencias con "" (la cadena vacía).

Para eliminar #endregion , haz lo mismo, pero usa " /#endregion .*/n " como tu patrón. Las expresiones regulares pueden ser excesivas para #endregion , pero no #endregion (en caso de que el desarrollador anterior haya dejado comentarios en la misma línea que una #endregion o algo así).

Nota: Otros han publicado patrones que también deberían funcionar para usted, son ligeramente diferentes a los míos, pero usted tiene una idea general.


Utilice una expresión regular ^[ /t]*/#[ /t]*(region|endregion).*/n para buscar tanto: region como endregion. Después de reemplazar por una cadena vacía, se eliminará toda la línea con espacios iniciales.

[ /t]* - encuentra espacios principales

/#[ /t]*(region|endregion) - encuentra #region o #endregion (y también muy raro caso de espacios después de #)

.*/n - encuentra todo después de #region o #endregion (pero en la misma línea)

EDITAR: La respuesta ha cambiado para que sea compatible con la antigua sintaxis de expresiones regulares de Visual Studio. Was: ^[ /t]*/#(end)?region.*/n (los signos de interrogación no funcionan para la sintaxis antigua)

EDIT 2: Se agregó [ /t]* después de # para manejar un caso muy raro encontrado por @Volkirith