Questa è una funzionalità a cui mi sono abituato in Eclipse ( Ctrl+ Tab). Esiste un equivalente in Visual C ++?
Questa è una funzionalità a cui mi sono abituato in Eclipse ( Ctrl+ Tab). Esiste un equivalente in Visual C ++?
Risposte:
In Visual Studio 2013 e versioni successive è disponibile una scorciatoia da tastiera predefinita per questo: Ctrl+ K, Ctrl+ O (sarà necessario tenere premuto Ctrl e digitare ko e quindi rilasciare Ctrl )
Nelle versioni precedenti, vedere:
Visual Studio Macro per passare dai file CPP a quelli H.
o
Alt + O
In Visual Studio 2013 una scorciatoia da tastiera predefinita per questo è Ctrl+ K, Ctrl+O
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
Puoi aggiungere questa macro alla tua configurazione VS (tramite Strumenti -> Macro -> Esplora macro) quindi assegnargli un tasto di scelta rapida (tramite Strumenti -> Opzioni -> Ambiente -> Tastiera).
L'ho appena scritto (volevo provarlo per anni!) Ma sembra funzionare finora, sia in VS2008 che in VS2010.
Poiché si tratta di una macro, puoi modificarla per includere qualsiasi regola desideri (ad esempio, cercare in altre cartelle o regole di denominazione speciali se hai un'unica intestazione condivisa da più file cpp o simili).
Ecco la macro (sono sicuro che potrebbe essere scritta meglio; non ho familiarità con gli oggetti VS e ho realizzato solo che le macro stavano usando .Net a metà della scrittura della cosa :)):
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
Ecco uno screenshot (molto ampio :)) che mostra come dovrebbero apparire l'editor di macro e le finestre di dialogo dei tasti di scelta rapida / opzioni, per aiutare coloro che non li conoscono:
Prova PhatStudio . È gratuito e viene fornito con un facile programma di installazione.
ALT+ S= Passa dal file di intestazione al file di origine
ALT+ O= Apri un file (supporta la ricerca istantanea tramite digitazione, come il menu di avvio in Windows Vista / 7).
Prova Visual Assist, che mette in mostra questa caratteristica (tra le altre):
Le funzionalità di esplorazione del codice - di cui lo scambio di intestazione / cpp è una parte - sono davvero buone.
(Ho anche valutato molto le sue caratteristiche intellisense e di refactoring, ma non tutti quelli con cui ho parlato sono d'accordo con me.)
EDIT: appena ricordato, anche il plug-in Nifty Solution fa questo, oltre a un'altra cosa simile a Visual Assist, anche se nient'altro, e sono gratuiti:
http://code.google.com/p/niftyplugins/
(Anche il plug-in Force del ragazzo è fantastico. Molto meglio della spazzatura VSSCC predefinita.)
In Visual Studio 2008 e 2010, puoi fare clic con il pulsante destro del mouse sul tuo file .cpp e scegliere Vai al file di intestazione ... che ti porterà in una direzione. Per l'altra direzione, se fai clic con il pulsante destro del mouse su qualcosa che stai dichiarando nell'intestazione e scegli Vai a definizione, ciò ti porterà nell'altra direzione. Potrebbe essere necessario passare attraverso una finestra di dialogo per la risoluzione dell'ambiguità se si sceglie il costruttore, perché il nome della funzione corrisponde al nome della classe, ma se si sceglie qualcos'altro, andrai direttamente dove vuoi. So che questo è un approccio a due clic, piuttosto che una sequenza di tasti, ma fa quello che vuoi.
Se posizioni il mouse su una dichiarazione di funzione nell'intestazione e premi F12, il file cpp verrà aperto alla definizione del file cpp ... Uso ampiamente questa funzione!
Non vedo questa risposta qui, ma almeno in Visual Studio 2012 (Express incluso!), Puoi semplicemente assegnare il tuo comando da tastiera per andare al file di intestazione (NOTA: va solo in un modo - non puoi andare torna al file sorgente purtroppo ...)
Non sono sicuro in quale versione di VS funzioni, ma non richiede alcun componente aggiuntivo e sembra che funzioni in almeno una direzione.
Prova a utilizzare Switch: è un componente aggiuntivo che ti consente di scorrere tra sorgente e intestazione, codice e designer, XAML e codebehind ecc ecc:
http://www.dwmkerr.com/switch/ o direttamente da Products and Extensions for Visual Studio
C'è anche una macro elencata nel forum di supporto di Whole Tomato che ha alcune mappature di file in più.
Per Visual Studio 2013, come menzionato da altri, è il comando denominato:
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
e ha come combinazione di tasti predefinita: Ctrl+ K, Ctrl+ O, ma può essere modificata se si introduce la nuova combinazione di tasti che ti piace nel
Premere i tasti di scelta rapida:
sotto
Strumenti -> Opzioni -> Ambiente -> Tastiera .
Quindi puoi scegliere una combinazione di tasti personalizzata poiché la mia preferita per il passaggio da .h a .cpp è Ctrl+ Tab.
In Visual Studio 2008 è Alt+ O.
Nella loro saggezza (in) finita, MS ha deciso di rimuovere le macro in MSVS 2012, quindi la macro sopra non funzionerà.
Per MSVS 2012, ho trovato questo:
http://www.dwmkerr.com/switch/
È altamente configurabile + se vuoi contribuire a migliorarlo, puoi farlo su GitHub.
In Visual Studio 2013 è ALT
+O