2010-01-26 9 views
19

मैं लिखने/पर्ल, एचटीएमएल, सीएसएस, पीएचपी, जावास्क्रिप्ट, AutoHotkey स्क्रिप्ट जैसे कई फ़ाइल स्वरूपों में कोड को संशोधित, ... आदिआप स्रोत कोड के अपने पुस्तकालयों के माध्यम से कैसे खोज करते हैं?

मैं अक्सर स्रोत कोड के अपने निजी पुस्तकालय वाक्य रचना या जटिल तर्क के उदाहरण के लिए खोज नए कोड में पुन: उपयोग के लिए। या, मैं एक विशेष स्ट्रिंग के कोड संदर्भों के लिए निर्देशिका पेड़ के माध्यम से खोज करूंगा (उदा। पीएलएल, PHP, एचटीएमएल, और जावास्क्रिप्ट के भीतर किसी विशेष सीएसएस शैली के सभी संदर्भ)। कभी-कभी मैं क्रिप्टिक स्ट्रिंग्स की खोज भी करता हूं जैसे ~ ~, क्योंकि मैं अपने पर्ल प्रोग्राम्स में से एक में एक विशेष नियमित अभिव्यक्ति की तलाश में हूं।

कभी कभी मैं मौजूदा खोज कोड Copernic का उपयोग कर, लेकिन दुर्भाग्य से यह केवल शब्द के लिए खोज कर सकते हैं और स्वचालित रूप से किसी भी प्रोग्रामिंग वाक्य रचना पर ध्यान नहीं देता। Windows 7 फ़ाइल खोज Windows XP फ़ाइल खोज से भी बदतर लगती है।

मेरा प्रश्न है ... आप स्रोत कोड के अपने पुस्तकालयों के माध्यम से कैसे खोज करते हैं?

+3

मतदान प्रकार के प्रश्न सीडब्ल्यू होना चाहिए। इसके अलावा, यह एसयू सामग्री होने के बहुत करीब है। –

+0

काफी डुप्लिकेट नहीं है, लेकिन निकट से संबंधित है: http://stackoverflow.com/questions/4101/where-do-you-store-your-code-snippets http://stackoverflow.com/questions/78756/what-do - आप-डेवलपर-ऑफ-ए-डेवलपर-बंद http://stackoverflow.com/questions/33994/what-code-snippet-editor-do-you-use http://stackoverflow.com/प्रश्न/212634/सर्वोत्तम-अनुप्रयोग-के-भंडारण-कोड-स्निपेट – dmckee

उत्तर

5

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

वैसे भी, मैं एक सवाल programming-friendly search programs के बारे में समय पहले पूछा। शायद उत्तर में से एक मदद करता है।

+0

धन्यवाद पेक्का ... वह लिंक बहुत उपयोगी है। स्पॉटलाइट के लिए – panofish

3

इंडेक्स और पूर्ण टेक्स्ट को अपनी स्रोत फ़ाइलों को खोजने के लिए Google डेस्कटॉप का उपयोग करें।

+0

Google डेस्कटॉप बंद कर दिया गया है। http://googleblog.blogspot.com/2011/09/fall-spring-clean.html –

6
Cygwin के साथ

:

$ find /path/to/lib -name \*.pm | xargs grep -l foo 

तो खोल उन्हें अकेला छोड़ देता है, जैसे फैशनेबल ऑपरेटरों उद्धृत करने के लिए सुनिश्चित करें,

$ find . | xargs grep '=~' 
0

जब मैं खोज उस तरह का क्या करना है (यानी मैं एक कोड की एक सटीक भाग लगाना चाहते हैं), मैं "निर्देशिका में खोज", या "द्वारा निर्देशिका में खोज का उपयोग eiter Regex "ग्रहण पीडीटी (आईडीई मैं साथ काम कर रहा हूँ), या कमांड लाइन पर grep का उपयोग कर समाप्त होता है।

(जो लोग खिड़कियों पर कर रहे हैं और/या CLI पसंद नहीं है के लिए, कुछ चित्रमय उपकरण है कि grep की तरह काम कर रहे हैं - मैंने देखा है कुछ सहयोगियों उन्हें इस्तेमाल)

3

डाउनलोड Cygwin और Grep का उपयोग करना सीखें जिसमें इसके साथ शामिल है। आप grep का मूल संस्करण प्राप्त करने में सक्षम हो सकते हैं लेकिन सिगविन के पास बहुत उपयोगी चीजें हैं इसलिए मैं बस सभी उपलब्ध पैकेज इंस्टॉल करता हूं।

1

मैं प्रोजेक्ट खोलता हूं, मेरा मानना ​​है कि वांछित कोड है और मेरे संपादक के "प्रोजेक्ट में खोजें" विकल्प का उपयोग करें।

1

ओएसएक्स में स्पॉटलाइट और एमडीफ़िंड नामक एक कमांड इंटरफेस कहा जाता है। यदि आप मैक पर हैं तो वे सबसे अच्छे स्थानीय खोज टूल हैं।

+0

+1 - मेरे पास 25+ साल का कोड है जो मैंने अपने मैक पर लिखा है जिसे मैं तुरंत स्पॉटलाइट –

13

मैं जब तक मैं ack पाया find | xargs grep चाल का उपयोग करते थे। अब मैं थोड़ा सा उपयोग करता हूं।

+0

का उपयोग करके खोज सकता हूं, मैं इसे जांचूंगा। – panofish

+3

यह वास्तव में grep से बेहतर है। मेरे लिए एकमात्र समस्या यह है कि मैं कभी-कभी कम आम भाषाओं के साथ काम करता हूं और यह उनकी स्रोत फ़ाइलों को उन फ़ाइलों के रूप में नहीं पहचानता है जिन्हें इसे पढ़ना चाहिए। आप जिस तरह से समर्थन करते हैं, उसकी सूची में अधिक फ़ाइल प्रकार जोड़ सकते हैं, हालांकि, यह बहुत बुरा नहीं है। – pib

0

एक सतत नामकरण योजना है। क्या यह memset() या setmem() है? InitializeUart() या UartInitialize() या UARTInitialize() या UARTInit()?

0

विंडोज वातावरण में मैं परीक्षा 32 का उपयोग करता हूं। यह एक सुंदर आसान जेनेरिक स्ट्रिंग खोजकर्ता है (क्या यह एक वैध वाक्यांश है? :-))।

0

सी कोड के लिए, मैं बीएसडी कोडिंग शैली है, जो कहा गया है कि foo नामक प्रकार्य इस प्रकार परिभाषित किया जाना चाहिए का उपयोग करें:

 
char * 
foo(int x) 
{ 
    ... 
} 
इस शैली के साथ

, समारोह परिभाषा स्रोत कोड जहां में एकमात्र ऐसा स्थान है फ़ंक्शन का नाम किसी पंक्ति की शुरुआत में दिखाई दे सकता है।

 
grep '^foo' **/*.c 

यह चाल उपयोगों के समारोह के बाहर फिल्टर, परिभाषा पर ध्यान केंद्रित करने: तो फिर यह ग्रेप उपयोग करने के लिए केवल एक मामला है।

**/*.c (वास्तव में बड़ी स्रोत कोड पेड़ों के लिए) पैदावार जब भी कई फ़ाइल नाम, तो find इस्तेमाल किया जाता है:

 
find src -name \*.c -exec grep '^foo' '{}' + 

नोट यहाँ +-exec साथ के उपयोग: इस xargs के उपयोग प्रतिस्थापित करता है।

0

मैं आम तौर पर पता है कि मैं कुछ थोड़ा नकचढ़ा करने के बारे में हूँ, इसलिए मैं अनुभाग पास के एक टिप्पणी अजीब। मेरे पास जो कुछ भी है, उसे ढूंढने के लिए टिप्पणी में हमेशा पर्याप्त कीवर्ड होना चाहिए।

फिर यह कुछ arseabout find/grep संयोजन का मामला है।

0

जब से मैं दिन के सबसे खर्च पागलपन व्यर्थ आशा है कि उनमें से एक कुछ उपयोगी हो जाएगा में Emacs में कोड के यादृच्छिक बिट्स टाइपिंग, मैं अक्सर Emacs का उपयोग लगता है-dired आदेश:

  • -name '*.rb'
  • Wh: Meta-x find-dired
  • निर्देशिका के पथ जिसके तहत मुझे लगता है कि जब यह मुझे पूछता है के लिए तर्क मिल जाए, (उदाहरण के लिए) दर्ज मैं दिलचस्प कोड
  • मिल जाएगा दर्ज करें एन यह मिलान करने वाली फाइलों की सूची लाता है, %m. उन सभी का चयन करने के लिए (यैक के स्पष्ट कुंजी मैपिंग के लिए yay)
  • फिर meta-A और एक खोज स्ट्रिंग दर्ज करें। अगले मैच में जाने के लिए
  • Meta-, (आपके लिए एक और स्पष्ट कुंजी मैपिंग है)।

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

0

पेक्का द्वारा प्रदान किया गया लिंक अब तक मेरे लिए सबसे अच्छा जवाब प्रदान करता है।

पावरग्रेप वह समाधान है जो मैं ढूंढ रहा था। यह सही नहीं है, लेकिन विंडोज़ जीयूआई समाधान के लिए ... मुझे यह पसंद है।

0

SD Source Code Search Engine देखें।यह स्रोत कोड को प्रत्येक भाषा (कीवर्ड, पहचानकर्ता, तार, स्थिरांक, संख्याएं, ऑपरेटरों) के तत्वों के अनुरूप खंडों में विभाजित करता है। आप सभी फ़ाइलों, सेटसी में foo से मेल खाने वाले पहचानकर्ताओं को फ़ाइलों के एक विशेष सेट पर, केवल एक प्रकार (कोड) फ़ाइल तक सीमित खोजों को तैयार कर सकते हैं।

सर्च इंजन जीआरई की तुलना में हजारों फाइलों में हजारों फ़ाइलों की खोज को सक्षम करने के लिए कोड को पूर्व-अनुक्रमित करता है, यह आपको एक जीयूआई विंडो में हिट करता है, और किसी अन्य में चयनित हिट का पूरा स्रोत कोड दिखाता है। आप स्रोत संपादक पर अपना संपादक लॉन्च कर सकते हैं।

संबंधित मुद्दे