studio - listas en c#
¿Cómo puedo hacer que todas las clases identificables ID coloreadas de forma diferente en el IDE de Visual Studio? (7)
El título lo cubre todo. Me gustaría que las clases que implementan IDisposable aparezcan en un color específico para que pueda saber si debo envolverlas en un bloque de uso. ¿Hay una configuración o un proceso mediante el cual puede extender el IDE?
La palabra en la calle es que este tipo de cosas será mucho más fácil en VS.NET 2010 . El editor está siendo reescrito en WPF.
No estoy seguro, si FXCop o StyleCop pueden hacer esto ya. Pero entonces, será una sugerencia / advertencia posterior a la compilación.
Resharper sugiere esto, supongo.
No puedes. Esto requeriría soporte de servicio de idioma y ni C # ni VB.Net proporcionan esta funcionalidad.
No se puede decir que sea demasiado fuerte. Sin duda, es posible hacer esto con un complemento que hace una inspección profunda del código y determina las jerarquías. Sin embargo, es una tarea no muy trivial.
Por supuesto, existe un gran conjunto de herramientas para compilar extensiones VS, consulte Visual Studio 2008 SDK 1.1. Sin embargo, el tiempo necesario para compilar dicho complemento requerirá más tiempo que pasará examinando los componentes y determinando si son desechables o no.
Sin duda es posible hacer esto, aunque no es tan simple como simplemente cambiar una configuración. Debería escribir un complemento de Visual Studio para lograr esto.
Visite http://msdn.microsoft.com/en-us/vsx/bb980955.aspx para comenzar. Como otros señalarán. Esto no es para los débiles de corazón.
Aquí hay un enlace que puede indicarle lo que está buscando: http://msdn.microsoft.com/en-us/library/bb166778.aspx
Tal vez soy una mala persona para hacer esto, pero he estado usando este fragmento de código recientemente:
public static void BulkDispose(object[] objects)
{
foreach (object o in objects)
{
if (o != null)
{
if (o is IDisposable)
{
IDisposable disposable = o as IDisposable;
disposable.Dispose();
}
}
}
}
Supongo que será más fácil / extensión una vez que salga Roslyn, pero actualmente no es fácil porque no se puede acceder fácilmente al código como C # desde una extensión.
¡En Resharper es fácil, sin embargo! Mi ejemplo fue probado en ReSharper 9.0. Lamentablemente, no hay una manera fácil de darte esto.
- Resharper -> Opciones -> Inspección del código -> Patrones personalizados -> Agregar, diálogo emergente
- Seleccione C # (arriba a la izquierda)
- Seleccione "Buscar" (arriba a la derecha)
- Agregue el patrón de
new $disp$($args$)
- Gravedad del patrón: Mostrar como sugerencia
- Descripción: construcción desechable
- "Agregar marcador de posición" de tipo: Tipo, nombre:
disp
, tipo: System.IDisposable - "Agregar marcador de posición" de tipo: Argumentos, nombre:
args
Guarde y obtendrá una "sugerencia" cada vez que se construya un nuevo desechable.
Añadiendo el patrón $disp$ $var$ = $exp$;
también podría ser útil. Todas las cosas iguales con exp se definen como una expresión.