VSCODE C/C++ 개발환경 세팅하기 (LINUX)

Epsilon·2022년 10월 6일
0
post-custom-banner

GCC설치

sudo apt updatesudo 
apt install build-essential

VSCODE Extension 설치

tasks.json 설정

{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation" : { "reveal": "always" },
    "tasks": [
          // C++ 컴파일 (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
                }
            }
        },
        // 바이너리 실행(Ubuntu)
 
        {
 
            "label": "execute",
 
            "command": "cd ${fileDirname} &&./${fileBasenameNoExtension}",
 
            "group": "test"
 
        }
    ]
 }

Keyboard Shortcuts 설정

// Place your key bindings in this file to override the defaults
[
    // build
    {
        "key": "ctrl+alt+c",
        "command": "workbench.action.tasks.build", 
    },
    // run
    {
        "key": "ctrl+alt+r",
        "command": "workbench.action.tasks.test", 
    },
  
]
profile
컴퓨터 공부하는 수학교사 입실론입니다.
post-custom-banner

0개의 댓글