Zaczynam używać vscode dla Pythona. Mam prosty program testowy. Chcę go uruchomić w trybie debugowania i muszę ustawić katalog roboczy do uruchomienia.
Jak / gdzie mam to zrobić?
źródło
Zaczynam używać vscode dla Pythona. Mam prosty program testowy. Chcę go uruchomić w trybie debugowania i muszę ustawić katalog roboczy do uruchomienia.
Jak / gdzie mam to zrobić?
Komentarz @ SpeedCoder5 zasługuje na odpowiedź;
W szczególności możesz określić dynamiczny katalog roboczy; (tj. w jakimkolwiek katalogu, w którym znajduje się aktualnie otwarty plik Pythona), używając"cwd": "${fileDirname}"
jeśli używasz tej Python: Current File (Integrated Terminal)
opcji podczas uruchamiania Pythona, Twój launch.json
plik może wyglądać jak mój, poniżej.
{
"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 ...
}
[Pamiętaj, że launch.json
plik kontroluje ustawienia uruchamiania / debugowania projektu kodu programu Visual Studio] [1]; mój launch.json
plik został automatycznie wygenerowany przez VS Code w katalogu mojego bieżącego „otwartego projektu”. Po prostu ręcznie zmodyfikowałem plik, aby dodać, "cwd": "${fileDirname}"
jak pokazano powyżej.
Pamiętaj, że launch.json
plik może być specyficzny dla twojego projektu lub specyficzny dla twojego katalogu, więc potwierdź, że edytujesz poprawny launch.json
(patrz komentarz)
Jeśli nie masz launch.json
pliku, spróbuj tego :
Aby utworzyć plik launch.json, otwórz folder projektu w programie VS Code (plik> Otwórz folder), a następnie wybierz ikonę Konfiguruj koło zębate na górnym pasku widoku debugowania. [1]: https://code.visualstudio.com/docs/editor/debugging#_launch-versus-attach-configurations
Wszystko, co musisz zrobić, to skonfigurować ustawienie cwd w pliku launch.json w następujący sposób:
{ "name": "Python", "type": "python", "pythonPath":"python", .... "cwd": "<Path to the directory>" .... }
Więcej informacji na ten temat można znaleźć na oficjalnej stronie dokumentów VS Code .
źródło
"cwd": "${fileDirname}"
do uruchomienia w bieżącym katalogu pliku open sourceTo ustawienie pomaga mi:
{ "type": "node", "request": "launch", "name": "Launch Program", "cwd": "${workspaceFolder}\\app\\js", // set directory here "program": "${workspaceFolder}\\app\\js\\server.js", // set start js here }
źródło
W niektórych przypadkach przydatne może być również ustawienie
PYTHONPATH
wraz zworkspaceFolder
:{ "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "cwd": "${workspaceFolder}", "env": { "PYTHONPATH": "${cwd}" } }
źródło
Publikuję tę przykładową konfigurację dla osób, które używają TypeScript na Node.js.
w moim projekcie moje pliki TypeScript serwera Node.js znajdują się w folderze Application_ts, a skompilowane pliki js są generowane w folderze o nazwie Application
ponieważ kiedy uruchamiamy naszą aplikację w trybie debugowania lub uruchamiamy ją normalnie powinniśmy zacząć od folderu aplikacji, który zawiera pliki js, więc poniżej konfiguracja uruchom debugowanie z folderu głównego, w którym moja application_ts również istnieje i działa idealnie
{ "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 } ] }
źródło
Możesz ustawić bieżący katalog roboczy dla debugowanego programu używając
cwd
argumentu wlaunch.json
źródło
Aby ustawić bieżący katalog roboczy na dowolny plik, który w danej chwili uruchamiasz:
Plik> Preferencje> Ustawienia> Python> Nauka o danych> Wykonaj w katalogu pliku
Dzięki brch: Python in VSCode: Ustaw katalog roboczy na ścieżkę pliku pythona za każdym razem
źródło