들어가며
프로그래밍 초보자라면 "코드 작성은 알겠는데, 매번 컴파일하고 실행하는 게 귀찮다"고 느낀 적이 있을 것이다. 중급자라면 "빌드와 실행 과정을 자동화하고 싶다"고 생각했을지도 모른다.
Visual Studio Code의 tasks.json이 이러한 고민을 해결해 줄 수 있다. 이 파일은 빌드, 실행 같은 반복 작업을 간편하게 자동화하도록 도와준다.
이 글에서 C++ 애플리케이션을 빌드하고 실행하는 tasks.json의 예제를 하나씩 분석하며, 이를 어떻게 실행하는지도 알아볼 것이다.
주요 개념
1. tasks.json이란?
Visual Studio Code에서 프로젝트 작업을 자동화하기 위한 설정 파일이다. 이를 통해 터미널에서 반복적으로 입력해야 하는 명령을 단순화할 수 있다.
예를 들어, g++으로 컴파일한 다음 프로그램을 실행하는 과정을 단일 작업으로 묶을 수 있다.
2. 자동화의 핵심 요소
- label: 작업 이름을 설정.
- command: 실행할 명령을 정의.
- args: 명령어에 전달할 추가 옵션을 설정.
- options.cwd: 작업 디렉터리를 지정.
- options.env: 작업에 필요한 환경 변수를 설정.
- dependsOn: 작업 간의 의존성을 정의.
코드 분석 및 설명
코드 전체 구조
tasks.json은 두 가지 작업으로 구성되어 있다.
- C++ 애플리케이션 빌드
- C++ 애플리케이션 실행
이제 각 작업을 자세히 살펴보자.
1. C++ 애플리케이션 빌드
{
"label": "Build C++ Application",
"type": "shell",
"command": "g++",
"args": [
"${cwd}/src/main.cpp",
"-o",
"${cwd}/build/app"
],
"options": {
"cwd": "${workspaceFolder}/src"
},
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"],
"detail": "Compiles the C++ application."
}
- label: "Build C++ Application"은 작업 이름이다.
- type: "shell"은 명령어가 셸에서 실행됨을 나타낸다.
- command: "g++"는 C++ 컴파일러를 호출한다.
- args: g++에 전달할 옵션 목록이다.
- main.cpp 소스를 컴파일하고,
- 결과 파일을 build/app으로 저장한다.
- options.cwd: 작업 디렉터리를 ${workspaceFolder}/src로 지정한다. 이는 소스 파일이 있는 폴더이다.
- group.kind: "build"는 빌드 작업임을 나타내고, "isDefault": true는 기본 작업으로 설정한다.
- problemMatcher: 컴파일 오류를 감지해 Visual Studio Code 문제 창에 표시한다.
2. C++ 애플리케이션 실행
{
"label": "Run C++ Application",
"type": "shell",
"command": "./app",
"args": [],
"options": {
"cwd": "${workspaceFolder}/build",
"env": {
"CUSTOM_ENV_VAR": "HelloFromEnv"
}
},
"group": "test",
"dependsOn": "Build C++ Application",
"problemMatcher": [],
"detail": "Runs the compiled C++ application."
}
- label: "Run C++ Application"은 실행 작업 이름이다.
- command: "./app"는 실행할 바이너리 파일이다.
- options.cwd: build 디렉터리에서 실행된다.
- options.env: CUSTOM_ENV_VAR라는 환경 변수를 설정해 실행 시 접근할 수 있게 한다.
- dependsOn: "Build C++ Application" 작업이 먼저 실행된 후에 실행된다.
작업 실행 방법
1. 작업 선택 및 실행
- Visual Studio Code에서 Ctrl+Shift+P를 누르고 "Tasks: Run Task"를 입력한다.
- 작업 목록에서 "Build C++ Application" 또는 "Run C++ Application"을 선택한다.
2. 기본 작업 실행
Build C++ Application은 기본 빌드 작업으로 설정되어 있다. Ctrl+Shift+B를 누르면 이 작업이 실행된다.
3. 의존성 작업 실행
Run C++ Application 작업은 Build C++ Application 작업에 의존하므로 실행 시 자동으로 빌드 후 실행된다. 이를 통해 코드를 빌드하지 않은 상태에서 실행하는 실수를 방지할 수 있다.
실제 응용 사례 및 확장 가능성
응용 사례
- 다양한 빌드 구성: 디버그 빌드, 릴리즈 빌드 같은 여러 작업을 추가할 수 있다.
- 테스트 자동화: 프로그램 실행 후 테스트 스크립트를 바로 연결할 수 있다.
- 환경 맞춤화: 복잡한 환경 변수가 필요한 경우 options.env를 사용하면 된다.
확장 가능성
- 다중 소스 파일: g++ 명령에 여러 .cpp 파일을 추가하거나, Makefile 기반 빌드 작업으로 확장 가능하다.
- 다른 언어 지원: Python, JavaScript 등의 빌드 및 실행 작업도 tasks.json으로 설정할 수 있다.
마무리
tasks.json은 반복적인 작업을 간소화하고 생산성을 높이는 데 유용한 도구이다.
이 글에서 살펴본 C++ 빌드 및 실행 예제를 참고해 자신의 프로젝트에 맞는 작업을 설정해보자.
더 나아가, 빌드 시스템(Makefile, CMake)과 연동하거나 CI/CD와 결합해 작업의 자동화를 극대화할 수도 있을 것이다.
Top comments (0)