2011-03-15 10 views
18

जब मैं इस तरह के boto के रूप में एक 3 पार्टी एल ibrary उपयोग कर रहा हूँ, PyCharm करने में सक्षम हो रहा है स्वत: पूर्ण काफी अच्छी तरह सेतरीकों से कोड को स्वतः पूर्ण करने के लिए PyCharm कैसे प्राप्त करें?

enter image description here

हालांकि, जैसे ही मैं अपने ही के एक समारोह को परिभाषित, उस समारोह के अंदर स्वत: पूर्ण ब्रेक नीचे। मैं समझता हूं क्यों, क्योंकि मैं फ़ंक्शन को इसके तर्कों के बारे में किसी भी प्रकार की जानकारी नहीं दे सकता, इसलिए यह अनुमान नहीं लगा सकता कि ऑटो-पूर्ण कैसे करें। क्या इस मुद्दे के आसपास कोई रास्ता है?

संपादित

मैं docstring (अजगर 2 के लिए) का उपयोग करने की कोशिश की, लेकिन अभी भी कोई स्वतः पूर्ण

def delete_oldest_backups(conn, backups_to_keep, backup_description): 
    """ 
    delete_oldest_backups(EC2Connection, int, string) 
    """ 

+0

[सब कुछ के लिए पाइडेव कोड प्राप्ति] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/6218778/pydev-code-completion-for-everything) – Jonathan

उत्तर

5

(इसके अलावा boto.ec2.connection.EC2Connection सिर्फ EC2Connection के बजाय कोशिश की) आप कर सकते हैं पाइथन 3 पैरामीटर और वापसी मान एनोटेशन का उपयोग करके फ़ंक्शन के पैरामीटर के बारे में प्रकार की जानकारी निर्दिष्ट करें। यदि आप पायथन 2 का उपयोग कर रहे हैं, तो आप फ़ंक्शन के डॉकस्ट्रिंग में जानकारी भी निर्दिष्ट कर सकते हैं। PyCharm मानक पुस्तकालय में द्विआधारी मॉड्यूल की docstrings द्वारा इस्तेमाल किया प्रारूप को समझता है, उदाहरण के लिए:

""" 
foo(int, string) -> list 

Returns the list of something 
""" 
+1

मैंने कोशिश की (संपादित प्रश्न देखें), लेकिन अभी भी कोई ऑटो नहीं -पूर्ण। – ripper234

+0

naither मेरे लिए काम करता है: def get_instance_by_name (कनेक्शन, नाम): "" " get_instance_by_name (कनेक्शन, नाम) -> boto.ec2.instance रिटर्न उदाहरण निर्दिष्ट नाम के साथ वस्तु" "" और मेरे पास नहीं है उदाहरण ऑब्जेक्ट –

1

आदेश PyCharm एक वस्तु का एक उदाहरण समझते हैं और अपने सभी तरीकों को पुनः प्राप्त करने के लिए, हम निम्नलिखित बयान उपयोग करना होगा। लेकिन मुझे लगता है कि दोनों प्रोग्रामिंग और रन टाइम बर्बाद करने का एक भयानक तरीका है।

assert isinstance(instanceX, ClassOfInstanceX) 
instanceX.{#list of method/properties appears} 

वैकल्पिक रूप से, आप भी वर्ग के नाम का उपयोग विधि या संपत्ति हर आप इसे आह्वान और आत्म पैरामीटर के लिए उदाहरण में पास करना चाहते हैं याद होगा कर सकते हैं। http://www.jetbrains.com/pycharm/webhelp/type-hinting-in-pycharm.html

def some_method(self, conn): 
    """ 
    @type conn: EC2Connection 
    """ 
    conn.<autocomplete> 
11

आप प्रकार संकेत का उपयोग कर सकते के लिए भी अत्यधिक शब्द है, मेरी पसंद के लिए,।

सेटिंग में जाएं -> परियोजना दुभाषिया -> अजगर दुभाषियों

Package list

और संकुल सूची में, स्थापित पर क्लिक करें और पुस्तकालय आप स्थापित करना चाहते के लिए खोज

Install package

एक बार इंस्टॉल हो जाने पर, ऑटो-पूर्ण संपादक पर उपलब्ध होगा।

Autocomple inside function

आशा यह आपके लिए क्या देख रहे है।

+0

के लिए autocmpliton avaiable PyCharm 5.0.1 पर एक आकर्षण की तरह काम किया। धन्यवाद! – Samuel

1

आप pyCharm "पैकेज प्रबंधक" के माध्यम से पुस्तकालय स्थापित कर सकते हैं: लेकिन इस esp नेस्टेड वर्ग

ClassOfInstanceX.{#list of method/properties appears} 
    # then you will have... 
ClassOfInstance.method(instanceX, args...) 
संबंधित मुद्दे