본격적으로 시작해보자
1. 커맨드 + 쉬프트 + P 쎄게 눌러주자
- 다음과 같이 막 뜬다 일단 Tasks: Configure Default Build Task 엔터
- tasks 라고 검색해도 나온다.
- 엔터 하면 Others가 나오는데 Others를 눌러주자
2. 그럼 다음과 같은 .vscode/tasks.json 파일이 생긴다
- 이 녀석은 컴파일 및 exec를 설정하는 프로그램이다.
- 다음과 같은 코드로 교체 해주자
- 아래 코드가 뭐를 의미하는지 간략하게 설명 한다
- 첫번째는 컴파일 할때 동작 이름이 build c++ 이고, command는 터미널 명령어를 의미한다
- args의 경우 커맨드 뒤에 오는 인자 값을 설정하는 녀석인데
-저기 workspaceRoot가 현재 작업하는 폴더명을 의미하고 fileBasenameNoExtension은 현재 작업하는 파일명이다
즉 cpp의 이름이 출력된다
- group은 없어도 되는데 저거는 추후에 필요에 따라 업데이트 하도록 하겠다 일단 복사해서 붙여 넣자
//C++ 11 사용자
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build c++",
"type": "shell",
"command": "g++",
"args": [
"-g",
"-o",
"${workspaceRoot}/${fileBasenameNoExtension}.out",
"${file}"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "exec",
"type": "shell",
"command": "${workspaceRoot}/${fileBasenameNoExtension}.out",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
//C++ 17 사용자
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build c++",
"type": "shell",
"command": "clang++",
"args": [
"-std=c++17",
"-stdlib=libc++",
"${workspaceFolder}/${fileBasenameNoExtension}.cpp",
"-o",
"${workspaceFolder}/${fileBasenameNoExtension}.out",
"--debug"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "exec",
"type": "shell",
"command": "${workspaceFolder}/${fileBasenameNoExtension}.out",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
2. 복사가 완료 되었으면 정상적으로 동작하는지 확인하자
- 테스트 방법은 다음과 같다
- 오른쪽 마우스 클릭해서 New File로 만들고 싶은 cpp파일을 만들면 된다
- 만든 cpp 파일에 코드를 작성하고 컨트롤 + 쉬프트 + b 를 누르면 다음 두 항목이 나온다
- build c++의 경우 컴파일 작업을 해주고 exec는 컴파일 된 파일을 실행한다.
- 빌드 후 터미널을 확인하면 출력이 잘되는 것을 확인 할 수 있다.
3. 대망의 디버깅을 설정해보도록 하겠다
- 벌레 모양 누르고 초록색 재생 버튼 누르면 다음과 같은 항목이 뜬다
- 우선 C++ (GDB/LLDB) 눌러주자
4. launch.json이라는 파일이 생성 되는데 이놈이 디버깅 설정하는 놈이다. 조져주자
- 이것을 복사하면 된다
- 설명을 약간 곁들이자면 다른거 다 필요없고 3개만 설명하겠다
- program의 경우 디버깅 할 파일 이름을 설정하는 것이다
- stopOnEntry 는 false, true값으로 설정하는데, false 값 해놓으면 처음 디버깅 시작하기 전에 중지 하지 않고 설정한 중단 값으로
바로 이동하고, true 해놓으면 프로그램 시작 과정에서 한번 멈추고 시작한다.
-preLaunchTask는 디버깅 하기전에 실행할 작업을 의미하는데 build 작업을 설정 해주면 매번 빌드 하지 않아도 디버깅 시 빌드 하고
실행하여 편리하다.
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Launch",
"program": "${workspaceFolder}/${fileBasenameNoExtension}.out",
"args": [],
"stopOnEntry": false,
"preLaunchTask": "build c++",
"cwd": "${workspaceFolder}"
}
]
}
5. 최종 결과물
- f5번을 누르면 다음 중단점으로 바로 이동 한다
이거 하느라 3일동안 코딩도 못하고 삽질만 해서 열받는다.
다들 이 글을 보고 빠르게 환경을 구축해서 알고리즘을 조져주자.
사용하다가 필요한 부분이 생기면 그때 업데이트 예정
'Mac OS' 카테고리의 다른 글
Mac OS 카탈리나 사이드카 설정 방법 (0) | 2019.10.28 |
---|---|
Visual Studio Code(맥 사용자) 설치 및 설정 가이드(C++) 1탄 (0) | 2019.10.28 |