[python] VSCode — 디버그를위한 작업 디렉토리 설정 방법

Python에 vscode를 사용하기 시작했습니다. 간단한 테스트 프로그램이 있습니다. 디버그 상태에서 실행하고 싶은데 실행할 작업 디렉토리를 설정해야합니다.

어떻게 / 어디서 수행합니까?



답변

@ 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 Studio 코드 프로젝트의 실행 / 디버그 설정을 제어 함을 기억하십시오. ] [1]; 내 launch.json파일은 내 현재 “Open Project”의 디렉토리에있는 VS Code에 의해 자동 생성되었습니다. "cwd": "${fileDirname}"위와 같이 파일을 수동으로 편집하여 추가 했습니다.

기억 launch.json그래서 당신이 편집하고 확인, 디렉토리에 프로젝트에 특정 또는 특정 될 수있다 파일을 올바른을 launch.json (주석 참조)

launch.json파일 이없는 경우 다음을 시도하십시오 .

launch.json 파일을 만들려면 VS Code에서 프로젝트 폴더를 연 다음 (파일> 폴더 열기) 디버그보기 상단 표시 줄에서 기어 구성 아이콘을 선택합니다. [1] : https://code.visualstudio.com/docs/editor/debugging#_launch-versus-attach-configurations


답변

다음과 같이 launch.json 파일에서 cwd 설정을 구성하기 만하면됩니다.

{
    "name": "Python",
    "type": "python",
    "pythonPath":"python",
    ....
    "cwd": "<Path to the directory>"
    ....
}

이에 대한 자세한 내용은 공식 VS Code 문서 웹 사이트 에서 찾을 수 있습니다 .


답변

이 설정은 다음을 도와줍니다.

{
  "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}"
    }
}


답변

Node.js에서 TypeScript를 사용하는 사람들을 위해이 샘플 구성을 게시하고 있습니다.

내 프로젝트에서 내 Node.js 서버 TypeScript 파일은 Application_ts 폴더에 있으며 컴파일 된 js 파일은 Application이라는 폴더에 생성됩니다.

응용 프로그램을 디버그 모드로 실행하거나 정상적으로 시작할 때 js 파일이 포함 된 Application 폴더에서 시작해야하기 때문에 아래 구성은 내 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> 데이터 과학> 파일 디렉토리에서 실행

감사합니다 brch : VSCode의 Python : 작업 디렉터리를 항상 Python 파일의 경로로 설정