Esta es una característica a la que me he acostumbrado en Eclipse ( Ctrl+ Tab). ¿Existe un equivalente en Visual C ++?
Esta es una característica a la que me he acostumbrado en Eclipse ( Ctrl+ Tab). ¿Existe un equivalente en Visual C ++?
Respuestas:
En Visual Studio 2013 y versiones posteriores, hay un atajo de teclado predeterminado para esto: Ctrl+ K, Ctrl+ O (Deberá mantener presionada la tecla Ctrl y escribir ko y luego soltar Ctrl )
En versiones anteriores, consulte:
Macro de Visual Studio para cambiar entre archivos CPP y H
o
Alt + O
En Visual Studio 2013, un atajo de teclado predeterminado para esto es Ctrl+ K, Ctrl+O
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
Puede agregar esta macro a su configuración de VS (a través de Herramientas -> Macros -> Explorador de macros) y luego asignarle una tecla de acceso rápido (a través de Herramientas -> Opciones -> Entorno -> Teclado).
Lo acabo de escribir (¡he tenido la intención de probar esto durante años!) Pero parece funcionar hasta ahora, tanto en VS2008 como en VS2010.
Como es una macro, puede editarla para incluir las reglas que desee (por ejemplo, buscar en otras carpetas o reglas especiales de nomenclatura si tiene un solo encabezado compartido por varios archivos cpp o similares).
Aquí está la macro (estoy seguro de que podría estar mejor escrita; no estoy familiarizado con los objetos VS y solo me di cuenta de que las macros estaban usando .Net a la mitad de la escritura :)):
Sub FileSwitch()
Try
Dim CurrentPath As String = DTE.ActiveDocument.FullName
Dim OtherPath As String
If (IO.Path.HasExtension(CurrentPath)) Then
Dim CurrentExtension As String = IO.Path.GetExtension(CurrentPath)
Select Case CurrentExtension
Case ".h", ".hpp", ".hxx"
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".cpp")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".c")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".cxx")
End If
End If
Case ".cpp", ".c", ".cxx"
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".h")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".hpp")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".hxx")
End If
End If
Case Else
End Select
If (OtherPath <> Nothing) Then
DTE.ItemOperations.OpenFile(OtherPath)
End If
End If
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub
Aquí hay una captura de pantalla (muy amplia :)) que muestra cómo deberían verse el editor de macros y los cuadros de diálogo de teclas de acceso rápido / opciones, para ayudar a quienes no están familiarizados con ellos:
Prueba PhatStudio . Es gratis y viene con un instalador sencillo.
ALT+ S= Cambiar entre encabezado / archivo de origen
ALT+ O= Abrir un archivo (admite la búsqueda instantánea escribiendo, como el menú de inicio en Windows Vista / 7).
Prueba Visual Assist, que tiene esta misma función (entre otras):
La funcionalidad de exploración de código, de la cual el intercambio de encabezado / cpp es una parte, es realmente buena.
(También califiqué sus características de intellisense y refactorización, pero no todos con los que he hablado están de acuerdo conmigo).
EDITAR: recién recordado, el complemento Nifty Solution también hace esto, además de otra cosa útil similar a Visual Assist, aunque nada más, y son gratis:
http://code.google.com/p/niftyplugins/
(El complemento forzoso del tipo también es genial. Mucho mejor que la basura predeterminada de VSSCC).
En Visual Studio 2008 y 2010, puede hacer clic derecho en su archivo .cpp y elegir Ir al archivo de encabezado ... que lo llevará en una dirección. Para la otra dirección, si hace clic con el botón derecho en algo que está declarando en el encabezado y elige Ir a definición, lo llevará en la otra dirección. Es posible que tenga que pasar por un diálogo de resolución de ambigüedad si elige el constructor, porque el nombre de la función coincide con el nombre de la clase, pero si elige cualquier otra cosa, irá directamente a donde quiera. Sé que este es un enfoque de dos clics, en lugar de una pulsación de tecla, pero hace lo que quieres.
Si coloca el mouse sobre una declaración de función en el encabezado y presiona F12, el archivo cpp se abrirá en la definición del archivo cpp ... ¡Uso esta función ampliamente!
No veo esta respuesta aquí, pero al menos en Visual Studio 2012 (¡Express incluido!), Puede simplemente asignar su propio comando de teclado para ir al archivo de encabezado (NOTA: Solo va en una dirección, no puede ir de vuelta al archivo de origen, lamentablemente ...)
No estoy seguro en qué versiones de VS funciona esto, pero no requiere ningún complemento y parece funcionar en al menos una dirección.
Intente usar Switch: es un complemento que le permite cambiar entre fuente y encabezado, código y diseñador, XAML y código subyacente, etc., etc.
http://www.dwmkerr.com/switch/ o directamente desde Productos y extensiones para Visual Studio
También hay una macro en el foro de soporte de Whole Tomato que tiene algunas asignaciones de archivos más.
Para Visual Studio 2013, como lo mencionaron otros, es el comando llamado:
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
y tiene como combinación de teclas por defecto: Ctrl+ K, Ctrl+ O, pero se puede cambiar si introduces la nueva combinación de teclas que te guste en el
Presione las teclas de atajo:
debajo
Herramientas -> Opciones -> Entorno -> Teclado .
Por lo tanto, puede elegir una combinación de teclas personalizadas, ya que mi favorito para cambiar de .h a .cpp es Ctrl+ Tab.
En Visual Studio 2008 es Alt+ O.
En su sabiduría (in) finita, MS decidió eliminar macros en MSVS 2012, por lo que la macro anterior no funcionará.
Para MSVS 2012, encontré esto:
http://www.dwmkerr.com/switch/
Es altamente configurable + si quieres ayudar a mejorarlo, puedes hacerlo en GitHub.
En Visual Studio 2013 es ALT
+O