2010-09-27 8 views
21

Attualmente sto utilizzando Visual Studio 2010, ma non penso che questo sia un problema specifico della versione (penso che sia stato esattamente nello stesso modo anche nel 2008) .Ordine di ordinamento del risultato per "Trova tutti i riferimenti" in Visual Studio

Quando voglio scoprire dove nella mia soluzione sono usate alcune variabili/funzioni/qualsiasi cosa, clicco con il pulsante destro del mouse e seleziona "Trova tutti i riferimenti". Questo mi dà una lunga lista nella Trova simbolo risultati vista su tutti i riferimenti esistenti. Questa lista tuttavia è abbastanza confusa. I risultati sembrano essere ordinati in base al file in cui si trovano, ma si fermano qui. Non sono né ordinati per numero di linea né per niente altro logico (almeno quello che posso vedere ...).

Se faccio lo stesso tipo di operazione, ad es. Eclipse, ho una bella lista in cui i risultati della ricerca sono ordinati per file, quindi funzione e numero di riga nel file. C'è un modo per ottenere lo stesso risultato in Visual Studio (alcune preferenze per specificare forse)? O è solo una di quelle cose stupide in cui Visual Studio è completamente senza speranza? O c'è semplicemente qualche geniale logica di ordinamento che mi manca?

Non è che questo è un grosso problema molto, ma rende molto più facile quando si guarda attraverso i riferimenti di una variabile, se è in una sorta di ordine logico ...

Aggiornamento :
Giusto per chiarire: so che ci sono altri componenti aggiuntivi e strumenti come ReSharper, ecc., Che fa questo genere di cose molto meglio di Visual Studio. Mi interessa se è possibile "disinfettare" l'output di ricerca da "Trova tutti i riferimenti" esistenti in Visual Studio. E se no - cosa diavolo è la logica dietro il loro attuale ordinamento (ci deve essere qualche logica, perché mi sembra di ottenere lo stesso ordine nei risultati ogni volta che cerco la stessa variabile).

+0

+1 ... Mi sono sempre chiesto. – SLaks

risposta

23

ho eseguito il ping il team VS su questo e si scopre che la ragione per la wierdness è che Trova tutti i riferimenti si basa su stringhe invece di numeri. Questo è il motivo per cui vedi 1,2, 25, 3, 35, 4, ecc ... Lo stanno rintracciando come un bug ed è previsto che venga risolto, ma la timeline è sconosciuta.

+4

Doh, non l'ho mai notato ... Ora, quando guardo più da vicino, ovviamente vedo che i risultati della ricerca sono ordinati per numero di linea, ma ordinati usando il confronto tra stringhe invece del confronto tra interi. Piuttosto un insetto ridicolo da parte di Microsoft, se potessi aggiungere;) – Nailuj

+0

Sì, è un po 'di materiale legacy che il team di prodotto ha sul proprio piatto per risolvere, a loro non piace molto :) – zainnab

+10

OMG.C'è una voce su Microsoft Connect in cui possiamo votare per risolvere questo problema? – MarkJ

0

Si potrebbe provare a utilizzare "Visualizza gerarchia di chiamate" (Ctrl-K + Ctrl-T (VS2010)) per alcune cose. Ordina alfabeticamente l'aspetto delle cose. Oppure strumenti come CodeRush Express o ReSharper (non gratuiti) di solito dispongono di strumenti di ricerca più belli di quelli offerti da Visual Studio.

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

+1

"View Call Hierarchy" è un'opzione valida per funzioni e proprietà, ma non funziona se si desidera trovare riferimenti a una variabile semplice o una classe per quella materia. – Nailuj

+0

"Find Usages" di ReSharper è probabilmente l'opzione migliore che abbia mai trovato per la sostituzione di "Trova tutti i riferimenti". – kjn

2

La soluzione che sto utilizzando è quella di creare una regione compressa di 10.000 righe vuote nella parte superiore per forzare le oltre 6.000 linee di codice in questa funzione (che non ho scritto) per ordinare in base al numero di riga correttamente utilizzando il " Trova tutti i riferimenti ". Conservo questa regione di righe vuote in un file di testo separato e le copio e le copio temporaneamente nella parte superiore del codice sorgente quando sono frustrato dal modo in cui i risultati della ricerca vengono ordinati.

Problemi correlati