mac M1 PS 유저를 위한 C++ vscode 셋업 가이드

기타 강좌 2022.09.12 댓글 Plorence

타겟 혹은 요구 사항

vscode 설치

$ brew install --cask visual-studio-code

CPP 파일 생성

상단에 빨간색 원을 클릭하고, 원하는 파일명.cpp로 만들어주세요.

내용은 아래 코드를 복사해서 붙여 넣기 해주세요.

#include <iostream>
using namespace std;

int main(void) {
    // https://gist.github.com/ax3l/53db9fa8a4f4c21ecc5c4100c0d93c94

    if(__cplusplus == 202002L) std::cout << "C++20\n";
    else if (__cplusplus == 201703L) std::cout << "C++17\n";
    else if (__cplusplus == 201402L) std::cout << "C++14\n";
    else if (__cplusplus == 201103L) std::cout << "C++11\n";
    else if (__cplusplus == 199711L) std::cout << "C++98\n";
    else std::cout << "pre-standard C++\n";

    int n;std::cin >> n;
    std::cout << n;

    return 0;
}

vscode 확장 설치

확장 탭에서 C/C++, Code Runner, CodeLLDB, Competitive Programming Helper을 설치합니다.

Competitive Programming Helper여러 테스트 케이스를 한번에 실행할 수 있습니다.

C/C++ 확장을 설치할 경우, 재시작이 필요한데 모든 확장 설치 후 cmd+q로 종료 후 재시작해주시면 됩니다.

아래는 선택사항 입니다.

  • Korean Language Pack for Visual Studio Code
  • Github Theme

C/C++ 확장 설정

  1. cmd+, 혹은 좌측 하단 톱니바퀴 → 설정
  2. C_Cpp.debugShortcut 검색
  3. 체크 해제

설정하지 않으면 *.cpp 파일 활성화 시 우측 상단에 뜨는 디버그 버튼이 C/C++, Code Runner 합쳐서 총 3개가 나옵니다.
이러면 버튼 클릭 → C/C++ 혹은 Code Runner 중 골라야 하는 추가 작업이 필요합니다.
비활성화해줌으로써, 버튼 한번 클릭만으로 Code Runner를 실행할 수 있습니다.

C++ 디버깅 설정

fn+F1 혹은 shift+cmd+p로 명령 팔레트를 열고 C/C++ Add Debug를 입력하고 엔터를 입력하세요.

C/C++: g++ 활성 파일 빌드 및 디버그를 선택합니다.

.vscode/launch.json 편집

type: “cppdbg” 대신 type: “lldb”으로 설정해주세요. 주석 친 부분은 지워도 됩니다.

{
  "configurations": [
    {
      "name": "C/C++: g++ 활성 파일 빌드 및 디버그",
      // "type": "cppdbg",
      "type": "lldb",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      // "stopAtEntry": false,
      "cwd": "${fileDirname}",
      // "environment": [],
      // "externalConsole": false,
      // "MIMode": "lldb",
      "preLaunchTask": "C/C++: g++ 활성 파일 빌드"
    }
  ],
  "version": "2.0.0"
}

.vscode/tasks.json 편집

C++ 기본 버전이 C++98로 설정되어 있습니다. 그 외 버전을 사용하시려면 꼭 편집해주세요.

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 활성 파일 빌드",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-std=c++20", // C++ 버전 추가
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "디버거에서 생성된 작업입니다."
        }
    ],
    "version": "2.0.0"
}

tasks.args에 -std=원하시는버전을 입력해주세요.
예) -std=c++11, -std=c++14, -std=c++17

.vscode/settings.json 설정

해당 json 파일은 좀 더 편한 디버깅과 해당 워크스페이스에서만 Run Code를 했을 때 C++ std 버전을 지정할 수 있습니다.

.vscode/settings.json 파일을 생성해주세요.

그리고 아래 내용을 붙여 넣기 해주세요.

{
  // https://stackoverflow.com/questions/62337163/visual-studio-code-how-to-display-variable-values-inline-during-debugging
  // 디버깅시 코드 파일에서 변수 값 표시
  "debug.inlineValues": "on",
  // vscode 내장 터미널에서 실행
  "code-runner.runInTerminal": true,
  "code-runner.executorMap": {
    // *.cpp 에서 Run Code시 사용자 지정 명령어 실행
    // 아까 설정하신 vscode/tasks.json와 동일한 std 버전을 설정해주세요.
    "cpp": "cd $dir && g++ -std=c++20 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
  }
}

debug.inlineValues 활성화 시 디버깅 화면

선택 사항) 단축키 설정

cmd+k, cmd+s (순서대로) 혹은 좌측 하단 톱니바퀴 → 바로가기 키를 클릭하세요.

code-runner 입력 후 Run Code(code-runner.run) 우클릭, 키 바인딩 변경 후 원하시는 키(혹은 조합)를 입력하고 엔터를 입력해서 적용해주세요.
저는 cmd+r로 설정했습니다.

마지막으로 팁

  • 프로그램 실행 시 입력 취소는 control+c입니다.
  • F5 혹은 좌측 디버깅 클릭, 단축키 사용 시 *.cpp를 활성화한 상태여야 사용할 수 있습니다.

깃허브 저장소에도 완성본을 올려놨습니다.

댓글