2010-09-27 20 views
21

Actualmente estoy usando Visual Studio 2010, pero no creo que este sea un problema específico de la versión (creo que fue exactamente igual en 2008 también) .Clasificar el orden del resultado para "Buscar todas las referencias" en Visual Studio

Cuando quiero saber en qué parte de mi solución se utiliza alguna variable/función/lo que sea, hago clic con el botón derecho y selecciono "Buscar todas las referencias". Esto me da una larga lista en el Buscar resultados de símbolos ver todas las referencias existentes. Esta lista, sin embargo, es bastante desordenada. Los resultados parecen estar ordenados por el archivo en el que se encuentran, pero se detiene allí. No están ordenados por número de línea ni por otra cosa ligeramente lógica (al menos eso puedo ver ...).

Si realizo el mismo tipo de operación, p. Eclipse, obtengo una buena lista donde los resultados de búsqueda están ordenados por archivo, luego función y número de línea en el archivo. ¿Hay alguna manera de lograr lo mismo en Visual Studio (quizás alguna preferencia para especificar)? ¿O es solo una de esas tonterías en las que Visual Studio es completamente inútil? ¿O simplemente hay una brillante lógica de ordenamiento que me falta?

No es que esta es una muy gran problema, pero lo hace bastante más fácil cuando se mira a través de las referencias de una variable si está en algún tipo de orden lógico ...

actualización :
Solo para aclarar: sé que hay otros complementos y herramientas como ReSharper, etc. que hace este tipo de cosas mucho mejor que Visual Studio. Me interesa si es posible "desinfectar" el resultado de búsqueda de las "Buscar todas las referencias" existentes de Visual Studio. Y si no, cuál es la lógica detrás de su orden de clasificación actual (tiene que haber alguna lógica, porque parece que tengo el mismo orden en los resultados cada vez que busco la misma variable).

+0

+1 ... Siempre me he preguntado. – SLaks

Respuesta

23

me hace ping al equipo VS en este caso y resulta que el motivo de la wierdness es que encuentran todas las referencias se basa en cadenas en lugar de números. Es por eso que ves 1,2, 25, 3, 35, 4, etc. ... Lo están rastreando como un error y está programado para ser reparado pero la línea de tiempo es desconocida.

+4

Doh, nunca lo noté ... Ahora cuando miro más de cerca, por supuesto veo que los resultados de búsqueda están ordenados por número de línea, pero ordenados mediante comparación de cadenas en lugar de comparación entera. Bastante un error ridículo por parte de Microsoft, si pudiera agregar;) – Nailuj

+0

Sí, es algo de legado que el equipo del producto tiene en su plato para arreglar que tampoco les gusta mucho :) – zainnab

+10

OMG.¿Hay alguna entrada en Microsoft Connect donde podamos votar para que se solucione? – MarkJ

0

Podría intentar usar 'Ver jerarquía de llamadas' (Ctrl-K + Ctrl-T (VS2010)) para ciertas cosas. Se ordena alfabéticamente por el aspecto de las cosas. O herramientas como CodeRush Express o ReSharper (no gratuitas) generalmente tienen mejores funciones de búsqueda que las que ofrece Visual Studio.

http://www.devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/

+1

"Ver jerarquía de llamadas" es una opción viable para funciones y propiedades, pero no funciona si desea encontrar referencias a una variable simple, o una clase para ese asunto. – Nailuj

+0

'Encontrar usos' de ReSharper es probablemente la mejor opción que he encontrado para reemplazar 'Buscar todas las referencias'. – kjn

2

La solución alternativa que estoy utilizando es crear una región colapsada de 10,000 líneas vacías en la parte superior para forzar las más de 6000 líneas de código en esta función (que no escribí) para ordenar correctamente por número de línea usando el " Función Buscar todas las referencias ". Guardo esta región de líneas vacías en un archivo de texto separado y las copio y pego temporalmente en la parte superior del código fuente cuando estoy frustrado con la forma en que se ordenan los resultados de búsqueda.

Cuestiones relacionadas