C'est une fonctionnalité à laquelle je me suis habitué dans Eclipse ( Ctrl+ Tab). Existe-t-il un équivalent dans Visual C ++?
C'est une fonctionnalité à laquelle je me suis habitué dans Eclipse ( Ctrl+ Tab). Existe-t-il un équivalent dans Visual C ++?
Réponses:
Dans Visual Studio 2013 et versions ultérieures, il existe un raccourci clavier par défaut pour cela: Ctrl+ K, Ctrl+ O (vous devrez maintenir la touche Ctrl enfoncée et taper ko , puis relâcher Ctrl )
Dans les versions antérieures, voir:
Macro Visual Studio pour basculer entre les fichiers CPP et H
ou
Alt + O
Dans Visual Studio 2013, un raccourci clavier par défaut pour cela est Ctrl+ K, Ctrl+O
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
Vous pouvez ajouter cette macro à votre configuration VS (via Outils -> Macros -> Explorateur de macros) puis lui attribuer un raccourci clavier (via Outils -> Options -> Environnement -> Clavier).
Je viens juste de l'écrire (je voulais essayer cela depuis des lustres!) Mais cela semble fonctionner jusqu'à présent, à la fois dans VS2008 et VS2010.
Puisqu'il s'agit d'une macro, vous pouvez la modifier pour inclure les règles de votre choix (par exemple, chercher dans d'autres dossiers, ou des règles de dénomination spéciales si vous avez un seul en-tête partagé par plusieurs fichiers cpp ou similaires).
Voici la macro (je suis sûr qu'elle pourrait être mieux écrite; je ne suis pas familier avec les objets VS et je me suis rendu compte que seules les macros utilisaient .Net à mi-chemin de l'écriture de la chose :)):
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
Voici une capture d'écran (très large :)) montrant à quoi devraient ressembler l'éditeur de macros et les boîtes de dialogue des raccourcis clavier / options, pour aider ceux qui ne les connaissent pas:
Essayez PhatStudio . C'est gratuit et livré avec un installeur simple.
ALT+ S= Basculer entre l'en-tête / le fichier source
ALT+ O= Ouvre un fichier (prend en charge la recherche instantanée par saisie, comme le menu Démarrer de Windows Vista / 7).
Essayez Visual Assist, qui propose cette fonctionnalité (entre autres):
La fonctionnalité de navigation dans le code - dont le swap header / cpp fait partie - est vraiment bonne.
(J'ai également vraiment évalué ses fonctionnalités d'intellisense et de refactoring, mais tout le monde à qui j'ai parlé n'est pas d'accord avec moi.)
EDIT: rappelez-vous simplement, le plug-in Nifty Solution le fait également - plus un autre élément de type Visual Assist, bien que rien d'autre - et ils sont gratuits:
http://code.google.com/p/niftyplugins/
(Le plugin perforce de Guy est également génial. Bien meilleur que les ordures VSSCC par défaut.)
Dans Visual Studio 2008 et 2010, vous pouvez faire un clic droit dans votre fichier .cpp et choisir Aller au fichier d'en-tête ... qui vous mènera dans une direction. Pour l'autre direction, si vous cliquez avec le bouton droit sur quelque chose que vous déclarez dans l'en-tête et choisissez Aller à la définition, cela vous mènera dans l'autre direction. Vous devrez peut-être passer par une boîte de dialogue de résolution d'ambiguïté si vous choisissez le constructeur, car le nom de la fonction correspond au nom de la classe, mais si vous choisissez autre chose, vous irez directement où vous le souhaitez. Je sais que c'est une approche en deux clics, plutôt qu'une seule touche, mais elle fait ce que vous voulez.
Si vous placez votre souris sur une déclaration de fonction dans l'en-tête et appuyez sur F12, le fichier cpp sera ouvert à la définition du fichier cpp ... J'utilise beaucoup cette fonctionnalité!
Je ne vois pas cette réponse ici, mais au moins dans Visual Studio 2012 (Express inclus!), Vous pouvez simplement attribuer votre propre commande clavier pour accéder au fichier d'en-tête (REMARQUE: ne va que dans un sens - vous ne pouvez pas aller retour au fichier source malheureusement ...)
Je ne sais pas dans quelles versions de VS cela fonctionne, mais cela ne nécessite aucun complément et semble faire l'affaire dans au moins une direction.
Essayez d'utiliser Switch - c'est un addin qui vous permet de parcourir la source et l'en-tête, le code et le concepteur, XAML et codebehind, etc., etc.
http://www.dwmkerr.com/switch/ ou directement à partir des produits et extensions pour Visual Studio
Je suis fan de Visual Assist pour cela. Ce n'est pas bon marché mais il offre beaucoup plus de fonctionnalités que de basculer entre l'en-tête et la source. J'utilise également beaucoup son fichier ouvert dans les fonctionnalités de navigation de projet et de classe. Bien sûr, la macro est gratuite ...
Il existe également une macro répertoriée sur le forum de support Whole Tomato qui contient quelques mappages de fichiers supplémentaires.
Pour Visual Studio 2013, comme mentionné par d'autres, c'est la commande nommée:
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
et il a comme combinaison de touches par défaut: Ctrl+ K, Ctrl+ O, mais il peut être changé si vous introduisez la nouvelle combinaison de touches que vous aimez dans le
Appuyez sur les touches de raccourci:
sous
Outils -> Options -> Environnement -> Clavier .
Vous pouvez donc choisir une combinaison de touches personnalisées car ma préférée pour le commutateur .h à .cpp est Ctrl+ Tab.
Dans Visual Studio 2008, c'est Alt+ O.
Dans leur (in) sagesse finie, MS a décidé de supprimer les macros dans MSVS 2012, de sorte que la macro ci-dessus ne fonctionnera pas.
Pour MSVS 2012, j'ai trouvé ceci:
http://www.dwmkerr.com/switch/
C'est hautement configurable + si vous voulez aider à l'améliorer, vous pouvez le faire sur GitHub.
Dans Visual Studio 2013, c'est ALT
+O