วิธีการใช้งานรหัสงูหลามจากภายในรหัส 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.