VSCode(Visual Studio Code)로 작성한 프로그램에 argument를 전달하려면
- terminal에서 수행 시 argument를 전달하거나
- VSCode에서 수행 시 launch.json 파일에 정의하여 전달하면 된다.
본 문서에서는 argument를 launch.json 파일에 설정하는 방법을 설명한다.
launch.json(디버깅 환경설정 파일) 설정
launch.json(디버깅 환경설정 파일) 파일이 없다면 VSCode의 좌측 메뉴에서 [Run and Debug] 을 클릭하고
아래와 같이 나타난 화면에서 "create a launch.json file"을 클릭합니다.
"Select a debug configuration" 에서 Python File 을 선택합니다.
아래와 같이 launch.json 파일이 생성되는데
"args": ["60"], 을 각 개인의 argument에 맞게 추가해 줍니다. 본문에서는 ["60"] 이렇게 설정했는데 "60" 은 실행되는 python 파일에 전달하는 첫번째 argument 값입니다.
argument 가 여러 개일 경우 ["arg1", "arg2", "arg3"] 식으로 나열하면 됩니다. 단, 숫자는 안되고 문자형식만 됩니다. 즉, argument가 60인 경우, "60" 으로 입력해야 합니다.
## launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"args": ["60"],
"console": "integratedTerminal"
}
]
}
이제 VSCode에서 작성한 argument가 필요한 python 파일을 실행해 보면, 위에서 설정한 argument 값을 받아서 처리하는 것을 확인할 수 있습니다.
launch.json
다음 속성은 실행구성에 필수 요소입니다.
- type : 실행구성에 사용할 디버거 유형(node, php, python..등)
- request : 실행구성의 요청유형 현재는 'launch', 'attach' 입니다.
- name : 디버그 드롭다운에 나타나는 디버그 런치 이름
다음은 실행구성에서 사용할수 있는 선택적 속성입니다.
- preLaunchTask : 디버그 세션이 시작되기 전에 작업을 시작하려면 이 속성을 tasks.json 에 지정된 이름으로 설정해야합니다.
- internalConsoleOptions : 디버깅 세션동안 다버그 콘솔 패널의 가시성을 제어합니다.
- debugServer : 디버그를 시작하는 대신 지정 포트에 연결합니다.
많은 디버거가 다음 속성 중 일부를 지원합니다.
- program : 디버거를 시작할 때 실행할 실행 파일 또는 파일
- args: 디버깅 할 프로그램에 전달된 인수
- env: 환경 변수
- cwd: 의존성 및 기타 파일을 찾기위한 현재 작업 디렉토리
- port: 실행중인 프로세스에 연결할 때의 포트
- stopOnEntry: 프로그램이 시작되면 즉시 중단
- console: 어떤 종류를 콘솔을 사용할지 지정. 예를 들어 internalConsole, integratedTerminal, externalTerminal.
vscode는 문자열 내부의 변수 대체를 지원 launch.json하며 다음과 같이 미리 정의 된 변수가 있습니다.
- ${workspaceFolder} : vscode에서 연 폴더의 경로
- ${workspaceFolderBasename} : vscode에서 슬래시없이 열리는 폴더 이름 (/)
- ${file} : 현재 열려있는 파일
- ${relativeFile} : workspaceFolder 에서 현재 열린 파일
- ${fileBasename} : 현재 열려있는 파일의 기본 이름
- ${fileBasenameNoExtension} : 파일 확장명이 없는 현재 열린 파일의 기본 이름
- ${fileDirname} : 현재 열려있는 파일의 디렉토리 이름
- ${fileExtname} : 현재 열려있는 파일의 확장자
- ${cwd} : 시작시 태스크 러너의 현재 작업 디렉토리
- ${lineNumber} : 활성 파일에서 현재 선택된 행 번호
'Python' 카테고리의 다른 글
Python 코드를 실행하는 Visual Studio Code에서 code runner 메시지를 숨기는 방법 (0) | 2022.01.04 |
---|---|
파이썬 시작하기 (0) | 2022.01.03 |
Python과 SQLite DB 연동하기 - 수정 (0) | 2021.12.31 |
Python __main__ 이란 (0) | 2021.12.30 |
Introduction to Python (0) | 2021.12.28 |