web-dev-qa-db-ja.com

VC ++でヘッダーとソースファイル間を移動するショートカットはありますか?

これはEclipseで慣れ親しんできた機能です(Ctrl+Tab)。 Visual C++に同等のものはありますか?

99
JeffV

Visual Studio 2013以降には、これに対するデフォルトのキーボードショートカットがあります。 Ctrl+K、 Ctrl+O (Ctrlを押しながらkoと入力してから離す必要があります) Ctrl

以前のバージョンでは、次を参照してください。

CPPファイルとHファイルを切り替えるVisual Studioマクロ

または

ビジュアルアシストで対応するファイルを開く

123
Kyle Alons

Visual Studio 2013では、これのデフォルトのキーボードショートカットは Ctrl+K、 Ctrl+O

30
Anton K

このマクロをVS構成に追加し([ツール]-> [マクロ]-> [マクロエクスプローラー])、ホットキーを割り当てます([ツール]-> [オプション]-> [環境]-> [キーボード])。

私はそれを書いただけです(これは何年も試してみるつもりです!)が、VS2008とVS2010の両方で今のところうまくいくようです。

マクロなので、編集して任意のルールを含めることができます(たとえば、他のフォルダーを検索したり、複数のcppファイルなどで単一のヘッダーを共有している場合は特別な命名ルールを追加したりできます)。

ここにマクロがあります(より良く書けると確信しています; VSオブジェクトに不慣れで、実現したマクロのみが物を書く途中で.Netを使用していました:)):

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

以下は、マクロエディターとホットキー/オプションダイアログがどのように見えるかを示すスクリーンショットです(非常に広い:))。

enter image description here

24
Leo Davidson

この機能を備えたVisual Assistを試してください(とりわけ):

http://www.wholetomato.com/

コード閲覧機能-ヘッダー/ cppスワップはその一部です-は本当に良いです。

(インテリセンス機能とリファクタリング機能も評価しましたが、私が話したすべての人が同意してくれたわけではありません。)

編集:ちょうど覚えておいて、Nifty Solution Pluginもこれを行います-さらに、Visual Assistに似た別の便利なもの、他に何もありません-そしてそれらは無料です:

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

(男のperforceプラグインも素晴らしいです。デフォルトのVSSCCのゴミよりもはるかに優れています。)

8

PhatStudio を試してください。無料で、簡単なインストーラーが付属しています。

  • ALT + S =ヘッダー/ソースファイルを切り替える

  • ALT + O =ファイルを開きます(Windows Vista/7のスタートメニューのように、タイピングによるインスタント検索をサポートしています)。

8
Tymek

ここにはこの答えは表示されませんが、少なくともVisual Studio 2012(Expressが含まれています!)では、独自のキーボードコマンドを割り当ててヘッダーファイルに移動できます(注:片道のみ-移動できません残念ながらソースファイルに戻ります...)

  1. ツール/オプション/環境/キーボードに移動します。
  2. 次のコマンドを見つけます:EditorContextMenus.CodeWindow.GoToHeaderFile
  3. 必要なキーの組み合わせを割り当てます(Alt-Sが機能します)
  4. 利益

これがどのVSのバージョンで機能するかはわかりませんが、アドインを必要とせず、少なくとも1つの方向でトリックを行うようです。

5
aardvarkk

Visual Studio 2008および2010では、.cppファイルを右クリックし、[ヘッダーファイルに移動...]を選択すると、一方向に移動できます。他の方向では、ヘッダーで宣言しているものを右クリックし、[定義に移動]を選択すると、別の方向に移動します。関数名がクラス名と一致するため、コンストラクターを選択した場合、あいまいさ解決ダイアログを表示する必要がありますが、他のものを選択した場合は、目的の場所にまっすぐ進みます。これは、1回のキーストロークではなく2クリックのアプローチであることは知っていますが、望みどおりに実行します。

5
Kate Gregory

ヘッダーの関数宣言の上にマウスを置き、F12を押すと、cppファイルの定義でcppファイルが開きます...この機能を広範囲に使用します!

5
user206705

スイッチを使用してみてください-これは、ソースとヘッダー、コードとデザイナー、XAMLとコードビハインドなどを切り替えることができるアドインです。

http://www.dwmkerr.com/switch/ または直接 Visual Studioの製品と拡張機能

4
Dave Kerr

私はこれを行うためのビジュアルアシストのファンです。安くはありませんが、ヘッダーとソースを切り替えるよりも多くの機能を提供します。また、プロジェクトやクラスブラウジング機能でそのオープンファイルを多く使用しています。もちろん、マクロは無料です...

3
JohnO

Whole Tomatoサポートフォーラムにリストされているマクロ もあり、これにはさらにいくつかのファイルマッピングがあります。

2
sean e

Visual Studio 2013の場合、他の人が述べたように、次の名前のコマンドです。

EditorContextMenus.CodeWindow.ToggleHeaderCodeFile

キーのデフォルトの組み合わせとして: Ctrl+KCtrl+O、しかし、あなたが好きなキーの新しい組み合わせを導入する場合、それは変更することができます

ショートカットキーを押す:

ツール->オプション->環境->キーボード

.hから.cppへの切り替えで私のお気に入りとしてカスタムキーの組み合わせを選択できます。 Ctrl+Tab

2
meJustAndrew

ビジュアルアシストは、Visual Studio Expressエディションもサポートしていません。したがって、そのIDEを使用している場合は、マクロで立ち往生しています>

1
Fion

Visual Studio 2008では Alt + O

0
Marek Szanyi

Visual Studio 2013では、ALT + Oです。

0
Sagi

(無限の)知恵で、MSはMSVS 2012でマクロを削除することを決定したため、上記のマクロは機能しません。

MSVS 2012の場合、これを見つけました。

http://www.dwmkerr.com/switch/

高度な設定が可能です+改善したい場合は、GitHubで行うことができます。

0
Csimbi