विजुअल स्टूडियो: शॉर्ट कट की: डुप्लिकेट लाइन


423

क्या दृश्य स्टूडियो 2008 में डुप्लिकेट लाइन कमांड के लिए एक शॉर्टकट है ?

कुछ इसी तरह के उदाहरण:

  • में Notepad ++ , मैं के साथ मौजूदा लाइन नकल कर सकते हैं: Ctrl+D
  • में EditPlus : Ctrl+J
  • में NetBeans : Ctrl+ Shift+ /
  • में ग्रहण , Ctrl+ Alt+ /
  • में वी / विम ,yyp
  • आदि।

6
बस जानकारी के लिए, ReSharper द्वारा दिए जाने वाले कई लाभों में से एक यह करने की क्षमता है।
आकाशवाणी

2
Visualstudiogallery.msdn.microsoft.com/… इसे डाउनलोड करें और alt + D आपके चयन को डुप्लिकेट करेगा या यदि कुछ भी हाइलाइट नहीं किया गया है तो यह पूरी लाइन को डुप्लिकेट करेगा। दुर्भाग्य से दृश्य मूल मैक्रो 2013 में काम नहीं करते हैं, केवल जेएस मैक्रोज़।
shenk

1
OMG, डुप्लिकेट लाइन के लिए एक व्यक्ति को संयोजन प्रदान करने में क्या समस्या है ??? मैं ग्रहण करता था। और Ctrl + D लाइन हटाने के लिए है। यह वीएस में इतना जटिल क्यों है ???
एंड्री मुजिकुक

2
नीचे @mghhgm वह उत्तर है जिसकी आप तलाश कर रहे हैं। (शिफ्ट + ऑल्ट + डाउन या शिफ्ट + अल्ट + अप)
विक्टर बैरांट्स

1
Vim उदाहरण डुप्लिकेट नहीं है, यह ctrl + c; ctrl + v है। "यांक" कट, और पी पेस्ट। यह अन्य उदाहरणों के समान नहीं है।
एवेज़

जवाबों:


406

विजुअल स्टूडियो 2019 में

Ctrl + D

विज़ुअल स्टूडियो 2017 में (v15.6 और उसके बाद)

Ctrl + D

विजुअल स्टूडियो 2017 में (पूर्व v15.6)

(संपादित करें) यह सुविधा अब बिल्ट-इन VS2017: Ctrl+ है E, Vएक पंक्ति को डुप्लिकेट करता है यदि कुछ भी नहीं चुना गया है, या चयन को डुप्लिकेट करता है। आप इसे एक अलग कुंजी संयोजन में निर्दिष्ट कर सकते हैं, या इसे मेनू में पा सकते हैं:

Duplicate line in VS2017

अधिक जानकारी के लिए यह संदर्भ देखें ।

पूर्व VS2017, क्लिपबोर्ड का उपयोग करके अंतर्निहित विधि

जैसा कि @cand उल्लेख किया गया है, आप बस Ctrl+ कर सकते हैं C; Ctrl+ V

Ctrl+ Cकुछ भी नहीं चुने जाने पर लाइन को कॉपी करेगा।

मैक्रो समाधान (पूर्व VS2017)

यदि आप अधिक संपूर्ण समाधान लागू करना चाहते हैं, तो संभवत: एक सरल कीबोर्ड शॉर्टकट बनाएं या आप क्लिपबोर्ड को प्रभावित नहीं करना चाहते हैं, इसे देखें:

विजुअल स्टूडियो के लिए डुप्लीकेट लाइन कमांड

मूल दृश्य:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics

Public Module DuplicateLastLineModule
    Sub DuplicateLine()
        Dim line As String
        DTE.ActiveDocument.Selection.StartOfLine(0)
        DTE.ActiveDocument.Selection.EndOfLine(True)
        line = DTE.ActiveDocument.Selection.Text
        DTE.ActiveDocument.Selection.EndOfLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.StartOfLine(0)
        DTE.ActiveDocument.Selection.Text = line
    End Sub
End Module

मैक्रो बनाने के लिए, बस मैक्रो एक्सप्लोरर ("टूल्स-> मैक्रोज़-> मैक्रो एक्सप्लोरर" या Alt+ F8) पर जाएं और एक नए मॉड्यूल में कोड पेस्ट करें। अब बस इसे एक कीबोर्ड शॉर्टकट असाइन करें:

  1. टूल्स-> विकल्प पर जाएं ...
  2. पर्यावरण के तहत, कीबोर्ड पर क्लिक करें
  3. "शो कमांडिंग कॉन्टिंग" टेक्स्टबॉक्स में, "डुप्लिकेट" दर्ज करें (यह उस नाम के अनुसार जिसे आपने मॉड्यूल दिया था।)
  4. अब आपको नीचे दी गई सूची में मैक्रो देखना चाहिए
  5. "पाठ संपादक" से "सूची में नए शॉर्टकट का उपयोग करें" चुनें
  6. में सेट फोकस पाठ बॉक्स "प्रेस कुंजी शॉर्टकट" और कीबोर्ड आप whish यह (के लिए उपयोग करने पर संयोजन मारा Ctrl+ Shift+ Dमेरे मामले में)
  7. "असाइन" बटन दबाएं
  8. अब आपको "चयनित कमांड के लिए शॉर्टकट" टेक्स्ट बॉक्स में शॉर्टकट देखना चाहिए
  9. ठीक बटन दबाएं

और बस। का आनंद लें!


3
मैंने अभी इसकी कोशिश की, और यह दिलचस्प है कि यह कुछ अतिरिक्त वर्णों को दोहराता है जब शॉर्ट टैग के साथ "सर्वर-साइड कोड ब्लॉक" होता है, जैसे: <div>Profile.UserName: <%=Profile.UserName %></div>- इस मैक्रो का उपयोग करके इस लाइन को डुप्लिकेट करने के बाद, यह निम्न हो जाता है <div>Profile.UserName: <%=Profile.UserName %></div> %></div>:। जैसा कि आप देख सकते हैं, अंतिम भाग "दोहराया" है। जब इसमें कोई सर्वर साइड कोड ब्लॉक नहीं होता है, तो यह ठीक काम करता है। क्या आप इसके लिए वर्कअराउंड जानते हैं? वैसे, एक और दिलचस्प बात जो मैंने अनुभव की वह यह है कि यह मैक्रो अपेक्षाकृत "धीमा" है, जिसकी मुझे उम्मीद नहीं थी ... :)
Sk8erPeter

6
फरवरी 2014 के बाद सुरक्षा कारणों से मैक्रों अक्षम हैं। नीचे स्क्रॉल करें और सुरक्षा अद्यतन के बाद भी काम करने के लिए वेएल की विधि प्राप्त करने के लिए वर्कअराउंड के लिए मास्टरएचडी का जवाब देखें।
मास्टरएचडी

4
मुझे लगता है कि मैं Ctrl C + Ctrl V को उन मामलों में सीमित कर रहा हूं, जहां मैंने क्लिपबोर्ड पर पहले से ही कुछ कॉपी किया है, और मैं पेस्ट करने से पहले एक पंक्ति की नकल करना चाहूंगा।
आरी

1
पृथ्वी पर एक डुप्लिकेट कार्रवाई या कीबाइंडिंग को लागू करना इतना कठिन क्यों है, जो अधिकांश अन्य संपादक बहुत कुशलता और सहजता से करते हैं। : /
kisanme

1
इसकी जरूरत क्यों है। मैंने दूसरे टैब में smth कॉपी किया, मैं इस टैब में विशिष्ट लाइन पर आता हूं, मैं डुप्लीकेट लाइन और फिर कुछ कोड पेस्ट करने के लिए <code> CTRL + V </ code> का उपयोग करता हूं। नहीं तो मुझे फिर से जाकर दूसरे कोड पार्ट को रिकॉप करना होगा। ..
Augustas

136

एक मुफ्त एक्सटेंशन है जिसे आप यहां डाउनलोड कर सकते हैं जो आपको क्लिपबोर्ड सामग्री को बदलने के बिना लाइनों को डुप्लिकेट करने की अनुमति देता है।

डिफ़ॉल्ट रूप से इसकी बाध्य Alt+ से D, लेकिन आप टूल-> विकल्प-> पर्यावरण-> कीबोर्ड पर जाकर इसे अपनी इच्छानुसार बदल सकते हैं। खोज बॉक्स में "डुप्लिकेट" टाइप करें और "Edit.DuplicateSelection" के लिए देखें और जो भी आप चाहते हैं उसके शॉर्टकट को संपादित करें। मैं पसंद Ctrl+ Dअन्य संपादकों के साथ एक समान होना चाहिए।


23
यह वह वास्तविक उत्तर है जिसकी आप तलाश कर रहे हैं, यहां पर पोस्ट की गई बाकी सभी चीजें चालाक हैं, लेकिन सिर्फ वही नहीं जो इसके लिए कहा गया था।
रेम्को बूम

8
Edit.DuplicateSelectionवीएसई 2013 में उपस्थित नहीं होता है। या वास्तव में डुप्लिकेट शब्द के साथ कुछ और ।
। ᴍᴀᴛᴛ

1
visualstudiogallery.msdn.microsoft.com/... vse2013 लिए काम करता है
ऐन्डर्स एम

2
मैथ्यू, आपको HERE लिंक पर क्लिक करना होगा और एक्सटेंशन इंस्टॉल करना होगा। फिर आपको दृश्य स्टूडियो को बंद करना होगा और इसे फिर से खोलना होगा। जब आपको टूल ==> विकल्प ==> पर्यावरण ==> कीबोर्ड पर जाना होगा और तब आपको डुप्लिकेट टाइप करना होगा और आप इसे देखेंगे। फिर आप F4 दबा सकते हैं इसलिए यह QEDIT या जो भी आप चाहते हैं और जीवन अच्छा होगा
ggb667 21

यहां तक ​​कि अगर यह एक और उपकरण स्थापित करने के लिए थोड़ा दर्दनाक है, तो भी यह काम करता है और इसे अच्छी तरह से करता है। धन्यवाद !
Sbu

94

यह सरल Ctrl+ है C; Ctrl+ V, इस लिंक की जाँच करें । जब तक आप किसी पाठ का चयन नहीं करते हैं, यह कर्सर को तब दबाएगा जब आप Ctrl+ दबाते हैं C


159
ऐसे कई अवसर हैं जहाँ आप क्लिप बोर्ड के माध्यम से नहीं जाना चाहते हैं, उदाहरण के लिए यदि आप एक पंक्ति को डुप्लिकेट करना चाहते हैं और फिर इसमें कुछ सामग्री को क्लिप बोर्ड में कुछ के साथ बदलें।
इप्टा

7
ज़रूर, लेकिन एक शॉर्टकट के लिए पूछे गए प्रश्न, पाठ संपादन के लिए एक सामान्य समाधान के लिए नहीं, इसलिए मुझे लगता है कि सरल प्रयोजनों के लिए यह पर्याप्त है (कम से कम यह मेरे मामले में था)।
कैंडल

4
धन्यवाद, लेकिन मैं नोटपैड ++ में एडिट प्लस या क्रटल + डी में Ctrl + j जैसी कुछ उम्मीद कर रहा था ... वीएस 200
पोस्टो

2
मैंने केवल यही पाया है। हालाँकि यह इतना बुरा नहीं है - बेशक आसान है कि आप ctrl + D का उपयोग करें, लेकिन यदि आप 100 प्रतियों में 1 पंक्ति की नकल करना चाहते हैं, तो आप इसे ctrl + c (बिना किसी भी चीज़ का चयन किए बिना, केवल कमांड प्रॉम्प्ट पर वांछित लाइन डालकर कर सकते हैं) ) + 100 बार ctrl + v। यह केवल cystro + d समाधान से अधिक कीस्ट्रोक्स का एक सेट है। यदि आप अधिक जटिल दोहराव करना चाहते हैं तो यह अधिक समस्याग्रस्त हो सकता है।
मोमबत्ती

@ Mason240 कि मेरी प्रारंभिक प्रतिक्रिया थी और साथ ही स्वीकार किए गए उत्तर में उद्धृत भाग पर अतिरिक्त जानकारी 'जब तक आप किसी पाठ का चयन नहीं करते हैं, यह कर्सर को खत्म होने वाली रेखा को दोहराएगा ...' यह एक आदर्श बनाता है मेरे मामले में समाधान।
रयानफेस्कॉटलैंड

74

Ctrlकोई विस्तार के साथ VS2012 पर मेरे लिए + C+ Vकाम करता है।


VS2008 पर भी काम करता है!
तियोड्रोन

1
VS2017 में काम करता है।
काइल डेलाने

8
क्लिपबोर्ड ओवरराइटिंग के बिना एक समाधान की आवश्यकता है
पियरे डे LESPINAY

बस उत्तर के पूरक के लिए, आपको केवल पहले दोहराव के लिए पूर्ण संयोजन को दबाने की आवश्यकता है। दूसरे से, बस Ctrl + V को बार-बार दबाएं क्योंकि आपको लाइन की प्रतिकृति बनाते रहने की आवश्यकता है।
लुटिया

34

Ctrl+ Dमेरे लिए Res201per के साथ VS2012 में काम करता है। यह Resharper की गर्म कुंजी है।


11
इसका नहीं, केवल यह महसूस किया कि पोस्ट करने के बाद, लेकिन यह एक Resharper शॉर्टकट है। और यदि किसी ने पुनर्स्थापना स्थापित की है, तो यह मदद कर सकता है।
Sawe

1
मेरे पास पुनर्खरीद है, और उस शॉर्टकट को नहीं जानता है! धन्यवाद।
दानो

यह डिफ़ॉल्ट शॉर्टकट है यदि आप Resharper की "Resharper 2.x या IntelliJ IDEA" कीबोर्ड योजना का उपयोग कर रहे हैं। Resharper में आपने इंस्टॉल के दौरान कीबोर्ड मैपिंग का चयन किया है। "विज़ुअल स्टूडियो" कीबोर्ड योजना विकल्पों में से एक है। यदि आप "विज़ुअल स्टूडियो" कीबोर्ड स्कीम चुनते हैं, तो Ctrl + D को किसी अन्य चीज़ से मैप किया जाएगा।
जियोमैक

यह एक ReSharper सवाल का जवाब है।
एंटनी बूथ

ध्यान दें कि यह तब भी काम करता है जब कई पंक्तियों का चयन किया जाता है, यानी आप केवल एक पंक्ति को ही नहीं, बल्कि कोड के एक पूरे समूह को डुप्लिकेट कर सकते हैं। निश्चित रूप से नकारात्मक यह है कि पुनर्खरीद मुक्त नहीं है (लेकिन ऐसा लगता है कि .Net दुनिया उस जावा दुनिया की तुलना में अधिक उपयोग की जाती है, जहां से मैं आता हूं)।
आमोस एम। बढ़ई

31

Visual Studio 2013 में आप Ctrl+ C+ का उपयोग कर सकते हैंV


2
खुशी है कि मैं नीचे टहल आया। मुझे यही चाहिए था।
डेरिल

वीएस कोड लिनक्स पर भी काम कर रहा है।
हान

4
क्लिपबोर्ड को ओवरराइट किए बिना एक समाधान की आवश्यकता है
पियरे डी लेस्पिन

2
बहुत अच्छा होगा अगर क्लिपबोर्ड को ओवरराइड नहीं किया
mikus

23

यहां वेएल द्वारा पोस्ट किए गए लिंक पर आधारित एक मैक्रो है, लेकिन निम्नलिखित क्षेत्रों में सुधार किया गया है:

  • थोड़ा कम
  • थोड़ा तेज
  • टिप्पणियाँ :)
  • "///" से शुरू होने वाली लाइनों के लिए व्यवहार करता है
  • एक पूर्ववत के साथ पूर्ववत किया जा सकता है
Imports System
Imports EnvDTE
Imports EnvDTE80

Public Module Module1

    Sub DuplicateLine()
        Dim sel As TextSelection = DTE.ActiveDocument.Selection
        sel.StartOfLine(0) '' move to start
        sel.EndOfLine(True) '' select to end
        Dim line As String = sel.Text
        sel.EndOfLine(False) '' move to end
        sel.Insert(ControlChars.NewLine + line, vsInsertFlags.vsInsertFlagsCollapseToEnd)
    End Sub

End Module

1
हाँ, यह वास्तव में काम करता है, स्वीकृत उत्तर में से एक यादृच्छिक सामान को नई लाइन में कॉपी कर रहा था। अच्छा काम, धन्यवाद!
ज़ुलाउज़ 2

मुझे वीएस 2010 एक्सप्रेस में मैक्रोज़ विकल्प नहीं मिला, क्या इसे वहां लागू किया जा सकता है?
नेनोटलेप

1
फरवरी 2014 के बाद सुरक्षा कारणों से मैक्रों अक्षम हैं। नीचे स्क्रॉल करें और सुरक्षा अद्यतन के बाद भी काम करने के लिए मार्क की विधि प्राप्त करने के लिए समाधान के लिए मास्टरएचडी का जवाब देखें।
मास्टरएचडी

11

यदि आप ग्रहण शैली रेखा (या ब्लॉक) का उपयोग करना पसंद करते हैं , तो मैं इस उद्देश्य के लिए मैक्रो पोस्ट करता हूं, नीचे CTRL+ ALT+ UPया CTRL+ UP+ का उपयोग करके DOWN:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics

Public Module DuplicateLineModule
    Sub DuplicateLineDown()
        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        Dim lineNumber As Integer
        Dim line As String

        If selection.IsEmpty Then
            selection.StartOfLine(0)
            selection.EndOfLine(True)
        Else
            Dim top As Integer = selection.TopLine
            Dim bottom As Integer = selection.BottomLine

            selection.MoveToDisplayColumn(top, 0)
            selection.StartOfLine(0)

            selection.MoveToDisplayColumn(bottom, 0, True)
            selection.EndOfLine(True)
        End If

        lineNumber = selection.TopLine
        line = selection.Text

        selection.MoveToDisplayColumn(selection.BottomLine, 0)
        selection.EndOfLine()
        selection.Insert(vbNewLine & line)
    End Sub
    Sub DuplicateLineUp()
        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        Dim lineNumber As Integer
        Dim line As String

        If selection.IsEmpty Then
            selection.StartOfLine(0)
            selection.EndOfLine(True)
        Else
            Dim top As Integer = selection.TopLine
            Dim bottom As Integer = selection.BottomLine

            selection.MoveToDisplayColumn(top, 0)
            selection.StartOfLine(0)

            selection.MoveToDisplayColumn(bottom, 0, True)
            selection.EndOfLine(True)
        End If

        lineNumber = selection.BottomLine
        line = selection.Text

        selection.MoveToDisplayColumn(selection.BottomLine, 0)
        selection.Insert(vbNewLine & line)
        selection.MoveToDisplayColumn(lineNumber, 0)
    End Sub
End Module

10

इतने लंबे समय से तैयार किए गए तरीके कुछ सरल को पूरा करने के लिए क्यों? Microsoft से एक्सटेंशन को डाउनलोड और इंस्टॉल करने में एक मिनट से भी कम समय लगता है। पृष्ठ कहता है कि यह डिफ़ॉल्ट रूप से इसे ALT+ Dसे बाँध देगा , लेकिन मेरे लिए यह इसे CTRL+ तक सीमित करता हैD बिना किसी बदलाव के Visual Studio सामुदायिक 2015 में स्वचालित रूप ।

Microsoft.com से एक्सटेंशन डाउनलोड करने के लिए लिंक यहाँ दिया गया है।


यह सवाल विजुअल स्टूडियो 2008 के बारे में है, न कि 2015 :)
सारकॉम

यह ध्यान दिया जाना चाहिए कि यह एक्सटेंशन चयनित लाइनों को डुप्लिकेट करता है, न कि चयन को। लेकिन यह अभी भी उपयोगी है।
एवीव्स

यह मेरे लिए सबसे उपयोगी है क्योंकि मुझे ऐसा समाधान चाहिए था जो क्लिपबोर्ड में मेरे पास मौजूद न हो। यह विस्तार वही है जो मैं देख रहा था। और विस्तार लेखक के अनुसार, यह वर्तमान में विज़ुअल स्टूडियो 2012, 2013, 2015 और 2017 के लिए काम करता है।
मार्क

8

में दृश्य स्टूडियो कोड ( WebMatrix ):

कॉपी लाइन्स डाउन: Shift+ Alt+down

लाइन्स कॉपी करें: Shift+ Alt+up

डिलीट लाइन्स: Ctrl+ Shift+k


1
यह अब तक का सबसे अच्छा जवाब है; यहां तक ​​कि यह आपको कोड -if के एक पूर्ण ब्लॉक की नकल करने की अनुमति देगा ताकि आप चाहें- बस कई लाइनों का चयन करके। विजुअल स्टूडियो कोड 1.7.2 में परीक्षण किया गया
विक्टर बैरेंट 5

7

जबकि मुझे एहसास है कि यह कीबोर्ड शॉर्टकट नहीं है, मुझे लगा कि मैं इसे जोड़ूंगा, क्योंकि इसमें क्लिपबोर्ड के उपयोग की आवश्यकता नहीं है और कुछ लोगों की मदद कर सकता है।

उस पंक्ति को हाइलाइट करें जिसे आप डुप्लिकेट करना चाहते हैं। प्रेस नियंत्रण, माउस हाइलाइट किए गए पाठ पर क्लिक करें, और उस स्थान पर खींचें जहां आप जाना चाहते हैं। यह हाइलाइट किए गए टेक्स्ट को डुप्लिकेट करेगा।


अंतर्निहित कार्यक्षमता के साथ समान परिणाम प्राप्त करता है! और सवाल केवल एक शॉर्टकट के लिए पूछा - जरूरी नहीं कि एक कीबोर्ड शॉर्टकट! यदि माउस को शामिल नहीं करना होता, तब भी अधिक भयानक होगा।
दानो

7

जैसा कि मैं अपने विज़ुअल स्टूडियो 2013 में मैक्रोज़ का उपयोग नहीं कर सकता हूँ मुझे एक विज़ुअल स्टूडियो प्लगइन मिला (मैं इसे 2012 और 2013 में उपयोग करता हूँ)। डुप्लिकेट चयन चयन और संपूर्ण लाइनों को डुप्लिकेट करता है - उन्हें केवल आंशिक रूप से चयनित होने की आवश्यकता होती है। मानक शॉर्टकट ALT+ है D


5

मुझे नहीं पता कि यह Visual Studio 2008 में मौजूद है, लेकिन Visual Studio 2010+ में आप इसे आसानी से कर सकते हैं:

कुछ भी है, तो प्रेस का चयन न करें Ctrl+ Cऔर फिर (कुछ और करने के बिना) Ctrl+V


5

विज़ुअल स्टूडियो 2017 में और शायद दूसरे संस्करण के लिए मैक्रो या एक्सटेंशन की आवश्यकता नहीं है ,

  1. के लिए जाओ Tools > Options > Environment > Keyboards
  2. Show commands containing:लेखन के तहतEdit.Duplicate
  3. कर्सर को रखें Press shortcut keys:और Ctrl+ दबाएँ Dऔर क्लिक करेंAssign बटन
  4. OKअपने नए कीबोर्ड शॉर्टकट को बचाने के लिए क्लिक करें

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


4

मैं उस मैक्रो का उपयोग कर रहा हूं जिसे वाल पोस्ट किया गया था: विजुअल स्टूडियो के लिए डुप्लिकेट लाइन कमांड , लेकिन यह एक हफ्ते पहले काम करना बंद कर दिया था, मैंने विंडोज अपडेट के कारण ग्रहण किया। और मैं सही था, फरवरी 2014 तक, मैक्रोज़ को वीएस2010 (और 2008 में स्पष्ट रूप से) में अक्षम कर दिया गया है।

इसे ठीक करने के लिए आपको या तो सुरक्षा अद्यतनों की स्थापना रद्द करनी होगी, या यहाँ दिखाई गई फ़ाइलों की तरह एक कोड को विन्यास फाइल में जोड़ना होगा ।

इन फ़ाइलों के लिए 64-बिट Windows मशीन डिफ़ॉल्ट पथ हैं:

  • C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsaenv10.exe.config
  • C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config

    ...
    <configuration>
        <runtime>
            <AllowDComReflection enabled="true"/>
            ...
    

    संपादक स्क्रीनशॉट

आप व्यवस्थापक अधिकारों के साथ अपने पाठ संपादक को चलाना चाहिए या यह काम नहीं करेगा! उम्मीद है कि यह किसी और की मदद करता है जिनके पास अचानक उनकी मैक्रो कार्यक्षमता है जो उनके नीचे से बाहर निकाली गई है।


4

के लिए दृश्य स्टूडियो 2012, 2013, 2015, 2017 लिंक का पालन करें और एक्सटेंशन डाउनलोड

https://marketplace.visualstudio.com/items?itemName=ctlajoie.DuplicateSelection

अब टूल्स> ऑप्शन्स> कीबोर्ड में जाएं और सर्च बॉक्स में "डुप्लीकेट" टाइप करें (फुल कमांड स्ट्रिंग "Edit.DuplicateSelection" है)। यहां आप इसे किसी भी शॉर्टकट के लिए उसी तरह से बांध सकते हैं जिस तरह से आप किसी भी अन्य कमांड के लिए करेंगे।




3

2008 के विजुअल स्टूडियो पोस्ट पर इस प्रश्न को देखने वालों के लिए, एक वास्तविक Edit.Duplicate जोड़ा गया है:

  • CTRL+ E,V
  • CTRL+ D(वीएस 2017 15.6+)

2

Ctrl+ Dएक नया शॉर्टकट है जिसे वीएस 2017 v15.6 में पेश किया गया है जो सटीक कार्य करता प्रतीत होता है कि Ctrl+ E,V

Ctrl + D कर्सर को लाइन में डुप्लिकेट करेगा और फ़ोकस में लाइन के ठीक नीचे डालें। यदि आप कोड के किसी विशिष्ट सेट को डुप्लिकेट करना चाहते हैं, तो डुप्लिकेट कोड कमांड को लागू करने से पहले आप उस कोड के भाग का चयन करें जिसे आप डुप्लिकेट करना चाहते हैं।

यह आपके क्लिपबोर्ड को प्रभावित नहीं करेगा

स्रोत


1
VS2017 और VS2019 की नई स्थापना: Ctrl + D डिफ़ॉल्ट रूप से मैप नहीं है Editor.DuplicateLine ...
thomasgalliker

2

विजुअल स्टूडियो कोड 2019 के लिए :

मेनू कीबोर्ड शॉर्टकट संपादित करें: ctrl+k और ctrl+ के साथs

"कॉपी लाइन डाउन" ( Shift+) को संपादित करेंAltDownArrowअपने खुद के शॉर्टकट के लिए + ) ।

आप इसे कमांड आईडी से पा सकते हैं: editor.action.copyLinesDownAction के

मेरे लिए, यह ctrl+ हैd


1

http://www.jetbrains.com/resharper/

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


resharper - बहुत धीमा
होरेव इवान

1

विजुअल स्टूडियो 2010 में आप पूरी पंक्ति कर्सर के साथ पर है नकल CTRL+ INSERTतो आप उपयोग कर सकते हैं Ctrl+ Vया SHIFT+ INSERTपेस्ट करना।



1

आप जो कमांड चाहते हैं, वह Edit.Duplicate है । यह करने के लिए मैप किया गया है CtrlE, CtrlV। यह आपके क्लिपबोर्ड को अधिलेखित नहीं करेगा


1

मैं एप्लिकेशन लिंक का उपयोग करता हूं: ऑटोहॉटकी नीचे CommentDuplikateSaveClipboard.ahkफ़ाइल में सहेजे गए कोड के साथ । आप शॉर्टकट को संपादित / हटा सकते हैं यह आसान है।
मेरे पास विंडोज़ "Shortcut to CommentDuplikateSaveClipboard.ahk"में इस फ़ाइल का लिंक है Autostart
यह स्क्रिप्ट आपके क्लिपबोर्ड की सुरक्षा करती है।
यदि आप अधिक उत्सुक हैं तो आप इस / सक्षम स्क्रिप्ट में शॉर्टकट जोड़ सकते हैं।
मैं कभी कभी बहुत ही प्रभावशाली का उपयोग Multi Clipboardकई के साथ आसान संभाल करने के लिए स्क्रिप्ट clipsके साथ डिस्क और उपयोग पर सहेजा CTRL+ C, X, V, कॉपी पेस्ट, कट करने के लिए, अगले, पिछले, इस हटाते हैं, तो उन्हें हटा दें।

;CommentDuplikateSaveClipboard.ahk

!c:: ; Alt+C === Duplicate Line
^d:: ; Ctrl+D
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{HOME}{SHIFTUP}{CTRLDOWN}c{CTRLUP}{END}{ENTER}{CTRLDOWN}v{CTRLUP}{HOME}
Clipboard := ClipSaved
ClipSaved =
return

!x:: ; Alt+X === Comment Duplicate Line
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{HOME}{SHIFTUP}{CTRLDOWN}c{CTRLUP}{LEFT}//{END}{ENTER}{CTRLDOWN}v{CTRLUP}{HOME}
Clipboard := ClipSaved
ClipSaved =
return

!z:: ; Alt+Z === Del uncomment  Line
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{DEL}{HOME}{DEL}{DEL}
Clipboard := ClipSaved
ClipSaved =
return

!d:: ; Alt+D === Delete line
Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{DEL}
return

!s:: ; Alt+S === Swap lines
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{CTRLDOWN}x{CTRLUP}{UP}{END}{CTRLDOWN}v{CTRLUP}{HOME}
Clipboard := ClipSaved
ClipSaved =
return

!a:: ; Alt+A === Comment this line, uncomment above
Send, {END}{HOME}//{UP}{HOME}{DEL}{DEL}
return

0

एक उत्तर नहीं, सिर्फ एक उपयोगी जोड़: एक फ्रीबी के रूप में, मैंने अभी आविष्कार किया है (अच्छी तरह से ... एहम ... लोलो द्वारा पोस्ट किए गए कोड को समायोजित किया) एक RemoveLineOrBlock मैक्रो। का आनंद लें!

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics

Public Module RemoveLineOrBlock

    Sub RemoveLineOrBlock()
        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        Dim lineNumber As Integer
        Dim line As String

        If selection.IsEmpty Then
            selection.StartOfLine(0)
            selection.EndOfLine(True)
        Else
            Dim top As Integer = selection.TopLine
            Dim bottom As Integer = selection.BottomLine

            selection.MoveToDisplayColumn(top, 0)
            selection.StartOfLine(0)

            selection.MoveToDisplayColumn(bottom, 0, True)
            selection.EndOfLine(True)
        End If

        selection.LineDown(True)
        selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn,True)

        selection.Delete()

        selection.MoveToDisplayColumn(selection.BottomLine, 0)
        selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText)

    End Sub

End Module

0

में VS2019 और भी VS2017 आप चुन सकते हैं उपकरण> विकल्प> कीबोर्ड और आप योजना ड्रॉप-डाउन में चुन सकते हैं Resharper (विजुअल स्टूडियो) विकल्प, और आप की तरह यदि आप उपयोग कर रहे थे एक मानचित्रण मिल जाएगा Resharper इस मामले में, Ctrl+ Dलाइन को डुप्लिकेट करने के लिए चाल चलेगा। वैसे भी, प्रलेखन के आधार पर यह दृश्य स्टूडियो 2017 संस्करण 15.8 या अधिक में गेट से बाहर होना चाहिए


-3

दृश्य स्टूडियो 2010 के लिए, त्वरित लाइन दोहराव (क्लिपबोर्ड का उपयोग करता है) के लिए इन आदेशों का उपयोग करने का प्रयास करें:

  • उस लाइन पर क्लिक करें जिसे आप कॉपी करना चाहते हैं। Ctrl+ Cउस लाइन को कॉपी करेगा।

  • फिर प्रविष्टि बिंदु के नीचे एक रिक्त स्थान डालने के लिए Ctrl+ Shift+ दबाएँEnter

    (वैकल्पिक रूप से Ctrl+ Enterसम्मिलन बिंदु के ऊपर एक खाली लाइन डालने के लिए उपयोग करें ।)

  • फिर लाइन पेस्ट करने के लिए बस Ctrl+ Vका उपयोग करें ।


1
एक कॉपी और पेस्ट के लिए कदम से बहुत अच्छे निर्देश। लेकिन ओपी एक लाइन को डुप्लिकेट करने के लिए एक विधि की तलाश में है ...
''
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.