visual code 로 C++ 작업환경 만들기 ( Win10 기준, WSL 사용 )

2019. 9. 1. 19:22알고리즘

알고리즘 공부를 시작하기 앞서 개발환경 셋팅이 필요합니다.

현재 이름있는 에디터 중 하나인 visual code를 이용한 개발환경 셋팅을 진행할 것입니다.

이 포스트는 Windows OS 기준으로 설명합니다.

 

1. visual code 설치

 

https://code.visualstudio.com/download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

위 사이트에서 본인에 OS에 맞는 Visual code를 설치합니다.

 

2. Visual code의 C++ plugin를 설치한다. 

 

VIsual code의 아래 빨간 버튼(Extension) 을 클릭 후에 C++ 를 검색합니다.

C/C++ ( Visual code C++ 기본 플러그인 ) 과 Easy C++ Projects ( C++ project 를 쉽게 만들어주는 Helper )을 설치합니다.

 

Install 후 Reload 가 필요하면 꼭 Reload를 눌러줍니다.

 

 

 

3. 작업할 Folder를 생성해준다.

 

본인은 D:\ws 에 작업할 폴더를 하나 생성해 주었습니다!

 

이 후, 이 폴더를 Visual code에서 파일(file)->폴더열기(open folder) 를 통하여 방금 생성한 폴더를 열어줍니다.

 

 

4. Compiler 설치

 

Microsoft Store (https://www.microsoft.com/ko-kr/search/result.aspx?q=linux&form=MSHOME) 에서 Linux 를 검색 후,  Ubuntu 18.04 LTS 를 설치해줍시다.

이 프로그램은 윈도우에서 리눅스 환경으로 작업이 가능하도록 해줍니다.

 

설치 후, Ubuntu 를 실행해줍시다.

실행이 완료되었다면, 아래와 같은 창이 떠있을 것입니다.

 

sudo passwd

해당 명령어를 통해 sudo(관리자) 비밀번호를 설정해줍시다.

패스워드 설정 시 보안을 위해 패스워드를 타이핑하면, 

아무것도 쳐지지 않지만, 실제로는 입력이 되고 있습니다.

 

// 해당 커맨드로 컴파일러 설치!
sudo apt-get update
sudo apt-get install build-essential gdb

// 해당 커맨드로 잘 설치되어있는지 verification
whereis g++
whereis gdb

 

잘 설치가 되었다면 

위와 같은 화면을 볼 수 있을 것입니다.

/usr/bin/g++ 에 g++ 이라는 컴파일러가 설치가 되었군요!

 

 

5. Visual code에서 compiler 지정

 

자 이제, Visual code 에서 사용할 Compiler를 지정해줍시다.

Visual code 에서 F1 을 눌러준 후, C++ UI 를 검색해준 후,

클릭.

 

이후 ,아래와 같이 설정을 진행해줍시다.

Compiler Path 에는 위에서 설치한 Compiler의 path를 지정해주었습니다.

Intellisense mode 는 gcc-x64 로 설정하였습니다.

 

6. Project 생성

 

visual code 에서 F1 를 클릭 후, 

를 실행하여 준다.

 

이 후 compiler를 지정해 준다.

여기서는 WSL를 사용할 예정이다. (Windows 10 기준)

 

클릭하면 아래와 같이 프로젝트가 만들어 진 것을 확인할 수 있다 !

 

7. 실행 

 

프로젝트의 main.cpp 를 클릭한 후 아래 코드가 나오는 지 확인해 봅시다.

 

자, 이제 코드를 실행할 시간이에요.

Visual code 화면 좌측 하단 의 Build&Run 을 클릭해줍시다!

 

 

 

자, 요기까지 왔다면 성공이에요!

이제 개발을 시작할 준비가 되었습니다.

 

축하합니다!

 

==================================================

 

+ 번외

 

Debug 환경설정

 

우리는 작업을 하다 보면 Debug를 진행하고 싶은 경우가 있습니다.

이를 위해 visual code에서는 c++ debug 기능을 제공합니다.

 

Visual Code 의 F5 버튼을 눌러봅시다.

Debug 설정이 되어있다면 바로 Debug가 진행될 것이며, 처음 설치하신 분들이라면 Debug 가 진행되지 않고 아래와 같은 화면을 보실 것입니다.

이 화면을 보신 분들이라면 C++(GDB/LLDB) 를 클릭해줍시다.

그러면 아래와 같이 .vscode 폴더 아래 launch.json 이 만들어졌을 것입니다.

 

.vscode라는 폴더 밑에 3개의 json 파일이 만들어졌으면, 파일들의 내용을 아래와 같이 채워줍니다.

 

> launch.json

{
    "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "/mnt/c/ws/algo/bin/main", // 요 부분은 빌드(Ctrl+F7)가 완료되고 나오는 바이너리 파일 경로 지정해주세요!
                "args": [""],
                "stopAtEntry": true,
                "cwd": "/mnt/d/ws/algo", // 요 부분을 여러분이 만든 폴더로 지정해주세요.
                "environment": [],
                "externalConsole": true,
                "windows": {
                    "MIMode": "gdb",
                    "miDebuggerPath": "/usr/bin/gdb", // 요부분을 위에서 여러분이 설치한 gdb의 path로 지정해주세요.
                    "setupCommands": [
                        {
                            "description": "Enable pretty-printing for gdb",
                            "text": "-enable-pretty-printing",
                            "ignoreFailures": true
                        }
                    ]
                },
                "pipeTransport": {
                    "pipeCwd": "",
                    "pipeProgram": "c:\\windows\\sysnative\\bash.exe",
                    "pipeArgs": ["-c"],
                    "debuggerPath": "/usr/bin/gdb"
                },
                "sourceFileMap": {
                    "/mnt/c": "c:\\"  // C Drive 를 사용하신다면 C:\\, D drive를 사용하신다면 /mnt/d, d:\\ 로 바꾸워주셔야합니다.
                }
            }
        ]
    }

 

> c_cpp_properties.json(위에 설치를 잘 따라하셨다면 아래와 같이 설정되어있으실 것입니다.).

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "/usr/bin/g++",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

 

 

 

> task.json (위에 설치를 잘 따라하셨다면 아래와 같이 설정되어있으실 것입니다.)

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build C++ project",
            "type": "shell",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "command": "bash",
            "args": [
                "-c",
                "make"
            ]
        },
        {
            "label": "Build & run C++ project",
            "type": "shell",
            "group": {
                "kind": "test",
                "isDefault": true
            },
            "command": "bash",
            "args": [
                "-c",
                "make run"
            ]
        }
    ]
}

'알고리즘' 카테고리의 다른 글

Linked list (링크드 리스트, 연결리스트)  (1) 2019.09.07
Binary search (이진 탐색)  (0) 2019.09.06
Quick sort (퀵소트)  (0) 2019.09.04