2016-04-18 8 views
5

के साथ पाइथन में डिबगिंग के दौरान इनपुट पढ़ना यहां बनाम कोड: python extension में उपयोग किए गए पायथन का विस्तार है।वीएससीओडी

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

बनाम कोड में इनपुट कथन पर कदम उठाने के लिए मैं मूल्य कहां इनपुट कर सकता हूं?

+0

क्या आपने अपने रास्ते में अजगर जोड़ा था? क्या आपने यहां https://github.com/DonJayamanne/pythonVSCode/wiki/Python-Path-and-Version –

+1

@DaneBalia मैंने किया और यह मेरे लिए भी काम नहीं कर रहा है। क्या आप एक उदाहरण दे सकते हैं कि आप इसे वीएस कोड में कैसे संभालेंगे? मैं 'प्रिंट (इनपुट ('टेस्ट इनपुट') के साथ एक लाइन फ़ाइल के साथ परीक्षण कर रहा हूं)' 'और यह डीबगर में बस अटक गया है। – Igor

उत्तर

7

trick to getting this to work एक्सटेंशन (Don Jayamanne's Python) विकी पेज पर है। आपको सेटिंग को launch.json फ़ाइल के "name": "Python" अनुभाग में शामिल करना होगा।

विस्तार का विकी पुष्टि की है कि यह डिफ़ॉल्ट रूप से काम नहीं करता है:

यह कंसोल/टर्मिनल विंडो अनुप्रयोगों, जो मानक VSCode डिबगर में संभव नहीं है से इनपुट के कैप्चरिंग के लिए अनुमति देता है।

    डिबग खिड़की से
  1. (Ctrl + Shift + डी) एक launch.json, को खोलने के लिए थोड़ा गियर आइकन प्रेस (या उत्पन्न करने के लिए):

यहाँ इस काम के लिए हो रही करने के लिए कदम उठाए जाते हैं फ़ाइल। यह वीएस कोड में आपके "ओपन फ़ोल्डर" के रूप में चुने गए फ़ोल्डर में .vscode निर्देशिका में रखा गया है।

  • आपको पहले कॉन्फ़िगरेशन ब्लॉक में pythonPath पैरामीटर जोड़ना होगा। डीबगर काम करने के लिए इसकी आवश्यकता है।
  • आपको भी उसी ब्लॉक में externalConsole पैरामीटर जोड़ना होगा। डीबगर इनपुट स्वीकार करने के लिए यह आवश्यक है। जब आप डीबग करते हैं, तो एक अलग विंडो वीएस कोड के बाहर खुलती है लेकिन अन्यथा अच्छी तरह से काम करती है।
  • दोनों सेटिंग्स जोड़ने के बाद, ब्लॉक को ऐसा कुछ दिखना चाहिए। मुझे लॉन्च.जेसन फ़ाइल के बाकी हिस्सों में कुछ भी बदलने की जरूरत नहीं थी।

    { 
        "name": "Python", 
        "type": "python", 
        "request": "launch", 
        "stopOnEntry": true, 
        "program": "${file}", 
        "pythonPath": "C:/Users/igor/Documents/Tools/WinPython-32bit-3.4.3.7Slim/python-3.4.3/python.exe", 
        "externalConsole": true, 
        "debugOptions": [ 
         "WaitOnAbnormalExit", 
         "WaitOnNormalExit", 
         "RedirectOutput" 
        ] 
    }, 
    
  • +1

    दूसरे शब्दों में, "आरटीएफएम"। :) –

    2

    वी.एस. कोड आप अजगर कंसोल के साथ डीबग करने के लिए एक विकल्प है। तुम बस Ctrl + Shift + डी और बस दिखाई दिया नीचे तीर है नीले चलाएं आइकन के बगल में, आप बस क्लिक करें और अजगर कंसोल अनुप्रयोग चुनें बजाय सिर्फ अजगर like this

    6

    externalconsole निर्देश का अनुचित बताया गया है मारा। बजाय console का उपयोग करें और इस तरह से बाहरी के लिए अपनी पसंद का संकेत मिलता है:

    "console": "externalTerminal" 
    

    आवेदन निर्गम (और इनपुट) एक अलग विंडो के लिए जाना जाएगा तो वी.एस. कोड डिबग सांत्वना एक शुद्ध अजगर शीघ्र जहां आप विच्छेदबिंदु दौरान सामान मूल्यांकन कर सकते हैं रहता है ।

    +0

    मैं लिनक्स पर वीएसकोड v1.17 का उपयोग करता हूं। यह स्वचालित रूप से सेटिंग bellow बनाया। { "नाम": "बाहरी टर्मिनल/कंसोल", "type": "अजगर", "अनुरोध": "लांच", "stopOnEntry": सच है, "PYTHONPATH": "$ {config: python.pythonPath} ", " कार्यक्रम ":" $ {फ़ाइल} ", " CWD ":" ", " कंसोल ":" externalTerminal ", " env ": {}, " envFile ":" $ {workspaceRoot} /। env ", " डीबगऑप्शन ": [ " प्रतीक्षाऑनएबोनोर्मलएक्सिट ", " प्रतीक्षाऑन नॉर्मलएक्सिट " ] }, – user927387

    2

    console विकल्प इनमें से कोई भी मूल्य हो सकता है: internalConsole, integratedTerminal, externalTerminal

    आम तौर पर यदि आप डीबगर शुरू करते हैं और प्रोग्राम बंद हो जाता है, तो यह बाहरी टर्मिनल को प्रोग्राम के किसी भी आउटपुट तक पहुंचने के लिए एक त्वरित Press Enter to continue . . . प्रदर्शित करता है। यदि आपके पास गलती से सिंटैक्स त्रुटि है तो बाहरी टर्मिनल सिर्फ कोई संदेश नहीं छोड़ता है।

    integratedTerminal विकल्प का उपयोग करते समय, टर्मिनल वहां रहता है और त्रुटि संदेश प्रदर्शित करता है।

    जबकि मुझे नहीं पता कि यह बाहरी टर्मिनल चीज़ एक बग है या नहीं, एकीकृत टर्मिनल विकल्प इस मामले में बहुत बेहतर काम करता प्रतीत होता है।

    0

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

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