विज़ुअल स्टूडियो कोड खोज और नियमित अभिव्यक्तियों के साथ बदलें


116

मैं का उपयोग करें "खोज और बदलें" दृश्य स्टूडियो संहिता में की प्रत्येक आवृत्ति को बदलने के लिए करना चाहते हैं <h1>content</h1>के लिए #### contentएक नियमित अभिव्यक्ति का उपयोग कर एक दस्तावेज़ के भीतर।

मैं इसे कैसे पूरा कर सकता हूं?


2
क्या इसे रेगेक्स ढूंढना और बदलना है? तुम सिर्फ जगह ले सकता है <h4>के साथ #### और उसके बाद की जगह </h4>के साथ ''?
ब्रेट ईस्ट

जवाबों:


190

तो, आपका लक्ष्य खोज और प्रतिस्थापित करना है?
आधिकारिक दृश्य स्टूडियो के कीबोर्ड shotcuts पीडीएफ के अनुसार, आप भी दबा सकते हैं Ctrl + Hपर विंडोज और लिनक्स , या ⌥⌘Fपर मैक खोज सक्षम और उपकरण को बदलने के लिए:

विज़ुअल स्टूडियो कोड की खोज और बदलें टैब यदि आप कोड को निष्क्रिय करना चाहते हैं, तो आपको बस <h1>खोज में लगाना होगा, और प्रतिस्थापित करना होगा ####

लेकिन इसके बजाय आप इस regex का उपयोग करना चाहते हैं, आप इसे आइकन में सक्षम हो सकता है: । *और regex का उपयोग: <h1>(.+?)<\/h1>और करने के लिए बदल देते हैं: #### $1

और जैसा कि @tpartee ने सुझाव दिया है, यहां विजुअल स्टूडियो के इंजन के बारे में कुछ और जानकारी दी गई है, यदि आप अधिक जानना चाहते हैं:


3
विजुअल स्टूडियो हर दूसरे एप्लिकेशन की तरह रेगेक्स को हैंडल करेगा, एकमात्र अंतर तथाकथित रेगेक्स फ्लेवर्स है, जो रेगेक्स का 'कंपाइलर' है और यह एक्सप्रेशन का इलाज कैसे करेगा। आमतौर पर, यह इस तरह के जवाबों में नजरअंदाज कर दिया जाता है क्योंकि उनमें से अधिकांश बहुत समान हैं, लेकिन उन लोगों के लिए जो अभी भी इसकी जांच करना चाहते हैं, मैंने इसे उत्तर में जोड़ा है
माटस

2
प्रश्न Visual Studio कोड के बारे में है, और यह उत्तर Visual Studio के बारे में है।
डस्टिन व्याट

1
या अपने Keybindings को बदलें। उदाहरण: IDEA कीबाइंडिंग द्वारा ( marketplace.visualstudio.com/ ( ) आप उपयोग कर सकते हैं: Ctrl + Shift + R पथ में बदलने के लिए या पथ में खोजें के लिए: Ctrl + Shift + F
SL5net

6

शुरुआती लोगों के लिए, मैं स्वीकृत उत्तर को जोड़ना चाहता था, क्योंकि सूक्ष्मता के एक जोड़े मेरे लिए स्पष्ट नहीं थे:

पाठ खोजने और संशोधित करने के लिए (पूरी तरह से प्रतिस्थापित नहीं),

  1. "फाइंड" चरण में, आप "कैप्चरिंग ग्रुप्स" के साथ रेगेक्स का उपयोग कर सकते हैं, उदाहरण के लिए la la la (group1) blah blah (group2)कोष्ठक का उपयोग करके आपकी खोज हो सकती है।

  2. और फिर "बदलें" चरण में, आप कैप्चरिंग समूहों को इसके माध्यम से संदर्भित कर सकते हैं $1, $2आदि।

इसलिए, उदाहरण के लिए, इस मामले में हम सिर्फ (कोई कोष्ठक नहीं) के साथ प्रासंगिक पाठ पा सकते हैं<h1>.+?<\/h1> , लेकिन कोष्ठक में रखने से <h1>(.+?)<\/h1>हम दोनों के बीच उप-मैच का संदर्भ ले सकते हैं जैसे $1कि प्रतिस्थापित चरण में। ठंडा!

टिप्पणियाँ

  • Find विजेट में Regex चालू करने के लिए, .*आइकन पर क्लिक करें या दबाएँCmd/Ctrl Alt R

  • $0 पूरे मैच को संदर्भित करता है

  • अंत में, मूल प्रश्न बताता है कि प्रतिस्थापित होना चाहिए "एक दस्तावेज़ के भीतर", इसलिए आप "खोज विजेट" ( Cmdया Ctrl+ F) का उपयोग कर सकते हैं , जो "खोज" के बजाय खुले दस्तावेज़ के लिए स्थानीय है, जो एक बड़ा यूआई खोलता है और परियोजना की सभी फाइलों को देखता है।


0

सुनिश्चित करें कि मैच केस का उपयोग रेगुलर एक्सप्रेशन के साथ किया जाता है ताकि यह मैच हो। [AZ] * यदि मैच का मामला नहीं चुना गया है, तो यह सभी पत्रों से मेल खाता है।


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