วิธีการใช้งานรหัสงูหลามจากภายในรหัส Visual Studio


204

Visual Studio Codeเพิ่งเปิดตัวเมื่อเร็ว ๆ นี้และฉันชอบรูปลักษณ์ของมันและฟีเจอร์ต่าง ๆ ที่มีให้ดังนั้นฉันจึงคิดว่าจะเลิกใช้

ฉันดาวน์โหลดแอพพลิเคชั่นจากหน้าดาวน์โหลด ทำให้เกิดปัญหาขึ้นเล็กน้อยด้วยคุณสมบัติบางอย่าง ... และจากนั้นฉันก็ไม่รู้ว่าจะใช้งานโค้ด Python ของฉันได้จริง ๆ !

ฉันชอบรูปลักษณ์และความรู้สึก / การใช้งาน / คุณสมบัติของ Visual Studio Code แต่ฉันไม่สามารถหาวิธีเรียกใช้รหัส Python ของฉันซึ่งเป็นฆาตกรตัวจริงเพราะนั่นคือสิ่งที่ฉันตั้งโปรแกรมเป็นหลัก

ไม่มีใครรู้ว่ามีวิธีการรันรหัส Python ใน Visual Studio Code หรือไม่?

คำตอบ:


107

นี่คือวิธีการกำหนดค่า Task Runner ใน Visual Studio Code เพื่อเรียกใช้ไฟล์ py

ในคอนโซลกดCtrl+ Shift+ P(Windows) หรือCmd+ Shift+ P(Apple) และสิ่งนี้จะปรากฏช่องค้นหาที่คุณค้นหา "Configure Task Runner" ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข: หากนี่เป็นครั้งแรกที่คุณเปิด "งาน: กำหนดค่าตัวเรียกใช้งาน" คุณต้องเลือก "อื่น ๆ " ที่ด้านล่างของรายการตัวเลือกถัดไป

สิ่งนี้จะแสดงคุณสมบัติที่คุณสามารถเปลี่ยนให้เหมาะกับความต้องการของคุณ ในกรณีนี้คุณต้องการเปลี่ยนคุณสมบัติดังต่อไปนี้

  1. เปลี่ยนคุณสมบัติ Command จาก"tsc"(TypeScript) เป็น"Python"
  2. เปลี่ยน showOutput จาก"silent"เป็น"Always"
  3. เปลี่ยนargs(อาร์กิวเมนต์) จาก["Helloworld.ts"]เป็น["${file}"](ชื่อไฟล์)
  4. ลบคุณสมบัติล่าสุด problemMatcher
  5. บันทึกการเปลี่ยนแปลงที่ทำ

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้คุณสามารถเปิดไฟล์ py ของคุณและเรียกใช้เป็นอย่างดีด้วยทางลัดCtrl+ Shift+ B(Windows) หรือCmd+ Shift+ B(Apple)

สนุก!


3
สวัสดีมีวิธีการเปิดใช้งานอินพุตสำหรับ VS Code หรือไม่
— วิลเลียมกู่

Task Runner นี้เป็นสิ่งที่ Visual Studio หรือเป็นงูหลามหรือไม่
— เรย์

มันเป็นไฟล์ปรับแต่งสำหรับ VS แต่มันเป็นตัวอย่างต่อโครงการเก็บไว้ใน .vscodeไดเรกทอรีในโครงสร้างแฟ้มโครงการของคุณ
— yelsayed

1
ตั้งแต่เดือนมีนาคม 2563 ควรใช้งานการกำหนดค่าเวอร์ชันใหม่ที่มาพร้อมกับคู่คีย์ - ค่าที่ปรับปรุงแล้วโปรดอ้างอิงcode.visualstudio.com/docs/editor/tasks#vscodeและใช้งาน "Tasks: Configure Task"
— HoseinGhanbari

ส่วนใดของงูหลามที่อ้างถึง vscode ที่สร้างขึ้นใหม่ ขอบคุณ
— Stu_Dent

222

มีวิธีที่ง่ายกว่ามากในการรัน Python โดยไม่ต้องการการกำหนดค่าใด ๆ :

  1. ติดตั้งรหัส Runner ขยาย
  2. เปิดไฟล์รหัส Python ใน Text Editor
  3. ในการรัน Python code:
    • ใช้ทางลัด Ctrl+Alt+N
    • หรือกดF1แล้วเลือกชนิด / Run Code,
    • หรือคลิกขวาที่ Text Editor แล้วคลิกRun Codeในเมนูบริบทของตัวแก้ไข
    • หรือคลิกRun Codeปุ่มในเมนูหัวเรื่องบรรณาธิการ
    • หรือคลิกRun Codeปุ่มในเมนูบริบทของ File explorer
  4. ในการหยุดรหัสที่กำลังรัน:
    • ใช้ทางลัด Ctrl+Alt+M
    • หรือกดF1และจากนั้นเลือก / ประเภทStop Code Run
    • หรือคลิกขวาที่ช่องสัญญาณออกจากนั้นคลิกStop Code Runในเมนูบริบท

เรียกใช้หลาม

หากคุณต้องการเพิ่มเส้นทาง Python คุณสามารถไปที่File-> Preference-> Settingsและเพิ่มเส้นทาง Python ดังนี้

"code-runner.executorMap": 
{ 
  "python": "\"C:\\Program Files\\Python35\\python.exe\" -u" 
}

ในกรณีที่คุณติดตั้ง Python extension และตั้งล่ามด้วยตนเองแล้วคุณสามารถตั้งค่าไฟล์ settings.json ของคุณได้ดังต่อไปนี้:

{
    "python.pythonPath": "C:\\\\python36\\\\python36.exe",
    "code-runner.executorMap": 
    { 
        "python": "$pythonPath -u $fullFileName" 
    }
}

1
คุณพูดว่า "ถ้าคุณต้องการเพิ่ม Python path .. " คุณจะทำให้มันทำงานได้อย่างไรโดยไม่ทำอย่างนั้น? การเพิ่มเส้นทางเป็นวิธีเดียวที่ฉันจะทำให้มันใช้งานได้ อายุที่อยู่ในระบบที่เล่นซอก่อนที่ฉันจะรู้ว่าการเพิ่มเส้นทางเป็นสิ่งที่จำเป็น คงจะเป็นการดีที่จะเน้นย้ำอีกสักหน่อย
— bonzo46

1
แม้ว่าฉันจะได้รับรหัสเพื่อทำงาน แต่ฉันก็ไม่สามารถโต้ตอบกับมันได้ ตัวอย่างเช่นเมื่อได้รับแจ้งให้ป้อนข้อมูลด้วยคำสั่งเช่นอินพุต ('ป้อนตัวเลข:') หน้าต่างผลลัพธ์ไม่ยอมรับอักขระที่พิมพ์ ฉันจะส่งผ่านอินพุตกลับมาจากภายในรหัส VS ได้อย่างไร
— bonzo46

1
@ bonzo46 คุณสามารถใช้การตั้งค่า"code-runner.runInTerminal": trueนี้ จะช่วยให้คุณใส่ สำหรับรายละเอียดเพิ่มเติมอ้างอิงgithub.com/formulahendry/vscode-code-runner/issues/…
— Jun Han

76

คุณสามารถเพิ่มงานที่กำหนดเองเพื่อทำสิ่งนี้ นี่คือภารกิจที่กำหนดเองพื้นฐานสำหรับ Python

{
    "version": "0.1.0",
    "command": "c:\\Python34\\python",
    "args": ["app.py"],
    "problemMatcher": {
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*)+s$",
            "message": 1
        }
    }
}

คุณเพิ่มสิ่งนี้tasks.jsonและกดCTRL+ SHIFT+ Bเพื่อเรียกใช้


1
โปรดระวังว่านิพจน์ทั่วไปด้านบน (/^(.*)+s$/) ทำให้เกิดการทำงานแบบรันไทม์แบบเอ็กซ์โปเนนเชียล ดูregular-expressions.info/catastrophic.htmlและbugs.chromium.org/p/v8/issues/detail?id=4651
— เดิร์คBäumer

ฉันไม่แน่ใจจริงๆว่า(.*)+ควรจะทำอะไร *จับคู่รายการก่อนหน้า 0 หรือมากกว่าแล้วและ+ตรงกับรายการก่อนหน้าอย่างน้อยหนึ่งครั้งดังนั้นคุณต้องการจับคู่ 0 หรือมากกว่าตัวอักษร ... หนึ่งครั้งหรือมากกว่า?
— emsimpson92

ไม่ทำงานบน Mac "ไม่สามารถเปิดโปรแกรมภายนอก" c: \\ Python34 \\ python "app.py. วางไข่ c: \ Python34 \ python ENOENT"
— Awesome_girl

@Awesome_girl คุณจะต้องแก้ไขบรรทัดนั้นสำหรับ MacOS แต่ต้องเป็นสภาพแวดล้อมที่เป็นเอกลักษณ์ของคุณด้วย ยกตัวอย่างเช่นงูใหญ่ "ของฉัน" /usr/local/bin/python3.7ที่ คุณสามารถค้นหาสิ่งที่คุณต้องการโดยใช้คำสั่งwhich pythonใน Terminal.app
— wgj

64

คำตอบทั้งหมดเหล่านี้ล้าสมัยแล้ว

ขณะนี้คุณต้อง:

  1. ติดตั้งส่วนขยายภาษา Python (และอย่างชัดเจน)
  2. เปิดโฟลเดอร์ (สำคัญ!) เปิดไฟล์ไพ ธ อนใด ๆ ภายในโฟลเดอร์นั้น
  3. เปลี่ยนเป็นดีบั๊ก "แท็บ" (?) และคลิกที่กล่องเกียร์ (พร้อมคำแนะนำ 'กำหนดค่าการแก้ไข' launch.json '')
  4. บันทึกไฟล์ launch.json ที่เปิดอยู่ (อยู่ใน. vscode subdir ในโฟลเดอร์ที่เปิดในขั้นตอนที่ 2)
  5. ในที่สุดคลิกสามเหลี่ยมสีเขียวหรือกด F5

ไม่จำเป็นต้องมีส่วนขยายเพิ่มเติมหรือการแก้ไข launch.json ด้วยตนเองตอนนี้


จะเป็นประโยชน์หากคุณสามารถแสดงตัวอย่าง (json snippet) ของการกำหนดค่าที่ใช้งานได้ ฉันได้รับข้อผิดพลาด
— Evan Zamir

ฉันเชื่อว่าคำตอบนี้ใช้ได้เฉพาะเมื่อคุณติดตั้งส่วนขยาย "Code Runner"
— PatKilg

1
@EntropyWins ผมคิดว่าเขาหมายถึงเต็มเปี่ยมขยายหลาม การค้นหา google อย่างรวดเร็วแสดงให้เห็นว่าคู่มือการใช้งาน Python ของ VS Code แนะนำส่วนขยายนี้และทำตามขั้นตอนเดียวกันกับที่เราทำ
— RMSD

ฉันคิดว่าคุณถูกต้องมีหลายรูปสามเหลี่ยมสีเขียวบน UI ของฉันซึ่งมีประโยชน์มากที่สุดซึ่งปรากฏขึ้นหลังจากที่ฉันติดตั้งรหัสนักวิ่งเท่านั้น ฉันเห็นตอนนี้คำตอบนี้ใช้ดีบักเกอร์ดั้งเดิมเพื่อ 'เรียกใช้' รหัส
— PatKilg

ใช่ฉันต้องเพิ่มส่วนขยาย Code Runner แล้วเพิ่มเส้นทางของหลามเองตามที่ความคิดเห็นของ @Jun Han อธิบาย แต่ด้วยขั้นตอนเพิ่มเติมของการแทนที่ '\' s ทั้งหมดในเส้นทางสำหรับ '/'
— bonzo46

27

หากต้องการขยายคำตอบของ @ vlad2135 (อ่านก่อน); นั่นคือวิธีที่คุณตั้งค่าการดีบักหลามใน VSCode ด้วยส่วนขยายหลามใหญ่ ๆ ของ Don Jayamanne (ซึ่งเป็น IDE แบบเต็มรูปแบบที่น่าสนใจสำหรับงูใหญ่ในทุกวันนี้และ IMO ส่วนขยายภาษาที่ดีที่สุดของรหัส VS)

โดยทั่วไปเมื่อคุณคลิกที่ไอคอนรูปเฟืองมันจะสร้าง launch.json ใน.vscodeไดเรกทอรีของคุณในพื้นที่ทำงานของคุณ คุณสามารถทำสิ่งนี้ได้ด้วยตัวเอง แต่อาจง่ายกว่าที่จะให้ VSCode ทำการยกของหนัก นี่คือตัวอย่างไฟล์:

launch.json

คุณจะสังเกตเห็นบางสิ่งที่เจ๋งหลังจากสร้าง มันสร้างการกำหนดค่าโดยอัตโนมัติ (ส่วนใหญ่ของฉันจะถูกตัดออกเพียงเลื่อนเพื่อดูพวกเขาทั้งหมด) ด้วยการตั้งค่าที่แตกต่างกันและคุณสมบัติพิเศษสำหรับห้องสมุดหรือสภาพแวดล้อมที่แตกต่างกัน (เช่น django) สิ่งที่คุณอาจจะใช้บ่อยที่สุดคือไพ ธ อน ซึ่งเป็นธรรมดา (ในกรณีของฉัน C) ดีบัก Python และง่ายที่สุดในการทำงานกับการตั้งค่าที่ชาญฉลาด ฉันจะแนะนำสั้น ๆ เกี่ยวกับคุณสมบัติ json สำหรับอันนี้เนื่องจากอันอื่นใช้การกำหนดค่าที่เหมือนกันมากกับเส้นทางล่ามที่แตกต่างกันเท่านั้นและอีกหนึ่งหรือสองคุณสมบัติอื่น ๆ ที่นั่น

  • ชื่อ: ชื่อของการกำหนดค่า ตัวอย่างที่มีประโยชน์ว่าทำไมคุณถึงเปลี่ยนมันคือถ้าคุณมีการกำหนดค่าหลามสองแบบซึ่งใช้การกำหนดค่าชนิดเดียวกัน แต่มีอาร์กิวเมนต์ต่างกัน มันคือสิ่งที่ปรากฏในกล่องที่คุณเห็นด้านบนซ้าย (กล่องของฉันบอกว่า "หลาม" เนื่องจากฉันใช้การกำหนดค่าเริ่มต้นหลาม)
  • ประเภท: ประเภทล่าม โดยทั่วไปคุณไม่ต้องการเปลี่ยนอันนี้
  • คำขอ: วิธีที่คุณต้องการเรียกใช้รหัสของคุณและโดยทั่วไปคุณไม่ต้องการเปลี่ยนรหัสนี้ ค่าเริ่มต้นคือ"launch"แต่การเปลี่ยนเป็น"attach"อนุญาตให้ดีบักเกอร์แนบกับกระบวนการไพ ธ อนที่รันอยู่ แทนที่จะเปลี่ยนให้เพิ่มการกำหนดค่าประเภทแนบและใช้สิ่งนั้น
  • stopOnEntry: Python debuggers ต้องการให้มีจุดหยุดที่มองไม่เห็นเมื่อคุณเริ่มโปรแกรมเพื่อให้คุณสามารถดูไฟล์จุดเริ่มต้นและตำแหน่งที่รหัสบรรทัดแรกของคุณคือ มันทำให้โปรแกรมเมอร์ C # / Java บางคนอย่างฉันบ้า falseถ้าคุณไม่ต้องการมันtrueเป็นอย่างอื่น
  • pythonPath: เส้นทางไปสู่การติดตั้งของหลาม ค่าเริ่มต้นรับระดับเริ่มต้นส่วนขยายในการตั้งค่าผู้ใช้ / พื้นที่ทำงาน เปลี่ยนที่นี่ถ้าคุณต้องการ pythons ที่แตกต่างกันสำหรับกระบวนการ debug ที่แตกต่างกัน เปลี่ยนในการตั้งค่าเวิร์กสเปซหากคุณต้องการเปลี่ยนสำหรับกระบวนการดีบั๊กทั้งหมดที่ตั้งค่าเป็นค่าเริ่มต้นในโครงการ เปลี่ยนในการตั้งค่าผู้ใช้เพื่อเปลี่ยนตำแหน่งที่พบว่าหลามในทุกโครงการ (4/12/17 ต่อไปนี้ได้รับการแก้ไขในส่วนขยายรุ่น 0.6.1)น่าแปลกที่สิ่งนี้เกิดขึ้นโดยอัตโนมัติ มันสร้างขึ้นโดยอัตโนมัติเพื่อ "$ {config.python.pythonPath}" ซึ่งเลิกใช้แล้วในเวอร์ชัน VSCode ที่ใหม่กว่า อาจยังใช้งานได้ แต่คุณควรใช้ "$ {config: python.pythonPath}" แทน python แรกที่เป็นค่าเริ่มต้นบนพา ธ หรือการตั้งค่า VS (4/6/17 แก้ไข: สิ่งนี้ควรได้รับการแก้ไขในรุ่นถัดไปทีมคอมมิชชันทำการแก้ไขไม่กี่วันที่ผ่านมา)
  • โปรแกรม: ไฟล์เริ่มต้นที่คุณดีบักเกอร์เริ่มทำงานเมื่อคุณกดปุ่ม "Run" "${workspaceRoot}"เป็นโฟลเดอร์รูทที่คุณเปิดเป็นเวิร์กสเปซของคุณ (เมื่อคุณไปที่ไอคอนไฟล์โฟลเดอร์เปิดพื้นฐาน) เคล็ดลับอีกอย่างหนึ่งหากคุณต้องการให้โปรแกรมของคุณทำงานได้อย่างรวดเร็วหรือคุณมีจุดเข้าใช้หลายจุดในโปรแกรมของคุณคือ ตั้งค่านี้"${file}"ซึ่งจะเริ่มต้นการแก้จุดบกพร่องที่ไฟล์ที่คุณได้เปิดและอยู่ในโฟกัสในช่วงเวลาที่คุณตีแก้ปัญหา
  • cwd: โฟลเดอร์ไดเรกทอรีทำงานปัจจุบันของโครงการที่คุณกำลังใช้งาน "${workspaceRoot}"โดยปกติแล้วคุณก็จะต้องการที่จะออกจากนี้
  • debugOptions: แฟล็กตัวดีบักบางตัว สิ่งที่อยู่ในรูปภาพคือค่าสถานะเริ่มต้นคุณสามารถค้นหาค่าสถานะเพิ่มเติมได้ในหน้าดีบักเกอร์ของหลามฉันแน่ใจ
  • args: นี่ไม่ใช่การตั้งค่าเริ่มต้นจริง ๆ แต่เป็นประโยชน์อย่างหนึ่ง (และอาจเป็นสิ่งที่ OP ถาม) นี่คืออาร์กิวเมนต์บรรทัดคำสั่งที่คุณส่งผ่านไปยังโปรแกรมของคุณ ตัวดีบักส่งผ่านสิ่งเหล่านี้ราวกับว่าคุณพิมพ์python file.py [args]ลงในเทอร์มินัลของคุณ ผ่านแต่ละสตริง json ในรายการไปยังโปรแกรมตามลำดับ

คุณสามารถไปที่นี่สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรไฟล์ VSCode ที่คุณสามารถใช้เพื่อกำหนดค่าตัวดีบั๊กและพา ธ

คุณสามารถไปที่นี่เพื่อดูเอกสารประกอบของส่วนขยายได้ที่ตัวเลือกการเปิดตัวพร้อมทั้งแอตทริบิวต์เสริมและแอตทริบิวต์ที่จำเป็น

คุณสามารถคลิกปุ่ม "เพิ่มการกำหนดค่า" ที่ด้านล่างขวาหากคุณไม่เห็นแม่แบบการกำหนดค่าที่มีอยู่แล้วในไฟล์ มันจะให้รายการคุณสร้างการกำหนดค่าอัตโนมัติสำหรับกระบวนการดีบักทั่วไปส่วนใหญ่ที่นั่น

ตอนนี้ตามคำตอบของ vlad คุณสามารถเพิ่มจุดพักใด ๆ ที่คุณต้องการตาม debuggers ภาพปกติเลือกการกำหนดค่าการทำงานที่คุณต้องการในเมนูแบบเลื่อนลงด้านบนซ้ายและคุณสามารถแตะลูกศรสีเขียวทางซ้ายไปยังชื่อการกำหนดค่าเพื่อเริ่มโปรแกรมของคุณ .

เคล็ดลับสำหรับมืออาชีพ:คนต่าง ๆ ในทีมของคุณใช้ IDE ที่แตกต่างกันและพวกเขาอาจไม่ต้องการไฟล์กำหนดค่าของคุณ VSCode เกือบจะทำให้มันเป็นไฟล์ IDE ในที่เดียว (โดยการออกแบบเพื่อวัตถุประสงค์นี้ฉันถือว่า) เปิดตัวหรืออื่น ๆ เพื่อให้แน่ใจว่าได้เพิ่ม.vscode/. gitignore ของคุณหากนี่เป็นครั้งแรกที่คุณสร้างไฟล์ VSCode (กระบวนการนี้จะสร้างโฟลเดอร์ ในพื้นที่ทำงานของคุณหากคุณยังไม่มี)


1
นี่เป็นข้อมูล แต่ไม่ได้อธิบายวิธีการเรียกใช้รหัสหลามจาก VSCode
— aaronsnoswell

1
FYI สำหรับเหตุผลในบางโครงการของฉันฉันต้องการที่จะเพิ่มด้วยตนเอง "โปรแกรม" สายไปยังโมดูลหลามและมาตราปิรามิดเพื่อล้างความผิดพลาด
— scld

@aaronsnoswell คุณคลิกลูกศรสีเขียวที่ด้านบนซ้ายของเมนูดีบักหลังจากนี้ ซึ่งได้รับการคุ้มครองภายใต้คำตอบของวลาดซึ่งเดิมเป็นเพียงการขยายตัว / คำอธิบายในส่วนที่สำคัญซึ่งคำตอบของเขาเพียงแค่มองไปที่ 'ตั้งค่า launch.json'
— RMSD

@scld มันแปลกที่หายไปในตอนแรก แต่ใช่ว่าไม่ใช่ตัวเลือก เครื่องมือดีบั๊กต้องรู้ว่าเมื่อใดควรเริ่มต้นโปรแกรม
— RMSD

นี่เป็นเพียงสาเหตุที่คำตอบนั้นใช้ได้และสิ่งที่คุณสามารถทำได้เมื่อผ่านไป
— RMSD

21

มีRun Python File in Terminalคำสั่งอยู่ในPython สำหรับส่วนขยายของรหัส VS

เรียกใช้ไฟล์ Python ใน Terminal


ฉันคิดว่าปัญหาที่ผู้คนมีคือวิธีเรียกใช้ไฟล์ที่มีอาร์กิวเมนต์บรรทัดคำสั่ง
— Evan Zamir

ฉันสามารถกำหนดทางลัดสำหรับสิ่งเดียวกันได้หรือไม่?
— Deepak Kumar Padhy

8
ใช่แน่นอน คำสั่งที่ผูกกับคือpython.execInTerminal
— kenwarner

1
แต่จะกำหนดทางลัดสำหรับ Windows ได้อย่างไร?
— Mahir Islam

รับข้อผิดพลาดขณะใช้ sublinux bash บน Windows: "C: \ Users \ User" Anaconda3 \ python.exe ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว "
— Biarys

16

ตามที่ระบุไว้ในเอกสารรหัส Visualstudioเพียงคลิกขวาที่ใดก็ได้ในตัวแก้ไขและเลือกเรียกใช้ไฟล์ Python ในเทอร์มินัล


หลังจากเกลียวค้นหาหลายชั่วโมงฉันอ่านและทุกอย่างก็ใช้งานได้ ... ชนิดของคำตอบที่ทำให้โกรธคือความเรียบง่ายตลอด: P นี่ควรอยู่ใกล้ด้านบนสุดของหน้านี้
— Rushat Rai

1
จะเพิ่มทางลัดได้อย่างไร?
— Mahir Islam

ฉันไม่มีตัวเลือกนี้เมื่อฉันคลิกขวา! อย่างไรก็ตามเมื่อฉันรันคำสั่งผ่าน ctrl-shift-p ตอนนี้ฉันมีแล้ว
— Hrvoje T

เห็นด้วยฉันไม่ทราบว่าทำไมคำตอบนี้ไม่ได้อยู่ด้านบน :)
— Alapati

มันทำงานมากเกินไป! ฉันชอบshift + enterเคล็ดลับโน๊ตบุ๊คของ jupyter มันคือทั้งหมดที่คุณต้องทำเพื่อเรียกใช้รหัสของคุณ พวกเขามีอะไรแบบนั้นใน VScode ไหม?
— ไซเบอร์คณิตศาสตร์

11

มี 4 วิธีในการรัน Python ใน VSCode จนถึงตอนนี้:

  1. ผ่านเทอร์มินัลรวม (มันรวมอยู่ด้วย ! ดังนั้นโดยทางเทคนิคแล้วคุณรันมันจากภายใน VSCode;)
    • ไม่จำเป็นต้องติดตั้งส่วนขยายใด ๆ
    • ไม่จำเป็นต้องสร้างและกำหนดค่าอะไร (สมมติว่าคุณมีอยู่แล้วpythonในของคุณ$PATH)
    • ⌃Space(เทอร์มินัลเปิด) และpython my_file.py(เรียกใช้ไฟล์)
  2. ผ่านงานที่กำหนดเอง(คำตอบที่ยอมรับ @ Fenton):
    • ไม่จำเป็นต้องติดตั้งส่วนขยาย ใด ๆ
    • Default วิธีการทำ VSCode
    • ระวังอย่าคัดลอกคำตอบเพราะมันproblemMatcher.pattern.regexpเสียและแฮงค์ตัวแก้ไข ดีกว่าที่จะลบproblemMatcherหรือเปลี่ยนแปลงไปอย่างน้อย regexp^\\s+(.*)$
  3. ผ่านส่วนขยายCode Runner (@ คำตอบของ JanHan):

    • จำเป็นต้องกำหนดค่าcode-runner.executorMapในการตั้งค่าผู้ใช้ (เพิ่มเส้นทางไปยังของคุณpython)
    • ส่วนขยายที่มีประโยชน์มากโดยเฉพาะอย่างยิ่งถ้าคุณเรียกใช้ Python ไม่เพียง แต่ใน VSCode
  4. ผ่านPythonส่วนขยายอย่างเป็นทางการของ Microsoft (คำตอบของ @ vlad2135):
    • ต้องการสร้างlaunch.js(คลิกสองครั้งในแท็บ Debug ของ VSCode)
    • นามสกุลเป็นสิ่งที่ต้องมีสำหรับผู้ที่ต้องการใช้ VSCode เป็น IDE หลักสำหรับ Python

1
Nikolay จากทั้งหมด 4 ข้อและคิดว่าค่าใช้จ่ายในการติดตั้งส่วนขยายนั้นเล็กน้อยมากคุณคิดว่าอันไหนมีประสิทธิผลมากที่สุด?
— sivabudh

3
@ sivabudh ฉันจะใช้วิธีที่ 4 แน่นอน Extenstion อย่างเป็นทางการให้คุณมากมาย: เติมข้อความอัตโนมัติ, ขุย, การดีบั๊กและอีกมากมาย แต่มันขึ้นอยู่กับกรณีของคุณ หากคุณต้องการเขียนสคริปต์เพียงไม่กี่อย่างคุณไม่จำเป็นต้องติดตั้งอะไรเลย - เพียงแค่ใช้เทอร์มินัล
— Nikolay Kulachenko

Nikolay ขอบคุณสำหรับคำตอบของคุณ ฉันเลือกใช้วิธีที่ 4 และรู้สึกประหลาดใจมากเมื่อเทียบกับ VSCode ที่มีความสามารถเทียบกับ PyCharm ขอบคุณมาก!
— sivabudh

1
ฉันดีใจที่ได้ช่วย :)
— Nikolay Kulachenko

9
  1. ติดตั้งส่วนขยาย Python (ควรติดตั้ง Python ในระบบของคุณ) ในการติดตั้ง Python Extension กดCtrl+ Shift+ Xจากนั้นพิมพ์ 'python' และป้อน ติดตั้งส่วนขยาย

  2. เปิดไฟล์ที่มีรหัสหลาม ใช่ ไฟล์. py

  3. ตอนนี้ให้เรียกใช้รหัส. py เพียงคลิกขวาที่หน้าจอแก้ไขแล้วกด 'Run Python File in the Terminal' แค่นั้นแหละ!

ตอนนี้เป็นขั้นตอนเพิ่มเติมจริง ๆ แล้วฉันหงุดหงิดกับการคลิกซ้ำแล้วซ้ำอีกดังนั้นฉันจึงตั้งค่าแป้นพิมพ์ลัด

  1. กดที่ไอคอนรูปลักษณ์คล้ายการตั้งค่าที่ด้านล่างซ้าย -> แป้นพิมพ์ลัด -> พิมพ์ 'เรียกใช้ไฟล์ Python ในเทอร์มินัล' ตอนนี้คุณจะเห็นเครื่องหมาย + ให้ไปเลือกทางลัดของคุณ เสร็จแล้ว!

7

คุณไม่ต้องการส่วนขยายเพิ่มเติมอีกต่อไป คุณสามารถสลับเอาต์พุตของดีบักเกอร์เป็นเทอร์มินัลรวม

Ctrl+ Shift+ Dจากนั้นเลือก Integrated Terminal / Console จากเมนูดรอปดาวน์ที่ด้านบน


7

นี่คือส่วนขยายปัจจุบัน (กันยายน 2018) สำหรับการใช้งานไพ ธ อน:

ส่วนขยายของไพ ธ อนอย่างเป็นทางการ : นี่เป็นสิ่งที่ต้องติดตั้ง

Code Runner : มีประโยชน์อย่างมากสำหรับภาษาทุกประเภทไม่เพียง แต่เป็นงูหลาม ขอแนะนำให้ติดตั้งอย่างสูง

AREPL : สแคร็ชแพดแบบหลามแบบเรียลไทม์ที่แสดงตัวแปรของคุณในหน้าต่างด้านข้าง ฉันเป็นผู้สร้างสิ่งนี้อย่างเห็นได้ชัดฉันคิดว่ามันยอดเยี่ยม แต่ฉันไม่สามารถให้ความเห็นที่เป็นกลางได้¯ \ _ (ツ) _ / ¯

Wolf : Scratchpad python เรียลไทม์ที่แสดงผลลัพธ์แบบอินไลน์

และแน่นอนถ้าคุณใช้เทอร์มินัลรวมคุณสามารถเรียกใช้งานไพ ธ อนได้โดยไม่ต้องติดตั้งส่วนขยายใด ๆ


ปรับปรุง: Jupyter ไม่ได้รับการบำรุงรักษาอีกต่อไป ฟังก์ชั่นทั้งหมดจะมีอยู่ใน Python extension ตามการแจ้งเตือนของ VScode
— ไซเบอร์คณิตศาสตร์

7

มีความสับสนรอบ ๆ VSCode Tasks และ Debugger มาพูดคุยเกี่ยวกับมันก่อนเพื่อให้เราเข้าใจว่าจะใช้ Tasks เมื่อใดและเมื่อใดที่จะใช้ดีบักเกอร์

งาน

เอกสารอย่างเป็นทางการกล่าวว่า -

มีเครื่องมือมากมายที่ใช้ในการทำงานอัตโนมัติเช่นผ้าสำลี, อาคาร, บรรจุภัณฑ์, การทดสอบหรือการปรับใช้ระบบซอฟต์แวร์ ตัวอย่างเช่น TypeScript Compiler, linters เช่น ESLint และ TSLint รวมถึงการสร้างระบบเช่น Make, Ant, Gulp, Jake, Rake และ MSBuild

.... งานในรหัส VS สามารถกำหนดค่าให้เรียกใช้สคริปต์และเริ่มต้นกระบวนการเพื่อให้เครื่องมือที่มีอยู่เหล่านี้จำนวนมากสามารถใช้จากภายในรหัส VS โดยไม่ต้องป้อนบรรทัดคำสั่งหรือเขียนรหัสใหม่

ดังนั้น Tasks ไม่ใช่สำหรับการดีบั๊ก, คอมไพล์หรือรันโปรแกรมของเรา

ดีบักเกอร์

ถ้าเราตรวจสอบเอกสารการดีบักเราจะพบว่ามีสิ่งที่เรียกว่าโหมดการทำงาน มันบอกว่า -

นอกจากการดีบักโปรแกรมแล้ว VS Code ยังสนับสนุนการเรียกใช้โปรแกรม การดีบัก: เริ่มต้นโดยไม่มีการดำเนินการแก้ไขข้อบกพร่องถูกเรียก Ctrl+F5ใช้และใช้การกำหนดค่าเริ่มต้นที่เลือกไว้ แอ็ตทริบิวต์การกำหนดค่าการเรียกใช้จำนวนมากได้รับการสนับสนุนในโหมด 'เรียกใช้' VS Code จะรักษาเซสชันการดีบักในขณะที่โปรแกรมกำลังทำงานและการกดปุ่ม Stop จะเป็นการสิ้นสุดโปรแกรม

ดังนั้นกดF5รหัสและรหัส VS จะพยายามแก้ปัญหาไฟล์ที่ใช้งานในปัจจุบันของคุณ

กดCtrl+F5และ VSCode จะเพิกเฉยจุดพักของคุณและเรียกใช้รหัส

การกำหนดค่าดีบักเกอร์

ในการกำหนดค่าดีบักเกอร์ให้ทำตาม เอกสาร โดยสรุปมันบอกว่าคุณควรแก้ไขlaunch.jsonไฟล์ สำหรับ starters เพื่อเรียกใช้รหัสใน terminal รวม (ภายในรหัส VS) ใช้ -

{
    "name": "Python: Current File (Integrated Terminal)",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal"
}

เพื่อเรียกใช้รหัสในสถานีภายนอก (ด้านนอกของรหัส VS) ใช้ -

{
    "name": "Python: Current File (External Terminal)",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "externalTerminal"
}

หมายเหตุถ้าเอกสารทั้งหมดง่ายต่อการค้นหาและทำความเข้าใจเราอาจไม่จำเป็นต้องใช้สแต็คโอเวอร์โฟลว์ โชคดีที่เอกสารที่ฉันพูดถึงในโพสต์นี้เข้าใจง่ายมาก โปรดอ่านไตร่ตรองและสนุก


5

ง่ายมาก:
กดF5ปุ่มและรหัสจะทำงาน หากตั้งค่าเบรกพอยต์การกดF5จะหยุดที่จุดพักและเรียกใช้รหัสในDebugโหมด


นี่เป็นคำตอบที่ดีที่สุดสำหรับ caveat: ติดตั้งส่วนขยาย Python ของ Microsoft ก่อน Lol
— sivabudh

5

ในเวอร์ชันล่าสุด (1.36) ของรหัส VS (Python):

กดF5จากนั้นกดEnterเพื่อเรียกใช้รหัสของคุณในเทอร์มินัลรวม

CTRL + Aจากนั้นกดSHIFT + Enterเพื่อเรียกใช้รหัสของคุณใน IPython Shell แบบโต้ตอบ


4

หากคุณกำลังใช้รุ่นล่าสุดของ VS รหัส ( เวอร์ชั่น 1.21.1 ) task.jsonรูปแบบที่มีการเปลี่ยนแปลงให้ดูที่นี่ ดังนั้นคำตอบโดย @Fenton และ @python_starter อาจไม่ถูกต้องอีกต่อไป

ก่อนเริ่มการตั้งค่า

ก่อนที่คุณจะเริ่มกำหนดค่ารหัส vs สำหรับเรียกใช้ไฟล์หลามของคุณ

  • ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Python และเพิ่มความสามารถในการทำงานให้กับ PATH ของระบบ
  • คุณต้องตั้งค่าโฟลเดอร์ที่ไฟล์ต้นฉบับของไพ ธ อนอยู่เป็นโฟลเดอร์ทำงาน (ไปที่File -> Open Folderการตั้งค่าโฟลเดอร์ทำงานของคุณ)

ขั้นตอนการกำหนดค่า

ตอนนี้คุณสามารถกำหนดค่างาน ขั้นตอนต่อไปนี้จะช่วยให้คุณเรียกใช้ไฟล์ไพ ธ อนได้อย่างถูกต้อง:

  1. ใช้Ctrl+ Shift+ Pและใส่คุณจะเห็นรายการของตัวเลือกให้เลือกtaskTasks: Configure Task

ป้อนคำอธิบายรูปภาพที่นี่

  1. จากนั้นคุณจะได้รับแจ้งcreate task.json from templateให้เลือกตัวเลือกนี้และคุณจะได้รับแจ้งให้เลือกจากรายการตัวเลือก Othersเลือก

ป้อนคำอธิบายรูปภาพที่นี่

  1. จากนั้นในtask.jsonไฟล์ที่เปิดใช้การตั้งค่าต่อไปนี้:

    {
    "version": "2.0.0",
    "tasks": [
        {
            "label": "run this script",
            "type": "shell",
            "command": "python",
            "args": [
                "${file}"
            ],
            "problemMatcher": []
        }
    ]
    }

    ในการตั้งค่าข้างต้นคุณสามารถให้ความหมายlabelกับงานนี้ได้ ตัวอย่างเช่นrun python.

  2. ไปที่เมนูและคลิกTasks Run Taskคุณจะได้รับแจ้งให้เลือกงาน เพียงเลือกrun this scriptงานที่สร้างขึ้นใหม่ คุณจะเห็นผลลัพธ์ในTERMINALแท็บ

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

สำหรับบทช่วยสอนที่สมบูรณ์ยิ่งขึ้นเกี่ยวกับการกำหนดค่างานให้ไปที่เอกสารคู่มือvs รหัสทางการ


2

Python ที่เรียบง่ายและตรงไปตรงมาจะช่วยประหยัดทั้งเวลาและความพยายาม Linting, Debug, code completion เป็นคุณสมบัติที่มีให้เมื่อติดตั้งเสร็จแล้ว หลังจากนี้ในการเรียกใช้รหัสเส้นทางการติดตั้ง Python ที่เหมาะสมจะต้องมีการกำหนดค่าเพื่อที่จะเรียกใช้รหัส การตั้งค่าทั่วไปมีอยู่ในขอบเขตผู้ใช้และเวิร์กสเปซสามารถกำหนดค่าสำหรับภาษา Python ได้"python.pythonPath": "c:/python27/python.exe" ด้วยขั้นตอนข้างต้นอย่างน้อยโปรแกรม Python พื้นฐานสามารถดำเนินการได้


2

หากคุณกำลังเรียกใช้รหัสและต้องการรับอินพุตผ่านการรันโปรแกรมของคุณในเทอร์มินัล สิ่งที่ดีที่สุดที่จะทำคือรันในเทอร์มินัลโดยตรงเพียงแค่คลิกขวาแล้วเลือก "Run python file in terminal" ป้อนคำอธิบายรูปภาพที่นี่


2

จากการขยายการติดตั้งรหัส Runner หลังจากนั้นคุณสามารถใช้ทางลัดเพื่อเรียกใช้ซอร์สโค้ดของคุณใน Visual Studio Code

ก่อน: วิธีเรียกใช้รหัส:

  • ใช้ทางลัดCtrl+ Alt+N
  • หรือกด F1 จากนั้นเลือก / พิมพ์ Run Code
  • หรือคลิกขวาที่ Text Editor แล้วคลิก Run Code ในเมนูบริบทของตัวแก้ไข
  • หรือคลิกปุ่มเรียกใช้รหัสในเมนูชื่อบรรณาธิการ
  • หรือคลิกปุ่ม Run Code ในเมนูบริบทของ File explorer

ที่สอง: ในการหยุดรหัสที่ทำงาน:

  • ใช้ทางลัดCtrl+ Alt+M
  • หรือกด F1 จากนั้นเลือก / พิมพ์ Stop Code Run
  • หรือคลิกขวาที่ช่องสัญญาณจากนั้นคลิกหยุดเรียกใช้รหัสในเมนูบริบท

2

ฉันใช้ Python 3.7 (32 บิต) ในการรันโปรแกรมใน Visual Studio Code ฉันคลิกขวาที่โปรแกรมและเลือก "เรียกใช้ไฟล์ปัจจุบันในหน้าต่าง Python Interactive" หากคุณไม่มี Jupyter คุณอาจถูกขอให้ติดตั้ง

ป้อนคำอธิบายรูปภาพที่นี่


2

หากฉันต้องการเรียกใช้ไฟล์ Python ในเทอร์มินัลฉันจะสร้างแป้นพิมพ์ลัดสำหรับคำสั่งเนื่องจากไม่มีค่าเริ่มต้น (คุณต้องมี python ในพา ธ ของคุณ):

  • ไปที่การตั้งค่า -> แป้นพิมพ์ลัด
  • พิมพ์ 'เรียกใช้ไฟล์หลามในเทอร์มินัล'
  • คลิกที่ '+' สำหรับคำสั่งนั้นและป้อนแป้นพิมพ์ลัดของคุณ

ฉันใช้ ctrl + alt + n


1

ฉันติดตั้งไพ ธ อนผ่านอนาคอนด้าแล้ว เมื่อเริ่มต้นรหัส VS ผ่านแอนาคอนดาฉันสามารถเรียกใช้โปรแกรมไพ ธ อนได้ อย่างไรก็ตามฉันไม่พบวิธีลัดใด ๆ (ปุ่มลัด) เพื่อเรียกใช้ไฟล์. py โดยตรง

(ใช้รุ่นล่าสุดตั้งแต่วันที่ 21 กุมภาพันธ์ 2019 พร้อมกับส่วนขยาย Python ซึ่งมาพร้อมกับรหัส VS ลิงก์: https://marketplace.visualstudio.com/items?itemName=ms-python.python )

ทำงานต่อไปนี้:

  1. คลิกขวาและเลือก'เรียกใช้ไฟล์หลามในเทอร์มินัล' ใช้งานได้สำหรับฉัน
  2. CTRL + Aจากนั้นSHIFT + ENTER (บน windows)

ด้านล่างคล้ายกับสิ่งที่ @ jdhao ทำ

นี่คือสิ่งที่ฉันทำเพื่อรับฮอต:

  1. CTRL + SHIFT + B // เรียกใช้งานบิลด์
  2. มันให้ตัวเลือกในการกำหนดค่า
  3. ฉันคลิกเพื่อรับตัวเลือกเพิ่มเติม ฉันคลิกที่การกำหนดค่าอื่น ๆ
  4. เปิดไฟล์ 'task.json'

ฉันทำรหัสลักษณะเช่นนี้:

    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Run Python File", //this is the label I gave
                "type": "shell",
                "command": "python",
                "args": ["${file}"]

หลังจากบันทึกแล้วไฟล์จะเปลี่ยนเป็นสิ่งนี้:

    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Run Python File",
                "type": "shell",
                "command": "python",
                "args": [
                    "${file}"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }
  1. หลังจากบันทึกไฟล์ 'task.json' แล้วให้ไปที่รหัสไพ ธ อนของคุณแล้วกด CTRL + SHIFT + BB
  2. จากนั้นคลิกที่ Run task -> Run Python File // นี่คือป้ายกำกับที่คุณให้ไว้

ตอนนี้ทุกครั้งที่คุณกดCTRL + SHIFT + Bไฟล์หลามจะทำงานโดยอัตโนมัติและแสดงผลลัพธ์ให้คุณ :)


0

เพื่อเปิดไฟล์ปัจจุบันที่มี venv ตามลำดับฉันเพิ่มลงในนี้ launch.json

 {
        "name": "Python: Current File",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "pythonPath": "${workspaceFolder}/FOO/DIR/venv/bin/python3"
    },

ในbinโฟลเดอร์จะมีsource .../venv/bin/activateสคริปต์ที่มีแหล่งที่มาอย่างสม่ำเสมอเมื่อเรียกใช้จากเทอร์มินัลปกติ


0

หากคุณมีโครงการที่ประกอบด้วยไฟล์หลามหลายไฟล์และคุณต้องการเริ่มการทำงาน / แก้ไขข้อบกพร่องด้วยโปรแกรมหลักโดยไม่ขึ้นกับว่าไฟล์ใดเป็นปัจจุบันคุณสร้างการกำหนดค่าการเปิดตัวต่อไปนี้ (เปลี่ยนMyMain.pyเป็นไฟล์หลักของคุณ)

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Main File",
      "type": "python",
      "request": "launch",
      "program": "${workspaceFolder}/MyMain.py",
      "console": "integratedTerminal",
      "cwd": "${workspaceFolder}"
    }
  ]
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.