Có lối tắt nào để di chuyển giữa tiêu đề và tệp nguồn trong VC ++ không?


112

Đây là một tính năng mà tôi đã quen thuộc trong Eclipse ( Ctrl+ Tab). Có tương đương trong Visual C ++ không?



@ LưuVĩnhPhúc Khi bạn đang ở phần tiêu đề hoặc mã nguồn trong Eclipse, hãy nhấn Alt-Tab và Eclipse sẽ chuyển bạn giữa nguồn và tiêu đề, giả sử bạn đã lập chỉ mục dự án đúng cách.
MrMas

Câu trả lời:


138

Trong Visual Studio 2013 và mới hơn, có một phím tắt mặc định cho điều này: Ctrl+ K, Ctrl+ O (Bạn sẽ cần phải giữ Ctrl và gõ ko , sau đó nhả Ctrl )

Trong các phiên bản trước, hãy xem:

Visual Studio Macro để chuyển đổi giữa các tệp CPP và H

hoặc là

Mở tệp tương ứng trong hỗ trợ trực quan


2
Visual Assist là một công cụ tuyệt vời - tôi khuyên bạn nên nó cho tất cả các nhà phát triển sử dụng MSVC
Stephen Nutt

10
Đối với người dùng VisualAssist lười biếng:Alt + O
nimcap

2
có ai có một giải pháp cho VS2013?
Shaun Rowan

5
Nó được xây dựng trong VS 2013. blogs.msdn.com/b/vcblog/archive/2013/08/23/...
Kyle Alons

3
Ok, tệ của tôi. Không nhận ra Ctrl + K & Ctrl + O thực sự là một lệnh tắt DUY NHẤT; không phải là hai lựa chọn giống nhau. Có thể đáng nói trong câu trả lời cho những người mới làm quen với VS :)
Petr Peller,

31

Trong Visual Studio 2013, phím tắt mặc định cho phím này là Ctrl+ K, Ctrl+O


không hoạt động đối với tôi. 2013 Phiên bản Cộng đồng. Cài đặt chung. Tên dấu phẩy trong cửa sổ Tùy chỉnh / Bàn phím là gì?
Jurlie

12
Tên lệnh:EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
codekaizen

24

Bạn có thể thêm macro này vào cấu hình VS của mình (thông qua Công cụ -> Macro -> Macro Explorer) sau đó gán phím nóng cho nó (thông qua Công cụ -> Tùy chọn -> Môi trường -> Bàn phím).

Tôi chỉ mới viết nó (có nghĩa là để thử điều này cho các lứa tuổi!) Nhưng nó dường như hoạt động cho đến nay, trong cả VS2008 và VS2010.

Vì đó là một macro nên bạn có thể chỉnh sửa nó để bao gồm bất kỳ quy tắc nào bạn muốn (ví dụ: tìm kiếm trong các thư mục khác hoặc quy tắc đặt tên đặc biệt nếu bạn có một tiêu đề duy nhất được chia sẻ bởi nhiều tệp cpp hoặc tương tự).

Đây là macro (tôi chắc chắn rằng nó có thể được viết tốt hơn; tôi không quen với các đối tượng VS và chỉ nhận ra macro đang sử dụng .Net khoảng một nửa thông qua việc viết nó :)):

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

Đây là ảnh chụp màn hình (rất rộng :)) cho thấy trình chỉnh sửa macro và hộp thoại phím nóng / tùy chọn sẽ trông như thế nào, để giúp những người không quen thuộc với chúng:

nhập mô tả hình ảnh ở đây


1
Một thủ thuật macro VS yêu thích khác: Ghi lại một macro gắn trình gỡ lỗi vào exe mà bạn luôn làm việc, sau đó dán nó trên thanh công cụ. Phần đính kèm bằng một cú nhấp chuột vào tiến trình đang chạy đó bất cứ khi nào bạn cần gỡ lỗi nó.
Leo Davidson

ồ điều đó thật tuyệt! Hoạt động tốt hơn Plugin Nifty Solutions, bởi vì Plugin chỉ có thể chuyển đổi giữa .h và .cpp, nó không chuyển từ .hpp sang .cpp
j00hi

Nhưng đặt macro ở đâu? Vì một số lý do VS2010 của tôi đã có macro "Module1" ... vì vậy tôi đã nhấp đúp để chỉnh sửa nó và chèn mã macro vào bên trong "Public Module Module1". Từ đó Công cụ => Tùy chọn => Môi trường => Bàn phím để thiết lập phím tắt trong Trình soạn thảo văn bản.
Qwertie

Xuất sắc, đã thử nghiệm và đang hoạt động. Câu trả lời được đăng vào tháng 11 năm 2010 - Nó vẫn hoạt động vào tháng 7 năm 2012. Hoàn hảo!
rptr

1
Alex: Macro là toàn cầu đối với Visual Studio. Chúng được lưu trong "dự án vĩ mô" (cho phép bạn lưu và tải các nhóm macro) nhưng chúng không liên quan đến loại giải pháp / dự án thông thường, theo như tôi có thể nói. Tôi có một số macro được xác định trong dự án macro mặc định có sẵn trước (và sau khi) tôi mở bất kỳ giải pháp hoặc dự án nào.
Leo Davidson

9

Hãy thử PhatStudio . Nó miễn phí và đi kèm với một trình cài đặt dễ dàng.

  • ALT+ S= Chuyển đổi giữa tiêu đề / tệp nguồn

  • ALT+ O= Mở tệp (hỗ trợ tìm kiếm tức thì bằng cách nhập, giống như menu bắt đầu trong Windows Vista / 7).


Cảm ơn, đây là giải pháp dễ dàng nhất và cũng miễn phí.
Russell Davis

8

Hãy thử Hỗ ​​trợ trực quan, có tính năng này (trong số các tính năng khác):

http://www.wholetomato.com/

Chức năng duyệt mã - trong đó hoán đổi tiêu đề / cpp là một phần - thực sự tốt.

(Tôi cũng thực sự đánh giá cao tính năng intellisense và tái cấu trúc của nó, nhưng không phải tất cả những người tôi đã nói chuyện đều đồng ý với tôi.)

CHỈNH SỬA: chỉ cần nhớ rằng, Plugin Nifty Solution cũng thực hiện điều này - cộng với một thứ tương tự như Visual Assist thủ công khác, mặc dù không có gì khác - và chúng miễn phí:

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

(Plugin perforce của anh chàng cũng tuyệt vời. Tốt hơn nhiều so với rác VSSCC mặc định.)


Tôi sẽ cung cấp cho Hỗ trợ trực quan một cái nhìn. Tôi đã cho rằng nó chỉ dành cho các ngôn ngữ .NET.
Nate

5

Trong Visual Studio 2008 và 2010, bạn có thể nhấp chuột phải vào tệp .cpp của mình và chọn Đi tới tệp tiêu đề ... sẽ đưa bạn theo một hướng. Đối với hướng khác, nếu bạn nhấp chuột phải vào nội dung bạn đang khai báo trong tiêu đề và chọn Đi tới Định nghĩa, điều đó sẽ đưa bạn sang hướng khác. Bạn có thể phải trải qua một hộp thoại giải quyết sự không rõ ràng nếu bạn chọn hàm tạo, vì tên hàm khớp với tên lớp, nhưng nếu bạn chọn bất kỳ thứ gì khác, bạn sẽ đi thẳng đến nơi bạn muốn. Tôi biết đây là cách tiếp cận bằng hai lần nhấp chuột, thay vì một lần nhấn phím, nhưng nó thực hiện những gì bạn muốn.


5

Nếu bạn di chuột qua khai báo hàm trong tiêu đề và nhấn F12, tệp cpp sẽ được mở ở định nghĩa của tệp cpp ... Tôi sử dụng rộng rãi tính năng này!


5

Tôi không thấy câu trả lời này ở đây, nhưng ít nhất trong Visual Studio 2012 (bao gồm Express!), Bạn có thể chỉ định lệnh bàn phím của riêng mình để truy cập tệp tiêu đề (LƯU Ý: Chỉ đi một chiều - bạn không thể đi không may quay lại tệp nguồn ...)

  1. Đi tới Công cụ / Tùy chọn / Môi trường / Bàn phím.
  2. Tìm lệnh sau: EditorContextMenus.CodeWindow.GoToHeaderFile
  3. Gán bất kỳ tổ hợp phím nào bạn muốn (Alt-S hoạt động)
  4. Lợi nhuận

Không chắc phiên bản này hoạt động trong phiên bản VS nào, nhưng nó không yêu cầu bất kỳ phần bổ trợ nào và dường như thực hiện thủ thuật theo ít nhất một hướng.


Trong Visual Studio 2013 có một lệnh được gọi là EditorContextMenus.CodeWindow.ToggleHeaderCodeFile thực hiện chính xác điều đó, chuyển đổi giữa các tệp .h và .cpp.
Jaanus Varus

4

Hãy thử sử dụng Switch - đó là một addin cho phép bạn lướt qua giữa nguồn và tiêu đề, mã và trình thiết kế, XAML và codebehind, v.v.:

http://www.dwmkerr.com/switch/ hoặc trực tiếp từ Sản phẩm và Tiện ích mở rộng cho Visual Studio


1
ĐÂY LÀ ĐIỀU TÔI YÊU CẦU !!!!!!!!!!!! CẢM ƠN!!!!!!!!!!! Nếu trình cài đặt không hoạt động, hãy sử dụng trình cài đặt từ codeproject.com/Articles/324611/… .
Michal Sznajder

3

Tôi là một fan hâm mộ của Visual Assist để làm điều này. Nó không rẻ nhưng nó cung cấp nhiều chức năng hơn là chuyển đổi giữa tiêu đề và nguồn. Tôi cũng sử dụng tệp mở của nó trong các tính năng duyệt dự án và lớp học rất nhiều. Tất nhiên macro là miễn phí ...



2

Đối với Visual Studio 2013, như những người khác đã đề cập, đó là lệnh có tên:

EditorContextMenus.CodeWindow.ToggleHeaderCodeFile

và nó có tổ hợp phím mặc định: Ctrl+ K, Ctrl+ O, nhưng nó có thể được thay đổi nếu bạn giới thiệu tổ hợp phím mới mà bạn thích trong

Nhấn các phím tắt:

Dưới

Công cụ -> Tùy chọn -> Môi trường -> Bàn phím .

Vì vậy, bạn có thể chọn một tổ hợp phím tùy chỉnh như yêu thích của tôi cho chuyển đổi .h sang .cpp là Ctrl+ Tab.


1

Hỗ trợ trực quan cũng không hỗ trợ các phiên bản Visual studio express. Vì vậy, bạn bị mắc kẹt với macro nếu bạn đang sử dụng IDE đó>


0

Trong Visual Studio 2008, nó là Alt+ O.


8
Bạn phải cài đặt Hỗ trợ trực quan - đó là liên kết phím lệnh Hỗ trợ trực quan.
sean e

0

Trong sự khôn ngoan hữu hạn (trong) của họ, MS đã quyết định loại bỏ macro trong MSVS 2012, vì vậy macro trên sẽ không hoạt động.

Đối với MSVS 2012, tôi tìm thấy điều này:

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

Nó có thể cấu hình cao + nếu bạn muốn giúp cải thiện nó, bạn có thể làm như vậy trên GitHub.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.