tag - Visual Studio: ¿Cómo detener el punto de ruptura del robo de foco?
visual studio code path intellisense (4)
Cuando se golpea un punto de interrupción en Visual Studio, se roba el foco de cualquier otra aplicación que el programador esté viendo / escribiendo en ese momento. Esto puede ser muy irritante ya que VS toma cualquier entrada de teclado que el programador estaba escribiendo en la otra aplicación en ese momento y toma esa entrada como propia.
¿Cuáles son los trucos que usan las personas para evitar este robo de enfoque?
(Me enfrento a esto en Visual C ++ 2008 y 2010. Supongo que es un problema para Visual Studio en general y para todas las versiones recientes).
Haga clic con el botón derecho en el punto de interrupción y seleccione Al presionar ... esto le permitirá ejecutar una función cuando se golpee el punto de interrupción. Puede usar esto para imprimir mensajes de estado en la ventana de salida. Tu aplicación mantendrá el foco.
Por accidente, descubrí una solución, que he estado usando durante algunos años y aunque no la he probado en 2008 y 2010, ciertamente funciona en 2013, ''15 y ''17 y al menos Windows 7 y 10.
Se basa en el hecho de que Visual Studio no robará el foco si otra instancia de Visual Studio se pausa en la ejecución. Obviamente, lo único tan especial como VS es otro VS. : - /
Abra una segunda instancia de VS con un proyecto simple. Pause la ejecución del proyecto de todos modos (por ejemplo, ponga un punto de interrupción en la primera línea de ejecución y depuración), entonces puede simplemente minimizar ese VS y ninguna de las instancias de VS que realmente esté usando robará el foco.
Obviamente, esta es una solución pesada, pero si tienes suficiente RAM (el uso de la CPU del VS inactivo ni siquiera se registra para mí), funciona bien. No lo he intentado con instancias entre versiones (por ejemplo, pausar en ''13 para hacer que ''17 se comporte), pero si eso funciona, probablemente querrás optar por usar la instancia de versión anterior como VS "ficticia" para reducirla sobre el uso de recursos.
Una solución consiste en utilizar la función OutputDebugString()
para mostrar el estado actual en la ventana de salida del depurador. Simplemente coloque Visual Studio en segundo plano, coloque la ventana del programa depurada para que la ventana "Salida" esté visible, y no ocurra ninguna transición de enfoque.
Quizás desee utilizar macros para compilación condicional para que el código de rastreo no se incluya en las versiones de lanzamiento.
Esta es una configuración de registro. Vea ForegroundLockTimeout
en http://technet.microsoft.com/en-us/library/cc957208.aspx . Zero permite que las aplicaciones roban el foco. TweakUI establece este valor en 200000 cuando se comprueba "Impedir que las aplicaciones roben el enfoque".
Para obtener más control, descargue la utilidad Tweak UI de Powertoys para Windows XP . En la pestaña "General", seleccione "Enfocar" y marque "Evitar que las aplicaciones roben el foco".
Búsqueda en Google de ForegroundLockTimeout en http://www.google.com/search?q=ForegroundLockTimeout
Búsqueda de Bing para evitar que las aplicaciones se roben el foco en http://www.bing.com/search?q=Prevent+applications+from+stealing+focus
Aplicaciones Robo de enfoque en Windows XP en http://mycvs.org/archives/2004/11/16/applications-stealing-focus-on-windows-xp para la captura de pantalla de TweakUI .
Por favor, no robe mi enfoque , Coding Horror, Jeff Atwood en http://www.codinghorror.com/blog/2007/12/please-dont-steal-my-focus.html
Lo extraño es que hay disposiciones integradas en el sistema operativo para protegernos de las aplicaciones de robo de enfoque mal escritas. La configuración del registro ForegroundLockTimeout está expresamente diseñada para evitar que las aplicaciones roben el foco del usuario. El sistema operativo convierte silenciosamente ese comportamiento de robo de foco inapropiado en un botón de barra de tareas más amigable y menos invasivo, que es el tema de la configuración de registro de ForegroundFlashCount.
Cómo evitar que programas se roben el foco en Windows XP en http://www.howtodothings.com/computers-internet/how-to-prevent-programs-from-stealing-focus-in-windows-xp