Visualstudio Code (vscode)는 프로젝트의 build등을 자동화하기 위해 custom task를 작성 및 수행할 수 있도록
Task Runner라는 기능을 지원함.
- Python file을 수행하기 위해
ctrl + f5
(디버그없이 실행) 등으로 수행할 수 있지만, 간단한 수행을 위한 custom task를 만들어 두면 편하다. - (기본적으로 build task 에 대해 hot-key가 ctrl+shift+b 로 vscode는 지정이 되어 있음.)
프로젝트 디렉토리마다 custom task를 지정할 수 있고, 프로젝트 디렉토리 밑의 .vscode 디렉토리 밑에 task.json 파일에 해당 내용이 저장된다. (해당 파일이 task runner 작업을 정의하고 있음)
작성방법
작성 방법은 command palette (ctrl+shift+p)에 Tasks: Configure task
를 입력하고 create tasks.json from templeate
를 선택하고 Others를 선택하면 tasks.json
파일이 template로부터 생성되고 editing할 수 있게 된다.
초기 tasks.json
은 다음과 같음.
상단 주석에 ms에서 제공하는 tasks.json 을 작성을 설명해주고 있는 문서로 이 문서도 대부분 해당 문서를 참고하여 작성되었다.
- 하지만... 공식문서의 특징이 워낙 많은 내용이 있다보니...
- googling을 하면 기본적으로 `tasks.json`의 샘플을 쉽게 구할 수 있으며 해당 파일의 각 설정을 공식문서에서 찾아서 보길 권한다.
다음이 Python 파일 작성 및 테스트를 하는데 편리한 tasks.json
로 현재 editor에 선택된 파일을 실행한다.
이 내용으로 tasks.json
을 변경하고 저장한다.
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Python Run",
"type": "shell",
//"command": "python",
"command": "${command:python.interpreterPath}",
"args": [
"${file}"
],
"presentation": { // task output 설정 : 매번 새 terminal로.
"reveal": "always",
"panel": "new"
},
"options": {
"env": {
"PYTHONIOENCODING": "UTF-8"
}
},
"group": {
"kind": "build", //hot-key를 ctrl+shift+b 로 하기위해.
"isDefault": true
}
}
]
}
간단 설명
항목에 대한 간단한 설명이다.
- "label"은 task 목록에서 보여질 해당 task의 이름에 해당함.
- "type"은 "shell"을 선택하여 terminal에서 수행되는 command로 처리되도록 해줌.
- "command"는 task에서 수행될 명령어이다.
- "args"는 command에 넘겨질 argument임.
${file}
은 현재 editor에서 선택된 파일의 path가 들어감. - "group"은 "build", "test", "none" 중 하나의 값을 가질 수 있으며
ctrl+shift+b
hotkey로 실행되도록 "build"를 선택함. - "options"는 한글이 깨지지 않도록
UTF-8
로 지정함.
References
https://code.visualstudio.com/docs/editor/tasks#vscode
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=mingu216&logNo=221585237779
https://code.visualstudio.com/docs/editor/tasks-appendix
'개발환경' 카테고리의 다른 글
[Env] Mamba 설치하기. (0) | 2023.08.23 |
---|---|
[Env] WSL 기본 명령어 정리. (0) | 2023.08.23 |
[Env] posh : git 관련 prompt 에 대한 짧은 소개. (0) | 2023.07.23 |
[Env] vscode : WSL과 연동. (0) | 2023.07.20 |
[Env] Install a NerdFont on Ubuntu (0) | 2023.07.14 |