ฉันกำลังเริ่มใช้ vscode สำหรับ Python ฉันมีโปรแกรมทดสอบง่ายๆ ฉันต้องการเรียกใช้ภายใต้การดีบักและฉันต้องตั้งค่าไดเร็กทอรีการทำงานสำหรับการรัน
ฉันจะทำอย่างไร / ที่ไหน
ฉันกำลังเริ่มใช้ vscode สำหรับ Python ฉันมีโปรแกรมทดสอบง่ายๆ ฉันต้องการเรียกใช้ภายใต้การดีบักและฉันต้องตั้งค่าไดเร็กทอรีการทำงานสำหรับการรัน
ฉันจะทำอย่างไร / ที่ไหน
คำตอบ:
ความคิดเห็นของ @ SpeedCoder5 สมควรเป็นคำตอบ;
โดยเฉพาะคุณสามารถระบุไดเร็กทอรีการทำงานแบบไดนามิก (เช่นไดเร็กทอรีใดก็ตามที่มีไฟล์ Python ที่เปิดอยู่ในปัจจุบัน) โดยใช้"cwd": "${fileDirname}"
หากคุณใช้Python: Current File (Integrated Terminal)ตัวเลือกนี้เมื่อคุณเรียกใช้ Python launch.jsonไฟล์ของคุณอาจดูเหมือนของฉันด้านล่าง
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${fileDirname}"
},
//... other settings, but I modified the "Current File" setting above ...
}
จำlaunch.jsonการควบคุมไฟล์การตั้งค่าการทำงาน / การแก้ปัญหาของโครงการ Visual รหัสสตูดิโอของคุณ ; launch.jsonไฟล์ของฉันสร้างขึ้นโดยอัตโนมัติโดย VS Code ในไดเร็กทอรีของ "Open Project" ปัจจุบันของฉัน ฉันเพิ่งแก้ไขไฟล์ด้วยตนเองเพื่อเพิ่ม"cwd": "${fileDirname}"ตามที่แสดงด้านบน
โปรดจำไว้ว่าlaunch.jsonไฟล์อาจเป็นไฟล์เฉพาะสำหรับโปรเจ็กต์ของคุณหรือเฉพาะสำหรับไดเร็กทอรีของคุณดังนั้นยืนยันว่าคุณกำลังแก้ไขถูกต้อง launch.json (ดูความคิดเห็น)
หากคุณไม่มีlaunch.jsonไฟล์ให้ลองทำดังนี้:
ในการสร้างไฟล์ launch.json ให้เปิดโฟลเดอร์โครงการของคุณใน VS Code (ไฟล์> เปิดโฟลเดอร์) จากนั้นเลือกไอคอนกำหนดค่ารูปเฟืองบนแถบด้านบนของมุมมองดีบัก
สิ่งที่คุณต้องทำคือกำหนดการตั้งค่า cwd ในไฟล์ launch.json ดังนี้:
{
"name": "Python",
"type": "python",
"pythonPath":"python",
....
"cwd": "<Path to the directory>"
....
}
ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้สามารถพบได้ในอย่างเป็นทางการ VS รหัสเว็บไซต์เอกสาร
"cwd": "${fileDirname}"เพื่อทำงานในไดเรกทอรีปัจจุบันของไฟล์โอเพนซอร์ส
การตั้งค่านี้ช่วยฉัน:
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"cwd": "${workspaceFolder}\\app\\js", // set directory here
"program": "${workspaceFolder}\\app\\js\\server.js", // set start js here
}
ในบางกรณีการตั้งค่าPYTHONPATHพร้อมกับworkspaceFolder:
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}",
"env": {
"PYTHONPATH": "${cwd}"
}
}
ฉันกำลังโพสต์การกำหนดค่าตัวอย่างนี้สำหรับผู้ที่ใช้ TypeScript บน Node.js
ในโครงการของฉันไฟล์ TypeScript ของเซิร์ฟเวอร์ Node.js ของฉันอยู่ในโฟลเดอร์ Application_ts และไฟล์ js ที่คอมไพล์จะถูกสร้างขึ้นในโฟลเดอร์ชื่อ Application
เนื่องจากเมื่อเราเรียกใช้แอปพลิเคชันของเราในโหมด debug หรือเริ่มต้นตามปกติเราควรเริ่มจากโฟลเดอร์ Application ซึ่งมีไฟล์ js ดังนั้นการกำหนดค่าการร้องจึงเรียกใช้ debug จากโฟลเดอร์รูทที่ application_ts ของฉันมีอยู่และทำงานได้อย่างสมบูรณ์แบบ
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug TypeScript in Node.js",
"program": "${workspaceRoot}\\Application\\app.js",
"cwd": "${workspaceRoot}\\Application",
"protocol": "inspector",
"outFiles": [],
"sourceMaps": true
},
{
"type": "node",
"request": "attach",
"name": "Attach to Process",
"port": 5858,
"outFiles": [],
"sourceMaps": true
}
]
}
คุณสามารถตั้งค่าไดเร็กทอรีการทำงานปัจจุบันสำหรับโปรแกรมที่ดีบักโดยใช้cwdอาร์กิวเมนต์ในlaunch.json
ในการตั้งค่าไดเร็กทอรีการทำงานปัจจุบันเป็นไฟล์ใด ๆ ที่คุณกำลังดำเนินการในเวลานั้น:
ไฟล์> การตั้งค่า> การตั้งค่า> Python> Data Science> ดำเนินการใน File Dir
ขอบคุณ brch: Python ใน VSCode: ตั้งค่าไดเร็กทอรีการทำงานเป็นพา ธ ของไฟล์ python ทุกครั้ง