visual studio practice example define debug best c# visual-studio-2008 regions

c# - studio - region visual basic



Ocultar las regiones en Visual Studio (7)

Creo que es gracioso quien odie a las regiones. Amo a Regions tanto que escribí un programa llamado Regionizer, que es un proyecto de código abierto ubicado en http://regionizer.codeplex.com

He tenido jefes y algunos miembros del equipo que los odian, pero mi herramienta organiza todo el código alfabéticamente, por lo que los métodos se ordenan alfabéticamente en la Región de Métodos, las Propiedades se ordenan en la Región de Propiedades y los Eventos se ordenan en la Región de Eventos.

Trate de encontrar el código sin esta herramienta (o Regiones) es lo que llamo el código Spaghetti).

He estado buscando una manera fácil de contraer y expandir todas las regiones y MS me ha dicho que las regiones son parte del archivo .suo (el mismo nombre que el proyecto o la solución) y no hay una manera fácil de obtener un identificador En las regiones se objetan a sí mismos.

He buscado en todo el DTE y no he encontrado una forma de contraer todas o Expandir todas las regiones. Voy a probar el código de Macro y ver si funciona.

Publicaremos una actualización en breve.

Sé que los problemas de plegado de código de VS son una castaña antigua, pero no he podido encontrar esto en todas las otras discusiones que he examinado:

Tenemos un equipo de chicos de C #, algunas regiones de amor y otras que los odiamos y parece que no tenemos mucho en qué trabajar.

¿Hay algún complemento o complemento para VS que simplemente "oculte" las regiones? Para que aquellos que los quieren los vean como normales, pero las personas que instalan el complemento y ven un archivo .cs, las regiones simplemente no están allí, como si no existieran.

Puedo ver que esto puede ser un problema cuando se mueve el código que puede causar problemas de ciertos métodos dentro o fuera de la región equivocada, pero eso podría ser una compensación con la que el equipo está contento con ...


Esto es algo ... sórdido, y puede tener efectos secundarios, pero:

Herramientas -> Opciones -> Entorno -> Fuentes y colores -> Palabra clave del preprocesador Cambie los colores de primer plano y fondo a blanco (o cualquiera que sea su fondo predeterminado).

Aunque no verá otras palabras clave del preprocesador.


Hay teclas de acceso directo para tratar con ellos:

Ctrl+M, Ctrl+M Collapse or expand the block you''re currently in. Ctrl+M, Ctrl+O Collapse all blocks in the file Ctrl+M, Ctrl+L Expand all blocks in the file Ctrl+M, Ctrl+P Stop outlining mode. (Ctrl+M, Ctrl+O resumes)

Ver el problema con el plegado de código


No sé de ningún plugin así, honestamente. Sin embargo, con VSTO , es muy fácil escribir uno tú mismo.


Odio las regiones (a mi equipo les encantan) y me sorprendió descubrir que nadie ha escrito una extensión para mejorarlas. Finalmente escribí uno mismo llamado Odio #Regiones :

Haz que #regiones chupen menos (gratis):

http://visualstudiogallery.msdn.microsoft.com/0ca60d35-1e02-43b7-bf59-ac7deb9afbca

  • Expansión automática de regiones cuando se abre un archivo
  • Opcionalmente, evita que las regiones se colapsen (pero aún así puedas contraer otro código)
  • Dé a las líneas de región #region / #end un fondo más pequeño y claro para que sean menos perceptibles (también una opción)
  • Trabaja en C # y VB

Para los usuarios de VS 2008, puede dejar de describirlo y reiniciarlo programáticamente (a través de una macro). Encontré este código en http://weblogs.asp.net/rweigelt/archive/2003/07/06/9741.aspx

Imports EnvDTE '' Expands all regions in the current document Sub ExpandAllRegions() DTE.ExecuteCommand("Edit.StopOutlining") DTE.ExecuteCommand("Edit.StartAutomaticOutlining") End Sub

Lo anterior funciona para C # IDE; por alguna razón, el IDE de VB no elimina los contornos con las regiones cuando se lo indica explícitamente. ¡Espero que esto ayude!

- Edición anexa:

Aquí hay uno que sí funciona para Visual Basic .NET en Visual Studio 2008. Es un poco de fuerza bruta, pero la idea es comentar todos los marcadores #region, expandiendo el esquema. El siguiente paso los deja sin comentarios, devolviéndolos a su estado original (no es estrictamente cierto ... podría tener usos deshonestos de #region en otras partes del código). Este código tampoco devuelve el cuadro de diálogo Buscar y reemplazar a su estado original. Con esas advertencias, este es el módulo de macros que realizará esta tarea:

Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports System.Diagnostics Public Module MacroMod01 Sub ExpandAllRegions() '' comment out all #region occurances DTE.ExecuteCommand("Edit.Replace") DTE.Find.Action = vsFindAction.vsFindActionReplaceAll DTE.Find.FindWhat = "#region" DTE.Find.ReplaceWith = "''#region" DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument DTE.Find.MatchCase = False DTE.Find.MatchWholeWord = False DTE.Find.MatchInHiddenText = True DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxLiteral DTE.Find.ResultsLocation = vsFindResultsLocation.vsFindResultsNone DTE.Find.Action = vsFindAction.vsFindActionReplaceAll DTE.Find.Execute() '' uncomment all #region occurances DTE.ExecuteCommand("Edit.Replace") DTE.Find.Action = vsFindAction.vsFindActionReplaceAll DTE.Find.FindWhat = "''#region" DTE.Find.ReplaceWith = "#region" DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument DTE.Find.MatchCase = False DTE.Find.MatchWholeWord = False DTE.Find.MatchInHiddenText = True DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxLiteral DTE.Find.ResultsLocation = vsFindResultsLocation.vsFindResultsNone DTE.Find.Action = vsFindAction.vsFindActionReplaceAll DTE.Find.Execute() ''close the find ''n replace dialog DTE.Windows.Item("{CF2DDC32-8CAD-11D2-9302-005345000000}").Close() End Sub End Module

Puede haber algunos otros métodos para lograr esto para VB en VS2008. Voy a publicar como los encuentro.


Personalmente, escribo una macro VS (Herramientas> Macro) para expandir todas las regiones en el archivo abierto.