visual texto studio refactor reemplazar proyecto nombre code carpeta cambiar buscar visual-studio ide replace find

visual-studio - texto - visual studio code go to definition php



Encontrar y reemplazar globalmente en Visual Studio (6)

Desea abrir el expansor "Buscar opciones" y seleccionar la opción "Usar expresiones regulares". Después de que haya hecho eso, quiere que estas sean sus entradas de búsqueda / reemplazo:

Encontrar:

HttpContext/.Current/.Session/[{("([^"]|/")*")}/]

Reemplazar:

HttpContext.Current.Session[/1].ToString()

Nota adicional:

Una vez que haya habilitado la opción de expresiones regulares, podrá usar los botones del triángulo que apuntan hacia la derecha para acceder a los fragmentos de la sintaxis Regex de Visual Studio.

También tenga en cuenta que la sintaxis Regex de Visual Studio es bastante ghetto, ya que no ha cambiado desde los días de Visual Studio 6 (¿o antes?), Por lo que no da por hecho ningún elemento de sintaxis.

Por ejemplo, uno podría esperar que my find regex anterior se rompa porque la barra invertida antes de la comilla doble no se escapó correctamente, pero en realidad, al poner una doble barra invertida se romperá la expresión, no se corregirá.

Tengo una solución con múltiples proyectos y tenemos que hacer algunos reemplazos globales serios.

¿Hay alguna manera de hacer un reemplazo con comodín donde algunos valores permanecen después del reemplazo?

Entonces, por ejemplo, si quiero que cada HttpContext.Current.Session ["whatevervalue"] se convierta en HttpContext.Current.Session ["whatevervalue"]. ToString () ¿se respetará el valor de cadena que se pasa? No quiero reemplazar "cualquier valor". Solo quiero agregar un .ToString () donde coincida el patrón.

¿Es esto posible en Visual Studio?


Fácil ... usa expresiones regulares y agrupaciones.

Encuentra qué: (HttpContext.Current.Session ["whatevervalue"])

Reemplace con: / 0.ToString ();

Recuerde verificar el uso: y seleccionar expresiones regulares


Primero, haga una copia de seguridad de sus proyectos, por si acaso ... Siempre es una buena idea antes de los reemplazos masivos.

Luego, en el cuadro de diálogo Buscar / Reemplazar, seleccione la casilla Usar Expresiones Regulares:

En el cuadro Buscar, usa el patrón:

HttpContext/.Current/.Session/["{.@}"/]

y en el cuadro Reemplazar, use:

HttpContext.Current.Session["/1"].ToString()


Puede usar Visual Assist para tareas como esta. Es una herramienta poderosa para diferentes tipos de refactorización.


También podría considerar usar la herramienta de descarga gratuita Refactor disponible en http://www.devexpress.com/Products/NET/IDETools/RefactorASP/

Hace mucho más que solo encontrar y reemplazar, que llaman nombres de miembros con nombres más comprensibles. Sus diversas características te ayudarán fácilmente a mejorar tu código.


Ninguna de estas respuestas parece funcionar en Visual Studio 2013, ya que esa versión parece haber hecho finalmente el cambio a RegEx estándar. Sin embargo, aquellos que no son expertos en RegEx o aquellos que están acostumbrados a la antigua sintaxis VS Find / Replace RegEx encontrarán que los botones de acceso directo RegEx son muy útiles.

Consulte esta respuesta para obtener más información, incluidos Buscar / Reemplazar / Surround con ejemplos:

Visual Studio ''Buscar y rodear con'' en lugar de ''Buscar y reemplazar''