vscode visual tutorial studio portable extensions español configurar color code visual-studio-2010 tfs tfs2010

visual studio 2010 - visual - TFS 2010 y VS 2010 buscando código en control de fuente



visual studio code tutorial español pdf (7)

En caso de que no quiera utilizar su propia solución, he trabajado con Krugle para TFS antes (solo probándolo y evaluándolo) en una empresa anterior y descubrí que es una muy buena solución.

Esta pregunta es similar a: Buscar en archivos: buscar todo el código en Team Foundation Server Sin embargo, se hizo hace 4 años. Estoy preguntando específicamente sobre TFS 2010 con VS 2010.

¿Microsoft finalmente ha logrado agregar nuevamente la búsqueda de archivos para fragmentos de código como los que tenían en Visual Source Safe? Si es así, ¿cómo habilitarlo y usarlo?

He intentado agregar en Power Tools de Microsoft. Si bien tiene una función de búsqueda, la búsqueda es solo para nombres de archivos e ignora buscar en el contenido de los archivos. :(


No estoy al tanto de nada que haga esto.

El enfoque de almacenamiento de SourceSafe de hace 20 años era muy básico, y las bases de datos estaban limitadas a lo que ahora consideraríamos como "pequeñas" cantidades de datos. TFS almacena las diferencias compactas entre las versiones de los archivos, y ya no hay ninguna "gran gran cantidad de texto" que cualquiera pueda buscar de forma trivial.

Cualquier herramienta de este tipo necesitaría Obtener todas las versiones de cada archivo para reconstruir el texto original que se buscará, lo que dañaría su servidor durante días o semanas. Agregue la sobrecarga de prueba de producir una herramienta robusta y la posibilidad de que muchas personas la necesiten, y no es difícil ver por qué nunca llega a la cima de la lista de prioridades de MS, especialmente cuando todavía están trabajando para obtener características básicas como una ventana de verificación pendiente utilizable, herramientas de combinación y, con suerte, cambio de nombre de los archivos (!) que funcionan para VS11.

Podría argumentarse que con el modelo de automatización, o incluso solo una aplicación de consola que llame a tf.exe, escribir usted mismo algunas líneas de código para recorrer todas las versiones de cada archivo y aplicar un RegEx sería una tarea relativamente trivial, si Realmente necesitaba aplicar tal búsqueda.


No hay nada incorporado, y sería difícil hacer esto en el nivel de la base de datos debido a la forma en que TFS almacena los archivos como deltas de versiones anteriores.

A mi modo de ver, hay dos opciones viables, pero ambas solo funcionan para la revisión de "punta" del código. La forma más fácil es hacer una "obtención" de toda su fuente, luego usar el comando findstr en una ventana de comandos o usar algo como Windows Grep para realizar la búsqueda.

Alternativamente, puedes hacer lo que uno de nuestros desarrolladores más emprendedores hizo, y usar a Lucene para indexar tu código, y luego poner una buena interfaz en torno a los resultados. Tenemos esta configuración para obtener nuestra sucursal PRINCIPAL y DEV de forma regular, para que podamos obtener resultados de búsqueda casi en tiempo real.

También hay productos como CAST que hacen análisis de impacto, y te permiten hacer un cierto grado de búsqueda, pero en ese punto, estás mirando caer algunas piezas de oro decentes para obtener el producto.


Reviso toda la biblioteca (Revisión más reciente) y ejecuto este script de Powershell:

C:/Users/username>powershell Windows PowerShell Copyright (C) 2013 Microsoft Corporation. All rights reserved. PS C:/Users/username> cd C:/LocalDevelopment PS C:/LocalDevelopment> get-childitem -include *.* -rec | select-string -pattern "a string" > a_string.txt

que es: Realice una búsqueda recursiva en todos los archivos en c: / LocalDevelopment para "una cadena" (agregue su cadena allí, por supuesto) y envíe los resultados a un archivo de texto.


Sé cómo lo hice hace años usando el administrador de versiones de PVCS. Tuve un disparador en el registro y añadir archivo. Esto puso en cola un proceso de trabajo que extraería el código fuente y usaría el comando cygwin / unix updatedb para crear un índice de todos los archivos. La creación de la base de datos iría a una base de datos temporal y luego cambiaría la base de datos de lectura súper rápido una vez que se construyó.

Luego tuve un sitio web con una función de búsqueda que llamaba locatedb para recuperar los nombres de los archivos que contenían el texto.

TFS tiene suscripciones que pueden invocar webserivces.


TFS no proporciona esa función de manera inmediata, pero puede usar Powershell para combinar las funciones TFS existentes para obtener lo que necesita.

Mi plan es primero usar tf dir obtener una lista de archivos, luego usar tf view para obtener los contenidos de los archivos y finalmente enviarlos a Select-String para encontrar la cadena (o regex) que estamos buscando.

Puedes empezar con:

tf dir /recursive $/

pero esa lista probablemente será enorme, así que trate de restringir su búsqueda a un pequeño alcance, como:

tf dir /recursive $/some/path/*.cs

El siguiente paso es transformar los resultados del paso anterior en un formato que luego podamos tf view en la tf view . Aquí hay un script de powershell que hace eso:

(tf dir /recursive $/) -join "+" -replace ":", "" -replace "/+/+", "`n" -split "`n" | %{ $arr = $_ -split "/+"; $arr | select -Skip 1 | %{ $arr[0] + ''/'' + $_ } }

Ahora vamos a colocar la lista en la tf view y luego Select-String :

... | %{ $file = $_ ; if (tf view "$file" /console | Select-String "some string") { Write-Host $file } }

No te olvides de cambiar la parte que dice "some string" .

En total, obtienes:

(tf dir /recursive $/) -join "+" -replace ":", "" -replace "/+/+", "`n" -split "`n" | %{ $arr = $_ -split "/+"; $arr | select -Skip 1 | %{ $arr[0] + ''/'' + $_ } } | %{ $file = $_ ; if (tf view "$file" /console | Select-String "some string") { Write-Host $file } }

Ah, y no olvide reemplazar la parte que dice "some string" con su consulta de búsqueda real.