MSDN 공식문서VSCode 공식문서

<Pre-work> WSL 환경설정

더보기

 

Step 1. WSL에 C/C++ 컴파일러(GCC)설치 

더보기
우분투에 C/C++ 프로그래밍 언어를 사용하기 위해  GCC 컴파일러와 GDB 디버거를 설치합니다.
개발에 필요한 필수 패키지를 설치한다고 생각하시면 됩니다.

 

 

 

 

01. 데비안 패키지 리스트 업데이드 && 업그레이드

sudo apt-get update && sudo apt-get upgrade -y

 

 

 

 

02. gcc, gdb 설치 

sudo apt-get install build-essential gdb -y
build-essential 패키지는 데비안 계열의 리눅스 플랫폼에서 개발에 필요한 패키지를 묶음을 의미합니다.
build-essential 패키지를 설치하면 GCC, G++ 등 리눅스 개발에 필요한 도구를 설치합니다.

 

 

 

 

03. gcc 설치 확인

 

gcc -v

 

 

 

 

 

04. gdb 설치 확인

 

gdb -v

 

 

Step 2. Visual Studio Code 설치

더보기
우선, Windows 환경에서 VS Code 를 설치합니다.
VS Code 에디터가 설치되어 있다면, Step 2. 단계로 넘어가세요.

 

01. VS Code 다운로드

 

 

 

 

 

02. VS Code 설치

 

 

 

 

 

03. VS Code 가 정상적으로 설치되면, 아래 이미지처럼 실행됩니다.

 

Step 3. Visual Studio Code - Extention 설치

더보기

01. WSL Extention 설치

VS Code 를 실행시, 아래 이미지처럼 우측 하단에 WSL Extention 설치 안내가 자동으로 팝업됩니다.  

 

 

 

 

 

02. 자동으로 WSL Extention 설치 안내가 팝업되지 않는다면, 확장 프로그램 관리에서 검색하여 설치합니다.

 

VS Code  Extentions  WSL 

 

 

 

 

 

03. VS Code 에서 WSL 원격 연결

 

 

 

 

04. VS Code Extentions  C/C++ Extension Pack 

 

 

 

 

 

05. VS Code 한국어 설정

 

VS Code 한국어 설정

1. 한국어 팩 설치 2. VS Code 재실행 3. 언어 변경 확인   VS Code 언어 선택 >configure display language

basiclike.tistory.com

 

 

 

 

06. VS Code 를 종료하고, 다음 단계를 진행하세요.

 

 

더보기

01. C/C++ 소스코드를 작업할 프로젝트 폴더를 생성합니다.

 

- mkdir = makdirectory = 프로젝트 폴더 생성 (원하는 폴더명을 사용합니다.)

mkdir projects

 

- cd = change directory = 경로 이동, 생성한 폴더 경로로 이동합니다.

cd projects

 

 

  

  

 

 

 

02. C/C++ 소스코드를 작업할 프로젝트 경로로 이동하여 VS code를 실행합니다.

 

 

 

 

 

3. C/C++ 테스트 코드를 생성합니다.

 

 

HelloWorld1.c 테스트 코드

#include <stdio.h>

int main()
{
    printf("Hello, C World!\n");
    
    printf("__STDC_VERSION__ = %ld\n", __STDC_VERSION__);
    
    return 0;
}

 

HelloWorld2.cpp  테스트 코드

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, C++ World!" << endl;
    std::cout << "__cplusplus = " << __cplusplus << std::endl;

    return 0;
}

 

Step 5. C/C++ 사용 환경 설정

더보기
C/C++ 의 버전 및 사용할 컴파일러 등을 설정합니다.
C/C++: 구성 편집(UI) 를 사용해 JSON 설정 파일을 생성합니다.

 

 

 

 

01.  구성 편집(UI) 실행

 

 Ctrl + Shift + p 단축키를 눌러서 VS Code 명령어 팔렛을 활성화합니다.

아래 키워드로 검색하여 < C/C++: 구성 편집(UI) > 을 찾아 선택합니다.

UI로 설정한 부분은, json 파일로 자동 변경됩니다.

.vscode 폴더의 c_cpp_properties.json 파일에서 확인 할 수 있습니다.

 

 

 

 

백업된 JSON 설정 파일이 있다면, 구성 편집 선택시 < 구성 편집(JSON) > 으로 작업합니다.

 

Step 6. C/C++ 빌드 환경 설정

더보기

01. 기본 빌드 작업 설정 파일 생성

이전 단계에서 테스트 코드를 빌드 했다면, 아래처럼 tasks.json 파일이 기본값으로 생성됩니다.
tasks.json 파일이 없다면,  Ctrl + Shift + P → Tasks: Configure Default Build Task 입력 후 선택합니다.

 

Tasks: Configure Default Build Task

 

 

 

 

 

02. task.json 파일에 아래 빌드 설정 json 코드를 붙여 넣습니다.

{ 
    "version": "2.0.0",    // task.json 파일 형식 버전
    "runner": "terminal",
    "type": "shell",       // 터미널 유형: process, shell, cppbuild
    "echoCommand": true,   // 실행 명령 터미널 출력 여부
    "presentation": {
        "reveal": "always" // 실행 중 출력 창 항상 표시 여부
    },

    // 빌드 작업 실행할 목록 작성
    "tasks": [   
        
        // make Debug directory
        {
            "label": "mkdir Debug",
            "command": "mkdir", 
            "args": [
                "-p",        // 하위 경로에 Debug 와 동일 디렉토리 없을때만 생성하는 mkdir 명령 옵션
                "Debug"
            ]
        },

        // C++ build task
        {
            "label": "save and build for C++", 
            "dependsOn":[     // 작업공간 하위 경로에 Debug 폴더 만들기
                "mkdir Debug"
            ],
            "dependsOrder": "sequence",
            "command": "g++", // G++ (GNU C++ Compiler) 실행 명령
            "args": [         // 실행할 명령어에 넘길 매개변수입니다.
                "-g",
                "${file}",
                "-o",         // g++ 명령 옵션 output
                "${workspaceFolder}/Debug/${fileBasenameNoExtension}"
				//, "-std=gnu++11" // (opt) 특정 컴파일러 버전 선택 활성화
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "group": "build", // 단축키 설정에서 "workbench.action.tasks.build" 의 build 그룹을 의미한다. 아래 C 빌드도 같은 그룹이다.
            
            // workbench.action.tasks.build 그룹이 아닌, g++ 컴파일러를 자동으로 실행시킬 때, 대신 활성화합니다.
            //"group": { 
            //    "kind": "build",
            //    "isDefault": true
            //},

            "problemMatcher": { // 컴파일러마다 Warning, Error 출력 규칙이 다릅니다.
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "detail": "wsl g++ build "
        },

        // C build task
        { 
            "label": "save and build for C",            
            "dependsOn":[
                "mkdir Debug"
            ],
            "dependsOrder": "sequence",
            "command": "gcc",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${workspaceFolder}/Debug/${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
                }
            }
        },
        
        // 바이너리 실행(Ubuntu, WSL)
        {
            "label": "execute",
            "command": "${fileDirname}/Debug/${fileBasenameNoExtension}",
            "group": "test"
        }
    ]
}

 

Step 7. 빌드, 실행 단축키 설정

더보기

01.  [ 빌드, 실행 ]  단축키를 변경합니다. 

 

 Ctrl + Shift + p 단축키를 눌러서 VS Code 명령어 팔렛을 활성화합니다.

 아래 키워드로 검색하여 선택합니다.

 

open keyboard shortcuts (JSON)

 

 

 

 

 

 02. 빌드, 실행 단축키 변경

 

빌드: ctrl+alt+c 단축키

실행: ctrl+alt+r 단축키

 

[
    // 빌드, tasks.json 파일의 "group": "build" 
    // 빌드 기본 단축키 : ctrl+shift+b (동일 기능이지만 한손 누르기 힘듦)
    {
        "key": "ctrl+alt+c", 
        "command": "workbench.action.tasks.build"
    },
    // 실행, tasks.json 파일의 "group": "test" 
    {
        "key": "ctrl+alt+r",
        "command": "workbench.action.tasks.test"
    }
]

 

 

 

 

 

03. 기본 터미널 선택

 

>terminal select default profile

 

 

 

 

 

04. VS Code 재실행

변경된 설정을 적용시키기 위해 VSCode를 재실행합니다.

 

 

Step 8. C/C++ 빌드, 실행 테스트

더보기

01. C 빌드 테스트

 

① C 언어로 작성된 소스코드에서 Ctrl + Alt+ c 단축키를 눌러서 빌드를 실행합니다.

Step 6. 에서 작업한 Task.json 파일 설정 중, save and build for C 를 선택합니다.

③ 설정한 빌드 명령어가 동작하여 실행 파일을 생성합니다.

언어로 작성된 소스코드를 빌드하여 실행 파일이 생성됩니다.

 

 

 

 

 

02. C++ 빌드 테스트

 

① C++ 언어로 작성된 소스코드에서 Ctrl + Alt+ c 단축키를 눌러서 빌드를 실행합니다. 

 Step 6. 에서 작업한 Task.json 파일 설정 중, save and build for C++ 을 선택합니다.

③ 설정한 빌드 명령어가 동작하여 실행 파일을 생성합니다.

C++ 언어로 작성된 소스코드를 빌드하여 실행 파일이 생성됩니다.

 

 

 

 

03. C 실행 테스트

 

C 언어로 작성된 소스코드에서 실행 단축키인 Ctrl + Alt + R 을 사용합니다.

빌드된 파일이 실행됩니다.

 

 

 

 

04. C++ 실행 테스트

 

C++ 언어로 작성된 소스코드에서 수정한 실행 단축키인 Ctrl + Alt + R 을 사용합니다.

빌드된 파일이 실행됩니다.

 

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)

 

C++ 컴파일러 호환 링크