Existe-t-il un raccourci pour se déplacer entre l’en-tête et le fichier source dans VC ++?

C’est une fonctionnalité à laquelle je me suis habitué dans Eclipse (alt-tab). Y a-t-il un équivalent dans Visual C ++?

Dans Visual Studio 2013 et versions ultérieures, il existe un raccourci clavier par défaut: Ctrl + K , Ctrl + O (vous devez maintenir la touche Ctrl et tapez ko , puis relâcher Ctrl )

Dans les versions antérieures, voir:

Visual Studio Macro pour basculer entre les fichiers CPP et H

ou

Ouvrir le fichier correspondant dans Visual Assist

Dans Visual Studio 2013, un raccourci clavier par défaut est Ctrl + K , Ctrl + O

Vous pouvez append cette macro à votre configuration VS (via Outils -> Macros -> Explorateur de macros) puis lui atsortingbuer un raccourci clavier (via Outils -> Options -> Environnement -> Clavier).

Je viens juste de l’écrire (cela signifiait d’essayer cela depuis des lustres!) Mais cela semble fonctionner jusqu’à présent, à la fois dans VS2008 et VS2010.

Comme c’est une macro, vous pouvez l’éditer pour inclure les règles de votre choix (par exemple, rechercher dans d’autres dossiers ou des règles de nommage spéciales si vous avez un seul en-tête partagé par plusieurs fichiers cpp ou similaires).

Voici la macro (je suis sûr que cela pourrait être mieux écrit; je ne connais pas bien les objects VS et seules les macros réalisées utilisaient .Net à peu près à mi-chemin pour écrire la chose :)):

 Sub FileSwitch() Try Dim CurrentPath As Ssortingng = DTE.ActiveDocument.FullName Dim OtherPath As Ssortingng If (IO.Path.HasExtension(CurrentPath)) Then Dim CurrentExtension As Ssortingng = 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 les dialogs de l’éditeur de macros et des raccourcis clavier / options, pour aider ceux qui ne les connaissent pas bien:

entrer la description de l'image ici

Essayez Visual Assist, qui arbore cette fonctionnalité (entre autres):

http://www.wholetomato.com/

La fonctionnalité de navigation dans le code – dont le swap en-tête / cpp est une partie – est vraiment bonne.

(J’ai également évalué ses fonctionnalités intelligentes et de refactorisation, mais toutes les personnes avec lesquelles j’ai parlé ne sont pas d’accord avec moi.)

EDIT: rappelez-vous juste que le plug-in Nifty Solution fait aussi cela, en plus d’une autre chose pratique comme l’aide visuelle, mais rien d’autre – et ils sont gratuits:

http://code.google.com/p/niftyplugins/

(Le plug-in perforce du gars est également génial. Bien mieux que les erreurs VSSCC par défaut.)

Essayez PhatStudio . C’est gratuit et livré avec un installateur facile.

  • ALT + S = Basculer entre en-tête / fichier source

  • ALT + O = Ouvrir un fichier (prend en charge la recherche instantanée via la saisie, comme le menu Démarrer de Windows Vista / 7).

Dans Visual Studio 2008 et 2010, vous pouvez cliquer avec le bouton droit de la souris sur votre fichier .cpp et choisir Aller au fichier d’en-tête … dans une seule direction. Dans l’autre sens, si vous cliquez avec le bouton droit de la souris sur un élément que vous déclarez dans l’en-tête et choisissez Aller à la définition, cela vous mènera dans l’autre sens. Vous devrez peut-être passer par une boîte de dialog 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 à votre guise. Je sais qu’il s’agit d’une approche en deux clics, plutôt qu’une seule, mais elle fait ce que vous voulez.

Je ne vois pas cette réponse ici, mais au moins dans Visual Studio 2012 (Express inclus!), Vous pouvez simplement assigner votre propre commande de clavier pour aller au fichier d’en-tête (NOTE: ne va que dans un sens – vous ne pouvez pas aller retour au fichier source malheureusement …)

  1. Allez dans Outils / Options / Environnement / Clavier.
  2. Recherchez la commande suivante: EditorContextMenus.CodeWindow.GoToHeaderFile
  3. Atsortingbuez la combinaison de touches souhaitée (Alt-S fonctionne)
  4. Profit

Vous ne savez pas dans quelles versions de VS cela fonctionne, mais il ne nécessite aucun complément et semble faire le tour dans au moins une direction.

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é!

Essayez d’utiliser Switch – c’est un addin qui vous permet de naviguer entre source et en-tête, code et concepteur, XAML et codebehind etc etc:

http://www.dwmkerr.com/switch/ ou directement à partir de Products and Extensions for Visual Studio

Je suis fan de Visual Assist pour cela. Ce n’est pas bon marché mais il fournit beaucoup plus de fonctionnalités que de basculer entre l’en-tête et la source. J’utilise également son fichier ouvert dans les fonctionnalités de navigation de projet et de classe. Bien sûr, la macro est gratuite …

Il y a aussi une macro listée sur le forum de support de Whole Tomato qui a quelques autres mappages de fichiers.

L’assistance visuelle ne supporte pas non plus les éditions express Visual Studio. Donc, vous êtes coincé avec la macro si vous utilisez cet IDE>

Pour Visual Studio 2013, comme mentionné par d’autres, c’est la commande nommée:

 EditorContextMenus.CodeWindow.ToggleHeaderCodeFile 

et il a comme combinaison par défaut des touches: 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:

en dessous de

Outils -> Options -> Environnement -> Clavier .

Vous pouvez donc choisir une combinaison de touches personnalisée car mon favori pour le commutateur .h vers .cpp est Ctrl + Tab .

Dans Visual Studio 2008, c’est Alt + O.

Dans leur sagesse (in) 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.