2012-04-02 7 views
9

नीचे बोल्ड में प्रश्न। यह एक प्रोग्रामिंग प्रश्न है, इसलिए निष्कर्ष पर न जाएं और बंद करने के लिए वोट दें।प्रोग्रामिंग प्रलेखन को तेजी से कूदने के लिए कोई भी अच्छा टूल

मैं एक सी ++ प्रोग्रामर हूं। मैं अपने डेस्कटॉप के रूप में ओएस एक्स/quicksilver या उबंटू/कंपिज़/gnome do का उपयोग करता हूं। मैं माउस को छूने की कोशिश नहीं करता और मैं कई डेस्कटॉप का उपयोग करता हूं और मैं कीबोर्ड से इन दोनों ड्राइव को टाइलिंग का उपयोग करता हूं। प्रोग्रामिंग के लिए मैं बैश और विम का उपयोग करता हूं।

जैसा कि मैं एक सी ++ प्रोग्रामर हूं, मुझे जगह पर बिखरे हुए दस्तावेज संदर्भित करने की आवश्यकता है, उदाहरण के लिए एसटीएल/बूस्ट/सीएमकेई/जेरोमक/प्रोटोकॉल बफर/मोंगोब/रैपिजसन/लुजाइट और सूची जारी है।

विभिन्न संदर्भ मैनुअल पर कूदना एक वास्तविक समय सिंक/मानसिक विचार प्रक्रिया विघटनकर्ता है। शायद आप इस बात से सहमत नहीं हैं कि यह वास्तव में एक समस्या है, लेकिन यदि आप बढ़ावा से कई पुस्तकालयों का उपयोग करते हैं, कोड पूर्ण होने के बिना आप सराहना करेंगे कि यह वास्तव में एक मुद्दा है। लोग अपने संदर्भ मैनुअल लिंक कैसे प्रबंधित करते हैं और संदर्भ मैनुअल पर कूदने का सबसे तेज़ तरीका क्या है? मानक ब्राउज़र बुकमार्क्स उत्तर नहीं हैं, और जो कुछ भी आप सुझाव देते हैं, वह संभवतः कीस्ट्रोक की न्यूनतम मात्रा में किया जाना चाहिए, या सूचना से सबसे कम विलंबता को जानकारी के संश्लेषण की आवश्यकता है, संतुष्ट होने की आवश्यकता है।

शायद एक कस्टम ब्राउज़र, या शक्तिशाली प्लगइन्स मुझे नहीं पता? निर्देशिका नेविगेशन के लिए मैं विम के NERDTree का उपयोग करता हूं, शायद उन पंक्तियों के साथ कुछ? उदाहरण के लिए, मुझे बूस्ट-फाइल सिस्टम टाइप करने में सक्षम होना चाहिए और बूस्ट-फाइल सिस्टम के कोड-रेफरेंस पेज पर सीधे कूदने में सक्षम होना चाहिए।

+0

वीआईएम का उपयोग करके आपको क्या लगता है कि अभी भी सबसे अच्छा विकल्प है? विशेष रूप से आप पहले से ही एक समस्या में भाग रहे हैं कि आधुनिक दिन आईडीई आपके लिए ठीक है? –

उत्तर

1

मैं शिफ्ट + कश्मीरC आदमी पृष्ठ देखने के लिए टाइप करें।

+0

हां यह एक अच्छा प्रारंभिक बिंदु = डी होगा। हालांकि अधिकांश सी ++ पुस्तकालयों में इन दिनों ऑनलाइन मैनुअल हैं। इसके अलावा, केवल क्लैंग कोडिंग टूल्स के लिए C++ को पार्स कर सकते हैं ताकि सटीक रूप से सही अर्थशास्त्र के साथ पहचानकर्ता निकाले जा सकें ताकि अभी तक इसके लिए कोई उपकरण न हो। तो, सबसे पहले मुझे विम के साथ क्लैंग ++ को तार करने की आवश्यकता होगी, फिर मुझे वेब-आधारित संदर्भ मैनुअल में ट्रैम्पोलिन करने के लिए मैन सबसिस्टम का उपयोग करने की आवश्यकता होगी: डी –

+0

मुझे पहचानकर्ताओं को एक आधिकारिक रूप में सामान्य करना होगा (जैसे boost :: filesystem :: boost-fileysten को पथ) ताकि टूल मुझे शीर्ष-स्तर के दस्तावेज़ों पर निर्देशित कर सकें। यह कुछ उपकरण में बस "बूस्ट-फाइल सिस्टम" टाइप करेगा और यह सही पृष्ठ पर जाएगा। –

2

मुझे डर है कि आप जो चाहते हैं वह एक आईडीई है, जिसे विम, हालांकि मैं इसे प्यार करता हूं, नहीं।

a plugin that gives access to the standard library documentation है। हालांकि, विम आपके कोड को समझने और आपके प्रोजेक्ट में जो भी लाइब्रेरी शामिल है, उसे जादुई रूप से अनुकूलित करने में असमर्थ है। विम विकी में twopages भी है जो रुचि का हो सकता है।

+0

कोई सी ++ विचार, दृश्य स्टूडियो के अलावा, आधुनिक सी ++ सही ढंग से पारदर्शी, या पर्याप्त तेज़। यही कारण है कि मैंने सी ++ आईडीई को छोड़ दिया है। यही कारण है कि मैं कुछ प्रकार के लिंक प्रबंधन ऐप/वर्फफ़्लो की तलाश कर रहा हूं जो मुझे यूआरएल के तेजी से कूदने देगा। ऐसा कहकर कि मुझे क्विकसिल्वर या gnome-do जैसे टूल को कोई फर्क नहीं पड़ता है जो मुझे तेजी से लिंक पर जाने देगा। –

+0

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

+0

+1। मैं समय पर इस विशेष बिंदु पर एक मानचित्र पर विकसित नहीं करता हूं। लेकिन मुझे लगता है कि gnome-do की समान कार्यक्षमता होगी। मैं इस पर ध्यान दूँगा। –

4

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

उदाहरण के लिए, मैं एक छोटे से Ubiquity आदेश है कि मुझे जल्दी से, किसी भी क्यूटी संस्था की ताज़ा दस्तावेज़ों को खोलने के लिए बस Firefox के स्वैप करके की अनुमति देता है लिखा है, ctrl + अंतरिक्ष टाइपिंग सर्वव्यापकता सांत्वना पॉपअप के लिए और फिर qt QSomeClass टाइपिंग ।

यहाँ सर्वव्यापकता आदेश के लिए पूरा कोड है (यदि आप पहले सर्वव्यापकता स्थापित किया है, तो आप this blank page पर आदेश फ़ीड की सदस्यता ले सकते हैं):

CmdUtils.makeSearchCommand({ 
    names: ["qt"], 
    author: {name: "Luc Touraille"}, 
    url: "http://doc.qt.nokia.com/main-snapshot/{QUERY}.html", 
    icon: "http://qt.nokia.com/favicon.ico", 
    description: "Searches the Qt Documentation for your word." 
}); 

आप देख सकते हैं, यह बहुत आसान है और यह कर सकते हैं आसानी से अन्य ऑनलाइन दस्तावेज, के लिए अनुकूलित किया जा सकता है जब तक यूआरएल अच्छी तरह से निर्मित है।

संपादित

यहाँ

है एक अधिक सामान्य संस्करण है कि आप अपनी आवश्यकताओं के अनुकूलित कर सकते हैं (आप बस टेम्पलेट्स मानचित्र भरने की जरूरत है):

var urlTemplates = { 
    "QT": "http://doc.qt.nokia.com/main-snapshot/{QUERY}.html", 
    "MPL": "www.boost.org/doc/libs/release/libs/mpl/doc/refmanual/{QUERY}.html", 
    ".NET": "http://msdn.microsoft.com/en-us/library/{QUERY}.aspx" 
}; 

CmdUtils.CreateCommand({ 
    names: ["doc"], 
    author: {name: "Luc Touraille"}, 

    arguments: [ {role: "object", 
        nountype: /^[0-9a-zA-Z_.-]*$/, 
        label: "entity" 
       }, 
       {role: "source", 
        nountype: [source for (source in urlTemplates)], 
        label: "documentation" 
       } ], 

    description: "Searches the documentation for some entity on a given documentation reference.", 

    _getSearchResultUrl: function(arguments) { 
     var documentationSource = arguments.source.text; 

     var urlTemplate = urlTemplates[documentationSource.toUpperCase()]; 

     return urlTemplate.replace("{QUERY}", arguments.object.text); 
    }, 

    execute: function(arguments) { 
     Utils.openUrlInBrowser(this._getSearchResultUrl(arguments)); 
    } 
}); 

नमूना उपयोग करता है:

doc QMainWindow from qt 
doc from mpl vector 
doc system.idisposable from .net 
doc this from .net // with some text selected 

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

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