Dies ist eine Funktion, an die ich mich in Eclipse ( Ctrl+ Tab) gewöhnt habe . Gibt es ein Äquivalent in Visual C ++?
Dies ist eine Funktion, an die ich mich in Eclipse ( Ctrl+ Tab) gewöhnt habe . Gibt es ein Äquivalent in Visual C ++?
Antworten:
In Visual Studio 2013 und höher gibt es hierfür eine Standardtastenkürzel: Ctrl+ K, Ctrl+ O (Sie müssen Strg gedrückt halten und ko eingeben und dann Strg loslassen )
In früheren Versionen siehe:
Visual Studio-Makro zum Wechseln zwischen CPP- und H-Dateien
oder
Alt + O
In Visual Studio 2013 lautet die Standardtastaturverknüpfung hierfür Ctrl+ K, Ctrl+O
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
Sie können dieses Makro zu Ihrer VS-Konfiguration hinzufügen (über Extras -> Makros -> Makro-Explorer) und ihm dann einen Hotkey zuweisen (über Extras -> Optionen -> Umgebung -> Tastatur).
Ich habe es gerade erst geschrieben (wollte es schon seit Ewigkeiten versuchen!), Aber es scheint bisher sowohl in VS2008 als auch in VS2010 zu funktionieren.
Da es sich um ein Makro handelt, können Sie es so bearbeiten, dass es beliebige Regeln enthält (z. B. in anderen Ordnern suchen oder spezielle Namensregeln, wenn Sie einen einzelnen Header haben, der von mehreren CPP-Dateien oder ähnlichem gemeinsam genutzt wird).
Hier ist das Makro (ich bin sicher, es könnte besser geschrieben werden; ich bin mit den VS-Objekten nicht vertraut und nur realisierte Makros verwendeten .Net ungefähr zur Hälfte des Schreibens :)):
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
Hier ist ein (sehr breiter :) Screenshot, der zeigt, wie der Makro-Editor und die Hotkey- / Options-Dialoge aussehen sollten, um denjenigen zu helfen, die nicht mit ihnen vertraut sind:
Probieren Sie PhatStudio aus . Es ist kostenlos und wird mit einem einfachen Installationsprogramm geliefert.
ALT+ S= Zwischen Header / Quelldatei wechseln
ALT+ O= Öffnen Sie eine Datei (unterstützt die sofortige Suche durch Eingabe, wie das Startmenü in Windows Vista / 7).
Probieren Sie Visual Assist aus, das genau diese Funktion bietet (unter anderem):
Die Code-Browsing-Funktionalität - zu der auch der Header / CPP-Austausch gehört - ist wirklich gut.
(Ich habe auch die Intellisense- und Refactoring-Funktionen wirklich bewertet, aber nicht jeder, mit dem ich gesprochen habe, hat mir zugestimmt.)
BEARBEITEN: Ich erinnere mich, dass das Nifty Solution Plugin dies auch tut - plus eine weitere handliche Visual Assist-ähnliche Sache, obwohl sonst nichts - und sie sind kostenlos:
http://code.google.com/p/niftyplugins/
(Das Perforce-Plugin des Typen ist auch großartig. Viel besser als der Standard-VSSCC-Müll.)
In Visual Studio 2008 und 2010 können Sie mit der rechten Maustaste in Ihre CPP-Datei klicken und "Gehe zu Header-Datei" wählen, um in eine Richtung zu gelangen. Wenn Sie in der anderen Richtung mit der rechten Maustaste auf etwas klicken, das Sie in der Kopfzeile deklarieren, und "Zur Definition gehen" wählen, gelangen Sie in die andere Richtung. Wenn Sie den Konstruktor auswählen, müssen Sie möglicherweise ein Dialogfeld zur Auflösung von Mehrdeutigkeiten durchlaufen, da der Funktionsname mit dem Klassennamen übereinstimmt. Wenn Sie jedoch etwas anderes auswählen, gehen Sie direkt dorthin, wo Sie möchten. Ich weiß, dass dies ein Zwei-Klick-Ansatz ist und nicht ein Tastendruck, aber er macht das, was Sie wollen.
Wenn Sie mit der Maus über eine Funktionsdeklaration in der Kopfzeile fahren und F12 drücken, wird die CPP-Datei bei der Definition der CPP-Datei geöffnet ... Ich verwende diese Funktion ausgiebig!
Ich sehe diese Antwort hier nicht, aber zumindest in Visual Studio 2012 (Express enthalten!) Können Sie einfach Ihren eigenen Tastaturbefehl zuweisen, um zur Header-Datei zu gelangen (HINWEIS: Nur in eine Richtung - Sie können nicht gehen zurück zur Quelldatei leider ...)
Ich bin mir nicht sicher, in welchen VS-Versionen dies funktioniert, erfordert jedoch keine Add-Ins und scheint den Trick in mindestens eine Richtung zu tun.
Versuchen Sie es mit Switch - es ist ein Add-In, mit dem Sie zwischen Quelle und Header, Code und Designer, XAML und Codebehind usw. wechseln können.
http://www.dwmkerr.com/switch/ oder direkt von Products and Extensions for Visual Studio
Es gibt auch ein Makro im Whole Tomato-Support-Forum, das einige weitere Dateizuordnungen enthält.
Für Visual Studio 2013 ist es, wie von anderen erwähnt, der Befehl mit dem Namen:
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
und es hat als Standardkombination von Tasten: Ctrl+ K, Ctrl+ O, aber es kann geändert werden, wenn Sie die neue Tastenkombination einführen, die Sie in der
Drücken Sie die Tastenkombinationen:
unter
Extras -> Optionen -> Umgebung -> Tastatur .
Sie können also eine benutzerdefinierte Tastenkombination auswählen, da mein Favorit für den Schalter .h zu .cpp Ctrl+ ist Tab.
In Visual Studio 2008 ist es Alt+ O.
In ihrer (un) endlichen Weisheit hat MS beschlossen, Makros in MSVS 2012 zu entfernen, sodass das obige Makro nicht funktioniert.
Für MSVS 2012 habe ich Folgendes gefunden:
http://www.dwmkerr.com/switch/
Es ist hochgradig konfigurierbar + wenn Sie bei der Verbesserung helfen möchten, können Sie dies auf GitHub tun.
In Visual Studio 2013 ist es ALT
+O