<Ubu>VSCode, C/C++ 환경설정
Step 1. Ubuntu C/C++ 개발 환경 준비
1. 요약
우분투에 C/C++ 프로그래밍 언어를 사용하기 위해 GCC(C/C++ 컴파일러)와 GDB(디버거)를 설치합니다.
개발에 필요한 필수 패키지를 설치한다고 생각하시면 됩니다.
sudo apt-get update; sudo apt-get upgrade -y; sudo apt-get install build-essential gdb -y; gcc -v; gdb -v
1.1. 데비안 패키지 리스트 업데이드 && 업그레이드
sudo apt-get update; sudo apt-get upgrade -y
- sudo apt-get update는 로컬 패키지 인덱스를 원격 저장소의 최신 상태로 갱신합니다. 설치 가능한 최신 버전과 의존성 정보를 가져오기 위해 반드시 먼저 실행해야 합니다.
- sudo apt-get upgrade -y는 설치된 패키지 중 업그레이드 가능한 항목을 모두 최신 버전으로 업그레이드합니다.
- 두 명령을 연이어 실행하는 것은 일반적인 시스템 관리 관례이며, C/C++ 개발 도구를 설치하기 전에도 패키지 의존성을 깔끔하게 맞추는 데 필요합니다
1.2. 필수 개발 도구 설치 (build-essential)
sudo apt-get install build-essential -y
- build-essential 메타패키지는 GCC(GNU C 컴파일러), G++(GNU C++ 컴파일러), make, dpkg-dev 등의 기본적인 빌드 도구와 라이브러리를 한 번에 설치해 줍니다.
- 설치 시 gcc, g++, make 등이 함께 설치되므로, C/C++ 컴파일과 관련된 대부분의 필수 도구를 확보할 수 있습니다. packages.ubuntu.com
- 다만, 공식 패키지 의존성 목록을 살펴보면 build-essential 자체에는 GDB(디버거)가 포함되어 있지 않습니다
1.3. GDB(Debugger) 설치 여부
sudo apt-get install gdb -y
- GDB가 설치되어 있지 않은 상태에서 gdb -v를 실행하면 “command not found” 또는 설치되지 않았다는 메시지가 출력됩니다. 만약 디버거가 필요하다면 위와 같이 gdb 패키지를 추가로 설치해야 합니다.
1.4 gcc 설치 확인
gcc -v

1.5. gdb 설치 확인
gdb -v

Step 2. Visual Studio Code - 설치
01. Snap으로 설치한 VSCode 제거

▷ 위 이미지처럼 Snap 으로 VSCode 가 설치했다면, VS Code에서 "한글 입력 불가" 이슈가 발생합니다.

sudo snap remove code
▷ 제거 명령어를 사용해 Snap 으로 설치한 VSCode를 제거합니다.
02. Download Visual Studio Code 에서 .deb 패키지 다운로드합니다.

03. 다운받은 .deb 파일을 설치힙니다. (파일명은 VSCode 버전에 따라 다를 수 있습니다.)
sudo dpkg -i code_*
04. code 를 입력하면 Visual Studio Code 가 실행된다.
Step 3. Visual Studio Code - 확장 프로그램 추가
01. VS Code 한국어 설정
VS Code 한국어 설정
1. 한국어 팩 설치 2. VS Code 재실행 3. 언어 변경 확인 VS Code 언어 선택 >configure display language
basiclike.tistory.com
02. VS Code → Extentions → C/C++ Extension Pack

03. VS Code 를 종료하고, 다음 단계를 진행하세요.
Step 4. 작업 경로 설정
01. VSCode 에서 탐색기를 클릭합니다.

02. 폴더 열기 버튼을 클릭합니다.

03. 폴더 추가 버튼을 클릭합니다.

04. 폴더 이름을 입력하고, 05. 만들기 버튼을 누릅니다.

06. 만들어진 폴더 디렉토리로 이동된 것을 확인하고, 07 추가 버튼을 누릅니다.

08. 만들어진 폴더가 작업공간으로 설정된 것을 확인합니다.

01. 폴더에서, ctrl + n 단축키로 새 파일을 생성합니다.

02. 생성된 새 파일에서, ctrl + s 저장 단축키를 누릅니다.

03. 새 파일 이름과, .c 확장자를 입력하고, 04. 저장을 누릅니다.

05. 새로 생성한 C언어 파일이 생성된 것을 확인하고, 06. 아래 예제 코드를 붙여넣기 합니다.

▷ HelloWorld1.c 테스트 코드
#include <stdio.h>
int main()
{
printf("Hello, C World!\n");
printf("__STDC_VERSION__ = %ld\n", __STDC_VERSION__);
return 0;
}
07. 아래와 같이 붙여넣기 된 결과를 확인합니다.

09.(참고) C++ 테스트
▷ HelloWorld2.cpp 테스트 코드
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, C++ World!" << endl;
std::cout << "__cplusplus = " << __cplusplus << std::endl;
return 0;
}

Step 5. Visual Studio Code - C/C++ 컴파일러 지정
c_cpp_properties.json 파일은 VS Code의 C/C++ 확장프로그램(Extension) 설정 파일로,
VS Code가 C/C++ 프로젝트의 구조와 컴파일 환경을 이해할 수 있도록 도와주는 역할을 합니다.
01. 구성 편집(JSON) 실행

① Ctrl + Shift + p 단축키를 눌러서 VS Code 명령어 팔렛을 활성화합니다.
② 아래 키워드로 검색하여 < C/C++: 구성 > 을 찾아 선택합니다.
③ < 구성 편집(JSON) > 을 선택합니다.
④ 아래와 같은 파일이 자동으로 생성되지 않는다면, c_cpp_properties.json 파일에 직접 붙여넣습니다.
{
"configurations": [
{
"name": "Linux", // 구성 이름 (Linux 개발 환경용)
"includePath": [
"${workspaceFolder}/**" // 워크스페이스 전체 하위 폴더 포함
],
"defines": [], // 전처리기 매크로 정의 (예: DEBUG 등)
"compilerPath": "/usr/bin/gcc", // 사용할 컴파일러 경로 (gcc)
// 아래는, 사용 환경과 필요 표준에 맞게 변경
"cStandard": "c17", // 사용할 C 언어 표준 (예: c11, c17 등)
"cppStandard": "gnu++17", // 사용할 C++ 표준 (GNU 확장 포함)
"intelliSenseMode": "linux-gcc-x64" // 인텔리센스 분석 모드 (Linux + GCC + x64)
}
],
"version": 4 // 설정 파일 버전 (항상 4)
}
Step 6. C/C++ 빌드 환경 설정
tasks.json 파일은 사용자가 정의한 빌드, 실행, 테스트, 디버깅 등 반복적인 명령어 실행을 자동화할 수 있게 해줍니다.
01. 기본 빌드 작업 설정 파일 생성
Ctrl + Shift + P → Tasks: Configure Default Build Task 입력 후 선택합니다.
Tasks: Configure Default Build Task
02. task.json 파일이 생성되면, 아래 json 코드를 붙여 넣습니다.

{
"version": "2.0.0", // task 설정 버전 (고정값)
"runner": "terminal", // 터미널에서 작업 실행
"type": "shell", // shell 명령어 방식으로 실행
"echoCommand": true, // 실행 명령어를 터미널에 출력
"presentation": {
"reveal": "always" // 터미널 항상 표시
},
"tasks": [
// g++ C++ 컴파일러 설정
{
"type": "cppbuild", // C++ 빌드 작업 유형 (C++ 전용)
"label": "save and compile for C++", // 작업 이름 (UI, 단축키에서 사용됨)
"command": "g++", // 사용할 명령어 (C++ 컴파일러)
"args": [
"-g", // 디버깅 정보 포함
"${file}", // 현재 열려 있는 파일
"-o", // 출력 파일 설정
"${fileDirname}/${fileBasenameNoExtension}" // 실행 파일 경로 및 이름
// , "-std=gnu++11" // (선택) C++ 표준 지정 시 사용
],
"options": {
"cwd": "/usr/bin" // 명령 실행 디렉토리 (컴파일러 위치)
},
"group": "build", // 빌드 그룹으로 분류됨 (Ctrl+Shift+B 대상)
/*
"group": {
"kind": "build", // 빌드 그룹 지정
"isDefault": true // 기본 빌드 작업으로 설정
},
*/
"problemMatcher": {
"fileLocation": [ // 오류 파일 위치 지정 방식
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$", // 오류 메시지 정규식
"file": 1, // 파일 위치 그룹
"line": 2, // 라인 번호
"column": 3, // 컬럼 번호
"severity": 4, // 심각도 (warning/error)
"message": 5 // 오류 메시지
}
},
"detail": "Task generated by Debugger." // 디버거에 의해 생성된 설명
},
// gcc C 컴파일러 설정
{
"label": "save and compile for C", // 작업 이름 (C 파일 컴파일용)
"command": "gcc", // 사용할 명령어 (C 컴파일러)
"args": [
"-g", // 디버깅 정보 포함
"${file}", // 현재 열려 있는 파일
"-o", // 출력 파일 설정
"${fileDirname}/${fileBasenameNoExtension}" // 실행 파일 경로 및 이름
],
"group": "build", // 빌드 그룹으로 분류됨
"problemMatcher": {
"fileLocation": [ // 오류 위치 찾기 설정
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$", // 오류 메시지 정규식
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
// 실행 파일 실행 (리눅스 터미널에서)
{
"label": "execute", // 실행 작업 이름
"command": "${fileDirname}/${fileBasenameNoExtension}", // 실행 파일 호출
"group": "test" // 테스트 그룹으로 분류됨
}
]
}
Step 7. Visual Studio Code - 단축키 설정(빌드, 실행)
01. [ 빌드, 실행 ] 단축키를 변경합니다.
① Ctrl + Shift + p 단축키를 눌러서 VS Code 명령어 팔렛을 활성화합니다.
② 아래 키워드로 검색하여 선택합니다.
open keyboard shortcuts(JSON)
03. 빌드, 실행 단축키 변경

빌드: ctrl+alt+c 단축키
실행: ctrl+alt+r 단축키
[
// 컴파일
{
"key": "ctrl+alt+c",
"command": "workbench.action.tasks.build"
},
// 실행
{
"key": "ctrl+alt+r",
"command": "workbench.action.tasks.test"
}
]
03. VS Code 재실행
설정을 적용시키기 위해 VSCode를 재실행합니다.
Step 8. C/C++ 빌드, 실행 테스트
01. C 빌드 테스트

① C 언어로 작성된 소스코드에서 Ctrl + Alt+ C 단축키를 눌러서 빌드를 실행합니다.
② Step 6. 에서 작업한 Task.json 파일 설정 중, save and build for C 를 선택합니다.
③ task.json 파일에 설정한 빌드 명령어가 동작하여 실행 파일을 생성합니다.
④ C 언어로 작성된 소스코드를 빌드하여 실행 파일이 생성됩니다.
02. C 실행 테스트

① C 언어로 작성된 소스코드에서 Ctrl + Alt+ R 단축키를 눌러서, 빌드된 파일을 실행합니다.
② task.json 파일에 설정한 실행 명령어가 동작하여 터미널에 결과를 보여줍니다.
CPP의 경우, 빌드 단계에서 컴파일러를 C++ 로 선택합니다.
C표준 | __STDC_VERSION__ | C++ 표준 | __cplusplus |
c99, gnu99 | 199901 | C++98 | 199711L |
c11, gnu11 | 201112 | C++11 | 201103L |
C++14 | 201402L | ||
c17, gnu17 | 201710 | C++17 | 201703L |
C++20 | 202002L | ||
C++23 | TBD (202100L) |