visual studio microsoft español descargar community visual-studio keyboard-shortcuts

microsoft - Teclas de acceso rápido para marcos de pila de llamadas anteriores y siguientes en Visual Studio



visual studio installer (4)

Mire en Herramientas-> Opciones-> Ambiente-> Teclado . Ingrese "stack" o "frame" y aparecerán los menús relacionados. Parece que no hay un marco de pila de llamadas siguiente y anterior.

Visual Studio ofrece muchas teclas rápidas de navegación: F8 para el siguiente elemento en el panel actual (resultados de búsqueda, errores ...), Control + K, N para marcadores, Alt- para retroceder y más.

Hay una tecla de acceso directo que no puedo encontrar, y ni siquiera puedo encontrar el comando de menú, así que no puedo crear la tecla de acceso rápido yo mismo.

No sé si existen tales:

Marco de pila de llamadas anterior y siguiente. Intento no usar el mouse cuando programo, pero cuando necesito volver a la pila, debo usarla para hacer doble clic en el cuadro anterior.

¿Nadie? ¿Qué tal una macro que lo hace?

Gracias.


No creo que haya un enlace explícito de siguiente fotograma / fotograma anterior, pero aquí está lo que hago.

CTRL-ALT-C ya está vinculado a "Debug.CallStack" Esto lo enfocará en la ventana de la herramienta Call Stack

Una vez que esté enfocado en la ventana Callstack ... las flechas hacia arriba y hacia abajo lo moverán a través de los marcos de la pila de llamadas

Entonces he atado

CTRL-C, CTRL-S a "DebuggerContextMenus.CallStackWindow.SwitchToFrame" y CTRL-C, CTRL-C a "DebuggerContextMenus.CallStackWindow.SwitchToCode"

ambos lo llevarán de vuelta a la ventana de código en el marco particular.

Espero que ayude.


He resuelto este problema con AutoHotkey . Hice esto hace unos meses. Supongamos que quiere usar Control + 1 y Control + 2 y que Control + Alt + C está obligado a mostrar la ventana Pila de llamadas:

^1::SendInput !^c{down}{enter} ^2::SendInput !^c{up}{enter}

Parece que funciona bastante bien. Si aún no está utilizando AutoHotkey para mostrarle a Visual Studio quién es el jefe, por favor, pruébelo. Su pregunta indica que se beneficiaría enormemente de ella. Es un cambio de juego. Buena suerte.


Escribí 2 macros para obtenerlo: PreviousStackFrame y NextStackFrame y atajos asignados a

Function StackFrameIndex(ByRef aFrames As EnvDTE.StackFrames, ByRef aFrame As EnvDTE.StackFrame) As Long For StackFrameIndex = 1 To aFrames.Count If aFrames.Item(StackFrameIndex) Is aFrame Then Exit Function Next StackFrameIndex = -1 End Function Sub NavigateStack(ByVal aShift As Long) If DTE.Debugger.CurrentProgram Is Nothing Then DTE.StatusBar.Text = "No program is currently being debugged." Exit Sub End If Dim ind As Long = StackFrameIndex(DTE.Debugger.CurrentThread.StackFrames, DTE.Debugger.CurrentStackFrame) If ind = -1 Then DTE.StatusBar.Text = "Stack navigation failed" Exit Sub End If ind = ind + aShift If ind <= 0 Or ind > DTE.Debugger.CurrentThread.StackFrames.Count Then DTE.StatusBar.Text = "Stack frame index is out of range" Exit Sub End If DTE.Debugger.CurrentStackFrame = DTE.Debugger.CurrentThread.StackFrames.Item(ind) DTE.StatusBar.Text = "Stack frame index: " & ind & " of " & DTE.Debugger.CurrentThread.StackFrames.Count End Sub Sub PreviousStackFrame() NavigateStack(1) End Sub Sub NextStackFrame() NavigateStack(-1) End Sub