source

VSCode -- Python 프로그램을 디버깅하기 위한 작업 디렉토리를 설정하는 방법

factcode 2022. 10. 23. 09:58
반응형

VSCode -- Python 프로그램을 디버깅하기 위한 작업 디렉토리를 설정하는 방법

디버깅에서 Python 프로그램을 실행하고 실행을 위한 작업 디렉토리를 설정하려면 어떻게 해야 합니까?

@SpeedCoder5의 코멘트는 이 될 만하다.

launch.json다음 명령을 사용하여 동적 작업 디렉토리(즉, 현재 열려 있는 Python 파일이 있는 디렉토리)를 지정합니다.

"cwd": "${fileDirname}"

는 VS 코드의 "변수 참조" 기능과 미리 정의된 변수를 활용합니다.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 ...
}

파일은 Visual Studio 코드 프로젝트의 실행/디버깅 설정을 제어합니다.launch.json파일이 VS Code에 의해 현재 "Open Project" 디렉토리에 자동 생성되었습니다.추가하려고 파일을 수동으로 편집했을 뿐입니다."cwd": "${fileDirname}"위와 같이

다음 점에 주의:launch.json파일은 프로젝트 또는 디렉토리에 고유할 수 있으므로 올바른 편집 중인지 확인하십시오. launch.json(코멘트 참조)

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

launch.json 파일을 작성하려면 VS Code([파일]> [폴더 열기])에서 프로젝트 폴더를 열고 [디버그]뷰 상단 바의 [설정]아이콘을 선택합니다.

의 설정을 실시합니다.launch.json다음과 같습니다.

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

이 설정은 다음과 같은 도움이 됩니다.

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

현재 작업 디렉토리를 실행 중인 파일로 설정하려면:

[ File ] > [ Preferences ]> [ Settings ]> [ Python ]> [ Data Science ]> [ Execute in File Dir ]

Thanks brch: VSCode의 Python: 매번 작업 디렉토리를 python 파일의 경로로 설정

언급URL : https://stackoverflow.com/questions/38623138/vscode-how-to-set-working-directory-for-debugging-a-python-program

반응형