vscode visual tag studio ortografico orthography corrector code visual-studio debugging focus breakpoints

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".