5

मैं VS2012 उपयोग कर रहा हूँ, और मेरे परियोजना चौड़ा जावास्क्रिप्ट समारोह नामस्थान में से एक दिखाई नहीं देते इसके संपर्क में तरीकों के सभी अंडरस्कोर _ के साथ शुरुआत की है उदाहरण के लिए,:अंडरस्कोर के साथ दृश्य स्टूडियो Intellisense तरीकों

var NameSpace = { 
    _aMethod = function() { }, 
    _anotherMethod = function() { } 
}; 

मैंने नामस्थान के लिए एक त्वरित बनाम फ़ाइल बनाया, और नामस्थान स्वयं प्रकट होता है, लेकिन कोई भी तरीका नहीं करता है। नोट: यदि मैं विधियों की शुरुआत में _ हटा देता हूं, तो यह एक आकर्षण की तरह काम करता है।

// This would work, and show up in the VSDOC 
var NameSpace = { 
    aMethod = function() { }, 
    anotherMethod = function() { } 
//^notice no underscores 
}; 

क्या इसके आसपास वैसे भी है?

पूरी परियोजना के माध्यम से जाकर उन्हें नामित करना (यहां तक ​​कि एक खोज-सब के साथ) जोखिम भरा होगा क्योंकि ये विधियां सब कुछ के साथ इतनी अंतर्निहित हैं।

उत्तर

4

यदि आप टूल्स-> विकल्प-> टेक्स्ट एडिटर-> जावास्क्रिप्ट-> IntelliSense-> संदर्भ समूह में जाते हैं तो संदर्भ समूह के लिए ड्रॉप डाउन होना चाहिए (इस प्रकार के प्रोजेक्ट के आधार पर आपको इसे बदलने की आवश्यकता हो सकती है)

एक बार आपके पास सही समूह होने के बाद आप देखेंगे कि कुछ डिफ़ॉल्ट अंतर्निहित इंटेलिजेंस संदर्भ फ़ाइलें हैं। Underscorefilter.js को हटाने का प्रयास करें

+0

स्पॉट ऑन, धन्यवाद ब्रायन! –

+0

वीएस2013 में काम नहीं कर रहा है। फ़ाइल को हटा दिया गया है, अंडरस्कोर विधियां अभी भी दिखाई नहीं दे रही हैं। फ़ाइल को बाद में बंद करने और फिर से खोलने का प्रयास किया, यहां तक ​​कि वीएस को पुनरारंभ करने का प्रयास किया, लेकिन कोई सफलता नहीं। – andrewb

+1

इसका कारण निजी संपत्ति के रूप में "नकली" अंडरस्कोर गुणों का कारण है। "बाहर" से कॉल करते समय, अंडरस्कोर छिपा हुआ है। "यह" के साथ एक आंतरिक संपत्ति को कॉल करते समय, आप अंडरस्कोर चर को देखते हैं। मौके से, अगर हम चाहते हैं तो हम इसे अक्षम कर सकते हैं, @ ब्रायन प्रतिक्रिया के लिए धन्यवाद। [इसके बारे में अन्य धागा] (http://stackoverflow.com/questions/4484424/underscore-prefix-for-property-and-method-names-in-javascript) – foxontherock

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