क्या VC ++ में हेडर और सोर्स फाइल के बीच एक शॉर्टकट है?


112

यह एक ऐसी विशेषता है जिसे मैं ग्रहण ( Ctrl+ Tab) में आदी हो गया हूं । क्या विजुअल C ++ में कोई समकक्ष है?



@ LưuV LnhPhúc जब आप ग्रहण में हेडर या स्रोत कोड में होते हैं, तो Alt-Tab दबाएं और ग्रहण आपको स्रोत और हेडर के बीच स्विच करना चाहिए, यह मानते हुए कि आपने प्रोजेक्ट को ठीक से अनुक्रमित किया है।
MrMas

जवाबों:


138

दृश्य स्टूडियो 2013 में और बाद में इसके लिए एक डिफ़ॉल्ट कीबोर्ड शॉर्टकट है: Ctrl+ K, Ctrl+ O (आपको Ctrl दबाए रखना होगा और ko टाइप करना होगा और फिर Ctrl जारी करना होगा )

पहले के संस्करणों में, देखें:

Visual Studio मैक्रो CPP और H फ़ाइलों के बीच स्विच करने के लिए

या

विजुअल असिस्ट में ओपन करेस्पॉन्डिंग फाइल


2
विजुअल असिस्ट एक बेहतरीन टूल है - मैं इसे MSVC का उपयोग करने वाले सभी डेवलपर्स के लिए सुझाऊंगा
स्टीफन न्यूट

10
आलसी VisualAssist उपयोगकर्ताओं के लिए:Alt + O
निमेक करें

2
किसी को भी VS2013 के लिए एक समाधान है?
शॉन रोवन

5
इसे VS 2013 में बनाया गया है। blogs.msdn.com/b/vcblog/archive/2013/08/23/…
Kyle Alons

3
ठीक है, मेरा बुरा। क्या पता नहीं था कि Ctrl + K & Ctrl + O वास्तव में एक सिंगल शॉर्टकट कमांड है; एक ही के दो विकल्प नहीं। उन लोगों के लिए जवाब में ध्यान देने योग्य हो सकता है जो वीएस के लिए नए हैं :)
पेट्र पेलर

31

Visual Studio 2013 में इसके लिए एक डिफ़ॉल्ट कीबोर्ड शॉर्टकट Ctrl+ K, Ctrl+ हैO


मेरे लिए काम नहीं करता। सामान्य सेटिंग्स। कस्टमाइज़ / कीबोर्ड विंडो में कमोड का नाम क्या है?
जुरली

12
कमांड का नाम:EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
कोडकाइजन

24

आप इस मैक्रो को अपने VS कॉन्फिग में जोड़ सकते हैं (टूल्स -> मैक्रोज़ -> मैक्रो एक्सप्लोरर के माध्यम से) फिर इसे एक हॉटकी असाइन करें (टूल्स के माध्यम से -> विकल्प -> पर्यावरण -> कीबोर्ड)।

मैंने केवल इसे लिखा है (युगों के लिए यह प्रयास करने का अर्थ है!) लेकिन यह VS2008 और VS2010 दोनों में अब तक काम करता है।

चूंकि यह एक मैक्रो है जिसे आप जो भी नियम चाहते हैं उसे शामिल करने के लिए इसे संपादित कर सकते हैं (जैसे कि अन्य फ़ोल्डरों में देख रहे हैं, या विशेष नामकरण नियम यदि आपके पास एक ही हैडर कई सीपीपी फ़ाइलों या समान द्वारा साझा किया गया है)।

यहां मैक्रो है (मुझे यकीन है कि यह बेहतर लिखा जा सकता है; मैं वीएस ऑब्जेक्ट्स से अपरिचित हूं और केवल एहसास हुआ कि मैक्रोज़ उपयोग कर रहे हैं। बात लिखने के माध्यम से आधे रास्ते के बारे में :)):

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

यहाँ (बहुत विस्तृत :)) स्क्रीनशॉट दिखा रहा है कि मैक्रो संपादक और हॉटकी / विकल्प संवाद क्या दिखना चाहिए, इससे परिचित लोगों की मदद करने के लिए:

यहां छवि विवरण दर्ज करें


1
एक और पसंदीदा वीएस मैक्रो ट्रिक: डिबगर को उस एक्सई पर अटैच करने की एक मैक्रो रिकॉर्ड करें जिस पर आप हमेशा काम कर रहे हैं, फिर टूलबार पर उसे चिपका दें। जब भी आपको इसे डीबग करने की आवश्यकता होती है, उस रनिंग प्रक्रिया के लिए एक-क्लिक अनुलग्नक।
लियो डेविडसन

वाह बहुत अच्छा है! निफ्टी सॉल्यूशन प्लगइन की तुलना में बेहतर काम करता है, क्योंकि प्लगिन केवल .h और .cpp के बीच स्विच कर सकता है, यह
.hpp

लेकिन मैक्रो को कहां रखा जाए? किसी कारण से मेरे VS2010 में पहले से ही "मॉड्यूल 1" मैक्रो है ... इसलिए मैंने इसे संपादित करने के लिए डबल-क्लिक किया और मैक्रो कोड "पब्लिक मॉड्यूल मॉड्यूल 1" के अंदर डाला। वहाँ से उपकरण => विकल्प => पर्यावरण => पाठ संपादक में एक शॉर्टकट स्थापित करने के लिए कीबोर्ड।
क्वर्टी

बहुत बढ़िया, परीक्षण और काम। उत्तर नवंबर 2010 में पोस्ट किया गया - यह अभी भी जुलाई 2012 में काम करता है। परफेक्ट!
राित्र

1
एलेक्स: मैक्रोज़ विज़ुअल स्टूडियो के लिए वैश्विक हैं। वे "मैक्रो प्रोजेक्ट्स" में सहेजे जाते हैं (जो आपको मैक्रोज़ के समूहों को बचाने और लोड करने देते हैं), लेकिन वे सामान्य प्रकार के समाधान / प्रोजेक्ट से असंबंधित हैं, जहां तक ​​मैं बता सकता हूं। मेरे पास डिफ़ॉल्ट मैक्रो प्रोजेक्ट में परिभाषित कई मैक्रोज़ हैं जो पहले (और बाद में) उपलब्ध हैं मैं किसी भी समाधान या परियोजना को खोलता हूं।
लियो डेविडसन

9

PhatStudio का प्रयास करें । यह मुफ़्त है और एक आसान इंस्टॉलर के साथ आता है।

  • ALT+ S= हेडर / सोर्स फाइल के बीच स्विच करें

  • ALT+ O= एक फ़ाइल खोलें (टाइपिंग के माध्यम से त्वरित खोज का समर्थन करता है, जैसे विंडोज विस्टा / 7 में स्टार्ट मेनू)।


धन्यवाद, यह गुच्छा का सबसे आसान समाधान है, और मुफ्त भी।
रसेल डेविस

8

विज़ुअल असिस्ट को आज़माएं, जो इस सुविधा को (दूसरों के बीच) स्पोर्ट करता है:

http://www.wholetomato.com/

कोड ब्राउज़िंग कार्यक्षमता - जिनमें से हेडर / सीपीपी स्वैप एक भाग है - वास्तव में अच्छे हैं।

(मैं भी वास्तव में इसकी मधुरता और रीफ्रैक्टिंग विशेषताओं का मूल्यांकन करता हूं, लेकिन मेरे द्वारा सहमति व्यक्त की गई हर किसी से बात नहीं की गई है।)

संपादित करें: बस याद किया गया, निफ्टी सॉल्यूशन प्लगिन भी ऐसा करता है - इसके अलावा एक और विजुअल असिस्ट असिस्ट जैसी चीज, हालांकि और कुछ नहीं - और वे स्वतंत्र हैं:

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

(लड़के का पर्फोरमेंट प्लगइन बहुत अच्छा है, डिफ़ॉल्ट VSSCC बकवास से बहुत बेहतर है।)


मैं विज़ुअल असिस्ट को एक लुक दूंगा। मैंने मान लिया था कि यह केवल .NET भाषाओं के लिए है।
नैट

5

विजुअल स्टूडियो 2008 और 2010 में, आप अपनी .cpp फ़ाइल में राइट क्लिक कर सकते हैं और Go To Header फ़ाइल ... को चुन सकते हैं, जो आपको एक दिशा में ले जाएगी। दूसरी दिशा के लिए, यदि आप हेडर में घोषित होने वाली किसी चीज़ पर राइट क्लिक करते हैं, और गो टू डेफिनिशन चुनते हैं, तो यह आपको दूसरी दिशा में ले जाएगा। यदि आप कंस्ट्रक्टर चुनते हैं, तो आपको अस्पष्टता रिज़ॉल्यूशन डायलॉग से गुजरना पड़ सकता है, क्योंकि फ़ंक्शन का नाम क्लास के नाम से मेल खाता है, लेकिन यदि आप कुछ और चुनते हैं, तो आप सीधे वहीं जाएंगे जहां आप चाहते हैं। मुझे पता है कि यह एक कीस्ट्रोक के बजाय एक दो-क्लिक दृष्टिकोण है, लेकिन यह वही करता है जो आप चाहते हैं।


5

यदि आप हेडर में एक फ़ंक्शन घोषणा पर अपने माउस को स्थिति में रखते हैं और F12 दबाते हैं, तो cpp फ़ाइल cpp फ़ाइल की परिभाषा में खोली जाएगी ... मैं इस सुविधा का बड़े पैमाने पर उपयोग करता हूं!


5

मुझे यह उत्तर यहां नहीं दिखता है, लेकिन कम से कम विज़ुअल स्टूडियो 2012 (एक्सप्रेस शामिल!) में, आप हेडर फ़ाइल पर जाने के लिए बस अपने स्वयं के कीबोर्ड कमांड को असाइन कर सकते हैं (नोट: केवल एक ही रास्ता जाता है - आप नहीं जा सकते दुर्भाग्य से स्रोत फ़ाइल पर वापस ...)

  1. टूल्स / विकल्प / पर्यावरण / कीबोर्ड पर जाएं।
  2. निम्न आदेश खोजें: EditorContextMenus.CodeWindow.GoToHeaderFile
  3. जो भी कुंजी संयोजन चाहते हैं उसे असाइन करें (Alt-S काम करता है)
  4. फायदा

निश्चित नहीं है कि वीएस के कौन से संस्करण इसमें काम करते हैं, लेकिन इसमें किसी भी ऐड-इन्स की आवश्यकता नहीं है और कम से कम एक दिशा में चाल करने के लिए लगता है।


विजुअल स्टूडियो 2013 में EditorContextMenus.CodeWindow.ToggleHeaderCodeFile नामक एक कमांड है जो वास्तव में .h और .cpp फ़ाइलों के बीच टॉगल करता है।
जानूस व्रूस

4

स्विच का उपयोग करने का प्रयास करें - यह एक ऐडिन है जो आपको स्रोत और हेडर, कोड और डिज़ाइनर, एक्सएएमएल और कोडबेहैंड आदि के बीच फ़्लिक करने देता है:

http://www.dwmkerr.com/switch/ या विजुअल स्टूडियो के लिए उत्पाद और एक्सटेंशन से सीधे


1
यह क्या है जिसकी मुझे आवश्यकता है !!!!!!!!!!!! धन्यवाद!!!!!!!!!!! यदि इंस्टॉलर codeproject.com/Articles/324611/… से एक का उपयोग करने से काम नहीं करता है ।
मिशाल स्जनजर

3

मैं ऐसा करने के लिए विजुअल असिस्ट का प्रशंसक हूं। यह सस्ता नहीं है, लेकिन हेडर और स्रोत के बीच स्विच करने की तुलना में यह बहुत अधिक कार्यक्षमता प्रदान करता है। मैं प्रोजेक्ट और क्लास ब्राउजिंग फीचर्स में इसकी ओपन फाइल का भी इस्तेमाल करता हूं। बेशक मैक्रो मुक्त है ...



2

विजुअल स्टूडियो 2013 के लिए, जैसा कि दूसरों के द्वारा बताया गया है, जिसका नाम है:

EditorContextMenus.CodeWindow.ToggleHeaderCodeFile

और यह कुंजियों का डिफ़ॉल्ट संयोजन के रूप में दिया गया है: Ctrl+ K, Ctrl+ O, लेकिन यह अगर आपको लगता है कि आप की तरह चाबियों का नया संयोजन परिचय बदला जा सकता है

शॉर्टकट कुंजी दबाएं:

के अंतर्गत

उपकरण -> विकल्प -> पर्यावरण -> कीबोर्ड

तो आप .h से .cpp स्विच Ctrl+ के लिए मेरे पसंदीदा के रूप में एक कस्टम कुंजी संयोजन चुन सकते हैं Tab


1

दृश्य सहायता भी दृश्य स्टूडियो एक्सप्रेस संस्करणों का समर्थन नहीं करती है। यदि आप उस IDE> का उपयोग कर रहे हैं, तो आप मैक्रो के साथ फंस गए हैं


0

विजुअल स्टूडियो 2008 में यह Alt+ है O


8
आपके पास विजुअल असिस्ट स्थापित होना चाहिए - वह विज़ुअल असिस्ट कमांड कीबाइंडिंग है।
शॉन ई

0

उनके (में) परिमित ज्ञान में, MS ने MSVS 2012 में मैक्रोज़ को हटाने का फैसला किया, इसलिए ऊपर का मैक्रो काम नहीं करेगा।

MSVS 2012 के लिए, मुझे यह मिला:

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

यह अत्यधिक विन्यास योग्य है + यदि आप इसे बेहतर बनाने में मदद करना चाहते हैं, तो आप GitHub पर ऐसा कर सकते हैं।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.