상세 컨텐츠

본문 제목

VSCode C++ 설정

TOOLS/TIPS

by koharin 2021. 1. 21. 16:13

본문

728x90
반응형

1. C/C++ Extension 설치


  • EXTENTIONS에서 c++를 검색해서 처음에 나오는 항목을 Install로 설치한다.

 

 

2. MinGW 64bit


 

 

 

네모 칸을 누르면 Mark for Installation으로 설치할 항목을 선택할 수 있다.

 

 

  • 위의 항목들을 체크한다.

 

 

  • Installation -> Apply Changes

 

 

 

  • Apply 로 설치 진행

 

 

 

  • 시스템 환경변수 편집 선택

 

 

 

  • 고급 -> 환경 변수

 

 

  • 시스템 변수 -> Path -> 편집

 

 

 

  • 편집 -> C:\MinGW 추가

 

 

3.  MinGW-W64 64bit & MinGW-W64 GCC-8.1.0 설치


  • x86_64-posix-seh 다운
  • x86_64-posix-seh 압축파일을 C:\msys64\mingw64(다를 수도 있지만, mingw64 경로에) 경로에 푼다.

 

  • "시스템 환경변수 편집" 검색

 

 

  • 고급 -> 환경변수 -> "시스템 변수"에서 Path 선택하고 편집 클릭 -> 다음의 경로 추가

 

  • 윈도우 쉘 프롬프트에서 gcc -v로 버전이 제대로 확인되는지 확인한다.

 

4. vscode 내에서 컴파일러 경로 확인하기


  • Ctrl + Shift + PC/C++: Edit Configuration (UI) 선택

 

  • 컴파일러 경로에서 C이면 gcc를, C++이면 g++을 경로로 선택한다.

 

  • .vcode 경로에 c_cpp_properties.json 파일이 생성된 것을 확인할 수 있다.
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:/msys64/mingw64/bin/g++.exe",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}
  • configuration file의 기본 내용이고, cStandard나 cppStandard를 수정해서 사용할 수 있다.

 

5. 컴파일 및 실행 설정


 

  • Ctrl+Shift+B 또는 Terminal->Configure Default Build Task
  • C/C++:g++.exe build active.exe 선택

 

 

  • tasks.json 파일이 생성된다.

 

 

{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation": {
        "reveal": "always"
    },
    "tasks": [
        //C++ 컴파일
        {
            "label": "save and compile for C++",
            "command": "g++",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            //컴파일시 에러를 편집기에 반영
            //참고:   https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    // The regular expression. 
                    //Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        //C 컴파일
        {
            "label": "save and compile for C",
            "command": "gcc",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            //컴파일시 에러를 편집기에 반영
            //참고:   https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    // The regular expression. 
                    //Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        // // 바이너리 실행(Windows)
        {
            "label": "execute",
            "command": "cmd",
            "group": "test",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}"
            ]
        }
    ]
}
  • 위의 내용으로 tasks.json 파일 내용 수정 후, Ctrl + S로 저장한다.

 

  • File -> Preferences -> Keyboard Shortcuts
  • 빨간색으로 표시한 부분을 눌러서 keybindings.json 파일을 열고, 아래를 입력한 후 Ctrl + S로 저장한다.
  • 앞으로 컴파일Ctrl + Alt + C, 실행Ctrl+Alt+R으로 사용한다.

 

 

6. 컴파일 및 실행


  • 컴파일: cpp코드에서 커서를 두고 Ctrl+Alt+C을 누르면 위와 같은 창이 뜨고, save and compile for C++을 누른다.
  • exe 파일이 생성된다.
  • 실행: Ctrl + Alt + R로 exe 파일 실행
728x90
반응형

관련글 더보기