ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [c++] Visual Studio Code c++ 설정
    Programming/c++ 2022. 6. 26. 23:19
    728x90

    visual studio code에서 c/c++ 코드를 작성하기 위해 필요한 환경 설정 및 파일들을 포스팅하겠습니다~

     

    1. c/c++확장 프로그램 설치

    visual studio code의 extension 항목에서 c/c++확장 프로그램을 설치합니다.

     

    2. gcc/g++ 설치

    여기까지 설정했다고 c/c++ 로 디버깅과 컴파일은 할 수 없습니다. 

    윈도우에서 c/c++컴파일러인 gcc와 g++를 설치해야 합니다.

     

    https://sourceforge.net/projects/mingw-w64/

     

    MinGW-w64 - for 32 and 64 bit Windows

    Download MinGW-w64 - for 32 and 64 bit Windows for free. A complete runtime environment for gcc. The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems.

    sourceforge.net

     

     

    저는 운영체제가 64bit라 "x86_64-posix-seh" 를 설치하겠습니다.

    (32bit 설치는 " i686-posix-dwarf " 를 다운로드하면 됩니다)

     

     

    3. gcc/g++ 파일 압축해제 및 설정

    파일을 압축해제 해야합니다.

    압축프로그램(반디집, 알집 등) 을 사용하지 않고 있었는데 해당 프로그램이 없으면 압축해제가 안되는 파일이라 반디집을 추가로 다운로드했습니다.

     

    압축해제한 "mingw64" 디렉토리는 c드라이브에 위치시켜 주세요.

    4. 환경변수 설정

    시스템 환경 변수 편집을 검색하여 환경 변수 편집기를 실행합니다.

    "환경 변수" 버튼을 클릭합니다.

     

    시스템 변수 "Path" 항목을 지정 후 "편집" 버튼을 클릭합니다.

    "새로 만들기" 버튼 클릭 후 "mingw64" 디렉토리가 있는 경로를 입력합니다.

    C:\mingw64\bin 

    5. pc 재부팅

    시스템 환경 변수는 os 재부팅을 해야 적용되어서 재부팅을 진행합니다.

     

    6. 환경 변수 등록 확인

    cmd를 실행하고 "gcc -v" 명령어를 입력해서 설치가 완료됬는지 확인합니다.

     

    7.vscode gcc/g++ 설정

    (1) CMaketools 설치

    새로운 cpp파일을 만들면 c++에서 요구하는 확장프로그램을 설치하라는 알림이 뜹니다.

    install버튼을 누릅니다.

     

    CMake Tools가 설치됩니다.

     

    (2) Edit Configurations(UI) 설정

    ctrl + shift + p (F1)단축키를 입력 후 c/c++검색하여 Edit Configurations(UI)를 선택합니다.

    - 컴파일러 경로는 

    c++ 를 사용하는 경우 : C:\mingw64/bin/g++.exe 

    C를 사용하는 경우 : C:\mingw64/bin/gcc.exe 

    를 설정합니다.

    - IntelliSense 모드

     

    -C표준, C++표준

    저는 c17, c++17 으로 설정하겠습니다. 해당사항은 사용하고 있는 표준에 따라 다르게 설정할 수 있습니다.

     

    (3) c_cpp_properties.json 수정

    Edit Configurations(UI) 설정창을 닫으면 "c_cpp_properties.json" 파일이 생성된 것을 확인 할 수 있습니다.

    Edit Configurations(UI)에서 설정한 데이터를 json형태로 출력한 파일입니다.

     

    (4) tasks.json 파일 수정

    F1  > Tasks:Configure Task 검색

    기존 데이터는 삭제하고 아래 데이터로 작성합니다.

    {
        "version": "2.0.0",
        "runner": "terminal",
        "type": "shell",
        "echoCommand": true,
        "presentation": {
            "reveal": "always"
        },
        "tasks": [
            {
                "label": "save and compile for C++",
                "command": "g++",
                "args": [
                    "${file}",
                    "-g",
                    "-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": "save and compile for C",
                "command": "gcc",
                "args": [
                    "${file}",
                    "-g",
                    "-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": "cmd",
                "group": "test",
                "args": [
                    "/C",
                    "${fileDirname}\\${fileBasenameNoExtension}"
                ]
            },
            {
                "type": "cppbuild",
                "label": "C/C++: g++.exe 활성 파일 빌드",
                "command": "C:/mingw64/bin/g++.exe",
                "args": [
                    "-fdiagnostics-color=always",
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}\\${fileBasenameNoExtension}.exe"
                ],
                "options": {
                    "cwd": "C:/mingw64/bin"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "detail": "디버거에서 생성된 작업입니다."
            }
        ]
    }

     

    (5) Build, Execute 단축키 확인

    File > Perferense > keyboard shortcuts 속성창에서 Build, Execute 단축키를 확인합니다.

     

    Build : Ctrl + Shift + B

    Execute : Ctrl + Alt + B

    (Execute 단축키가 설정되어 있지 않다면 위의 단축키로 설정하시거나 편한 단축키로 설정하면 됩니다.)

     

     

    8. Run Build, Run Execute 

    빨간 박스는 Run Build 결과이고, 파란 박스는 Run Execute의 결과입니다.

    원하는 출력을 확인 할 수 있습니다. 

     

    9. 디버깅

     

    (1)디버깅 하고 싶은 위치에 F9를 눌러 Break Point를 지정합니다.

    (2) F5 단축키를 눌러 디버깅모드로 실행합니다.

         - F10 : 한 줄씩 이동

                     코드 한 줄씩 이동하면서 실행된 출력는 Terminal에서 확인할 수 있습니다.

         - F5 : 다음 Break Point로 이동

                      다음 Break Point로 이동하면서 실행된 출력은 Terminal에서 확인할 수 있습니다.

         - F11 : 함수안으로 이동

                       함수 정의로 이동합니다. 함수 내부 코드를 확인 할 수 있습니다.

       

    이제 Visual Studio Code에서 C/C++ 코드로 개발할 수 있습니다~

    728x90

    'Programming > c++' 카테고리의 다른 글

    [c++] unique 함수  (0) 2022.08.01
    [c++] std::accumulate 함수 vector sum  (0) 2022.07.16
    [c++] isdigit() 함수  (0) 2022.05.28
    Jsoncpp 적용하기 (Visual Studio 2017) 방법1  (0) 2021.09.14
    Jsoncpp 빌드  (0) 2021.09.13

    댓글

© 2022. code-space ALL RIGHTS RESERVED.