Ik begin vscode voor Python te gebruiken. Ik heb een eenvoudig testprogramma. Ik wil het uitvoeren onder debug en ik moet de werkmap voor de run instellen.
Hoe/waar doe ik dat?
Antwoord 1, autoriteit 100%
De opmerking van @SpeedCoder5 verdient een antwoord;
U kunt een dynamische werkmap specificeren; (dwz in welke map het momenteel geopende Python-bestand zich ook bevindt), met behulp van "cwd": "${fileDirname}"
— dit maakt gebruik van de “variables reference”-functie in VS Codeen de vooraf gedefinieerde variabele fileDirname
Als u de optie Python: Current File (Integrated Terminal)
gebruikt wanneer u Python uitvoert, kan uw launch.json
-bestand er als het mijne uitzien, hieronder (meer informatie over launch.json
-bestanden hier) .
{
"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 ...
}
Onthoud de launch.json
bestand regelt de run/debug-instellingen van uw Visual Studio-codeproject; mijn bestand launch.json
is automatisch gegenereerd door VS Code, in de map van mijn huidige “Open Project”. Ik heb het bestand zojuist handmatig bewerkt om "cwd": "${fileDirname}"
toe te voegen zoals hierboven weergegeven.
Onthoud dat het bestand launch.json
specifiek kan zijn voor uw project of specifiek voor uw directory, dus controleer of u de juistelaunch.json
(zie opmerking)
Als u geen launch.json
-bestand heeft, probeer dit:
Om een launch.json-bestand te maken, opent u uw projectmap in VS Code (File > Open Folder) en selecteert u vervolgens het tandwielpictogram configureren op de bovenste balk van de foutopsporingsweergave.
Antwoord 2, autoriteit 20%
Het enige dat u hoeft te doen, is de cwd-instelling in het launch.json-bestand als volgt configureren:
{
"name": "Python",
"type": "python",
"pythonPath":"python",
....
"cwd": "<Path to the directory>"
....
}
Meer informatie hierover is te vinden op de officiële VS Code docs-website.
Antwoord 3, autoriteit 10%
Deze instelling helpt me:
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"cwd": "${workspaceFolder}\\app\\js", // set directory here
"program": "${workspaceFolder}\\app\\js\\server.js", // set start js here
}
Antwoord 4, autoriteit 8%
In sommige gevallen kan het ook handig zijn om de PYTHONPATH
samen met de workspaceFolder
in te stellen:
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}",
"env": {
"PYTHONPATH": "${cwd}"
}
}
Antwoord 5, autoriteit 2%
Ik plaats deze voorbeeldconfiguratie voor mensen die TypeScript gebruiken op Node.js
in mijn project bevinden mijn Node.js server TypeScript-bestanden zich in de map Application_ts
en de gecompileerde js-bestanden worden gegenereerd in de map met de naam Toepassing
omdat wanneer we onze applicatie in debug-modus uitvoeren of normaal starten, we zouden moeten beginnen vanuit de applicatiemap die de js-bestanden bevat
dus bellow configuratie voer debug uit vanuit de hoofdmap waar mijn application_ts ook bestaat en perfect werkt
{
"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
}
]
}
Antwoord 6
U kunt de huidige werkmap voor het debuggen programma instellen met het argument cwd
in launch.json
Antwoord 7
Om de huidige werkmap in te stellen op het bestand dat u op dat moment uitvoert:
Bestand > Voorkeuren > Instellingen > Python > Gegevenswetenschap > Uitvoeren in Bestandsmap
Bedankt brch: Python in VSCode: Stel de werkmap elke keer in op het pad van het python-bestand