instalar - Cambiar el comportamiento de Ctrl+Tab para moverse entre documentos en Visual Studio
visual studio code autocomplete html (12)
¿Es posible cambiar el funcionamiento de Ctrl + Tab y Shift + Ctrl + Tab en Visual Studio? He deshabilitado la ventana del navegador emergente, porque solo quiero cambiar entre los elementos del control de pestañas. Mi problema es la inconsistencia de lo que hace el cambio al documento siguiente y al anterior.
Todos los demás programas que usan un control de pestañas para el documento abierto que he visto usan Ctrl + Tab para moverse de izquierda a derecha y Shift + Ctrl + Tab para ir de derecha a izquierda. Visual Studio rompe esto con su salto a la última pestaña seleccionada. Nunca se puede saber en qué documento terminará, y nunca es lo mismo dos veces.
Es muy contrario a la intuición. ¿Es esta una forma sutil de alentar a todos a tener solo dos documentos abiertos a la vez?
Digamos que tengo algunos archivos abiertos. Estoy trabajando en uno, y necesito ver qué hay en la siguiente pestaña a la derecha. En cada otra aplicación individual en la faz de la Tierra, Ctrl + Tab me llevará allí. Pero en Visual Studio, no tengo idea de a cuál de las otras pestañas me llevará. Si solo tengo dos documentos abiertos, esto funciona muy bien. Tan pronto como llegue a tres o más, todas las apuestas estarán desactivadas en cuanto a la pestaña a la que Visual Studio ha decidido enviarle.
El problema con esto es que no debería tener que pensar en la herramienta, debería desvanecerse en el fondo y debería estar pensando en la tarea. El comportamiento de la pestaña actual sigue sacándome de la tarea y me obliga a prestar atención a la herramienta.
Después de un par de horas de búsqueda, encontré una solución sobre cómo cambiar entre documentos abiertos con CTRL + TAB, que se mueven de izquierda a derecha y SHIFT + CTRL + TAB para ir de derecha a izquierda.
En resumen necesitas copiar y pegar esta macro:
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Public Module TabCtrl
Public Sub TabForward()
Dim i As Integer
Dim activateNext As Boolean = False
For i = 1 To DTE.Windows.Count
If DTE.Windows().Item(i).Kind = "Document" Then
If activateNext Then
DTE.Windows().Item(i).Activate()
GoTo done
End If
If DTE.Windows().Item(i) Is DTE.ActiveWindow Then
activateNext = True
End If
End If
Next
'' Was the last window... go back to the first
If activateNext Then
For i = 1 To DTE.Windows.Count
If DTE.Windows().Item(i).Kind = "Document" Then
DTE.Windows().Item(i).Activate()
GoTo done
End If
Next
End If
done:
End Sub
Public Sub TabBackward()
Dim i As Integer
Dim activateNext As Boolean = False
For i = DTE.Windows.Count To 1 Step -1
If DTE.Windows().Item(i).Kind = "Document" Then
If activateNext Then
DTE.Windows().Item(i).Activate()
GoTo done
End If
If DTE.Windows().Item(i) Is DTE.ActiveWindow Then
activateNext = True
End If
End If
Next
'' Was the first window... go back to the last
If activateNext Then
For i = DTE.Windows.Count To 1 Step -1
If DTE.Windows().Item(i).Kind = "Document" Then
DTE.Windows().Item(i).Activate()
GoTo done
End If
Next
End If
done:
End Sub
End Module
La macro proviene de: www.mrspeaker.net/2006/10/12/tab-un-stupidifier/
Si nunca agrega una macro a Visual Studio, hay un enlace muy útil sobre cómo hacerlo .
En Visual Studio 2012 o posterior (2013, 2015, 2017 ...):
- Navegue por el menú Herramientas / Opciones / Entorno / Teclado.
- Busque el comando ''Window.NextTab'', configure el acceso directo a Ctrl + Tab
- Busque el comando ''Window.PreviousTab'', configure el acceso directo a Ctrl + Shift + Tab
En Visual Studio 2015 (así como en versiones anteriores de VS, pero debe instalar Productivity Power Tools si está usando VS2013 o inferior), hay dos nuevos comandos en Visual Studio:
Window.NextTab y Window.PreviousTab
Simplemente vaya a reasignarlos desde Ctrl + Alt + AvPág / Ctrl + Alt + Pág . Avance a Ctrl + Tab / Ctrl + Shift + Tab en:
Herramientas de menú -> Opciones -> Entorno -> Teclado
Nota: en versiones anteriores como Visual Studio 2010, Window.NextTab y Window.PreviousTab se denominaban Window.NextDocumentWellTab y Window.PreviousDocumentWellTab .
En la rama del registro: HKEY_CURRENT_USER / Software / Microsoft / VisualStudio / 9.0 agregue DWORD denominado "UseMRUDocOrdering" con un valor de 1. Ordenará los documentos, de modo que los más usados recientemente se coloquen a la izquierda. No es perfecto, pero es mejor que el mal comportamiento predeterminado.
Estoy 100% de acuerdo con Jeff.
Trabajé en Borland C ++ Builder durante varios años y una de las funciones que más extraño es el orden de tabulación del documento ''correcto'' con Ctrl - Tab . Como dijo Jeff, " el comportamiento de la pestaña actual me saca de la tarea y me obliga a prestar atención a la herramienta " es exactamente lo que siento al respecto, y me sorprende mucho el hecho de que no haya Muchas personas se quejan de esto.
Creo que Ctrl - F6 - NextDocumentWindowNav - navega por los documentos según la última vez que se activó el documento. Este comportamiento es muy parecido a cómo se comportaban las aplicaciones MDI en los viejos tiempos.
Teniendo esto en cuenta, normalmente uso Ctrl + F6 para cambiar entre 2 documentos (lo cual es bastante útil para cambiar entre archivos .cpp y .h cuando se trabaja en el proyecto c ++) incluso cuando hay más de 2 documentos abiertos actualmente. Por ejemplo, si tiene 10 documentos abiertos (Tab1, Tab2, Tab3, ...., Tab10), hago clic en Tab1 y luego Tab2. Cuando hago Ctrl + F6 y suelto las teclas, saltaré a Tab1. Presionando Ctrl + F6 nuevamente me llevará de nuevo a Tab2.
La filosofía del orden de las pestañas de Visual Studio es muy poco intuitiva ya que el orden de las pestañas mostradas difiere de la lógica de cambio de pestañas, lo que hace que el orden de las pestañas sea completamente inútil .
Entonces, hasta que surja una mejor solución, cambie el diseño de la ventana (en Entorno-> General) de documentos con pestañas a documentos múltiples; no cambiará el comportamiento, pero reduce la confusión causada por las pestañas.
De esa manera, ¡también encontrarás el DocumentWindowNav más útil!
Navegue a la publicación del blog Visual Studio Tab Un-stupidifier Macro y haga uso de la macro. Después de aplicar la macro a su instalación de Visual Studio, puede enlazar sus atajos de teclado favoritos. Observe también la solución de registro en los comentarios por no mostrar el globo macro, ya que pueden volverse molestos después de un tiempo.
No uso Visual Studio ( sí, realmente, no lo uso ), pero AutoHotkey puede AutoHotkey asignar cualquier tecla de acceso rápido a nivel mundial o en una aplicación en particular:
#IfWinActive Microsoft Excel (application specific remapping)
; Printing area in Excel (@ Ctrl+Alt+A)
^!a::
Send !ade
return
#IfWinActive
$f4::
; Closes the active window (make double tapping F4 works like ALT+F4)
if f4_cnt > 0
{
f4_cnt += 1
return
}
f4_cnt = 1
SetTimer, f4_Handler, 250
return
f4_Handler:
SetTimer, f4_Handler, off
if (f4_cnt >= 2) ; Pressed more than two times
{
SendInput !{f4}
} else {
; Resend f4 to the application
Send {f4}
}
f4_cnt = 0
return
Estas son dos remappings de mi script principal de AutoHotKey. Creo que es una excelente herramienta para este tipo de tareas.
Supongo que quieres lo que VSS llama Next (Previous) DocumentWindow. Por defecto, está en Ctrl (-Shift) -F6 en mi VSS 8. En Ctrl (-Shift) -Tab tienen Next(Previous)DocumentWindowNav
. Puede cambiar las asignaciones de teclas a través de Herramientas / Opciones / Teclado.
Visual Studio 2010 tiene, incorporado, una forma de resolver esto.
De forma predeterminada, Ctrl + Tab y Ctrl + Shift + Tab están asignados a la Window.[Previous/Next]..Document
, pero puede, a través de
Tools -> Options -> Environment -> Keyboard,
elimine esas asignaciones de teclas y vuelva a asignarlas a la Window.[Next/Previous]Tab
para agregar el comportamiento deseado.
se puede cambiar, al menos en VS 2012 (creo que también debería funcionar para 2010).
1) TOOLS > Options > Environment > Keyboard
(¡Sí, HERRAMIENTAS, su VS2012!) Ahora hay tres accesos directos para verificar.
2) Window.NextDocumentWindow
: puede llegar allí rápidamente escribiendo en el panel de búsqueda en la parte superior. Ahora este es tu enemigo . Retíralo si no te gusta. Cámbiala a otra cosa (y no olvides el botón Asignar ) si quieres tener el tuyo, pero recuerda ese atajo, sea lo que sea al final . Será útil más tarde.
(Quiero decir, este es el acceso directo que recuerda su última pestaña)
3) Ahora busque Window.NextDocumentWindowNav
: es el mismo que el anterior, pero muestra una vista previa de las pestañas abiertas (con esta ventana emergente puede navegar a otras ventanas demasiado rápido). Aunque nunca encontré esto útil. Haga todo lo mencionado en el paso 2 (no olvide recordar ).
4) Window.NextTab
- tu poción mágica. Esto le permitiría desplazarse por las pestañas en el orden hacia adelante. Puede ser que quieras CTRL + TAB ? De nuevo paso 2 y recuerda .
5) Ahora, coloque el cursor en las teclas de atajo de prensa: cuadro de texto (no importa lo que esté seleccionado actualmente, no va a Asignar esta vez), y escriba primero de los tres (o dos o uno) atajos.
Verás el acceso directo actualmente utilizado por: listado. Asegúrese de no tener una entrada duplicada para el acceso directo. En la foto, no hay entradas duplicadas. En caso de que tenga (una rareza), diga X, luego vaya a X y elimine el acceso directo. Repita este paso para otros atajos también.
6) Ahora repita 1-5 para los accesos directos Previous
también (preferiblemente agregando Shift ).
7) Bonus: seleccione el esquema de mapeo VS2005 (en la parte superior del mismo cuadro), así que ahora obtiene F2 para Renombrar miembros y no CTRL + R + R , y F7 para Ver código y no CTRL + ALT + 0 .
Soy de la opinión de que VS lo ha hecho bien por defecto. Me parece extremadamente útil que VS recuerde lo que usé por última vez, y hace que el cambio sea más fácil, como lo hace el sistema operativo en sí (en ALT + TAB ). Mi navegador también hace lo mismo de manera predeterminada (Opera), aunque sé que Firefox se comporta de manera diferente.
Los accesos directos Ctl + Alt + PgUp o PgDn funcionaron para alternar la pestaña siguiente / anterior de la caja para mí ...