안녕하세요 양햄찌 블로그 주인장입니다.
오늘은 VSCode에서 C/C++ 개발환경 세팅하는 방법에 대해 알아볼거예요.
Visual Studio Code 윈도우 C/C++개발을 위한 설정 세팅
1. 필요한 익스텐션
VSCode에서 C/C++개발을 진행하려면 Microsoft의 C/C++이라는 익스텐션이 필요합니다. Install 해주세요~~~
고러면 C++컴파일러 지정이라던가 개발 관련 여러 설정을 편집할 수 있는 "c_cpp_properties.json"이 생기는데요,
이를 먼저 세팅해줄 겁니다.
2. c_cpp_properties.json 편집
커맨드 명령어 창 단축키인 F1을 누른 후 'C/C++ edit'을 검색해줍시다.
고럼 요렇게 두 개가 나타나는데 UI는 환경설정을 파일이 아닌 UI로 설정하는거고 JSON은 JSON파일 형태로 설정을 변경하는거예요. 뭘로하든 똑같!
UI를 누르면 이렇게 나옵니다. 저는 JSON으로 변경하도록 할게요.
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "D:/Program Files/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}
아무것도 변경 안하고 기본으로 여시면 이렇게 작성되어 있습니다.
컴파일러가 지금 비주얼스튜디오의 MSVC로 지정되어 있는데, 저는 g++ 컴파일러로 변경해줄거예요.
{
"configurations": [
{
"name": "Win32",
//추가로 사용할 헤더파일 경로
"includePath": [
"${workspaceFolder}/**",
"D:/Program Files/msys64/mingw64/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.18362.0",
//컴파일러 경로 mingw의 g++로 변경해주자.
// "compilerPath": "D:/Program Files/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe",
"compilerPath" : "D:/Program Files/msys64/mingw64/bin/g++.exe",
//C와 C++표준
"cStandard": "c17",
"cppStandard": "c++17",
//인텔리센스도 gcc로 windows-gcc-x64
// "intelliSenseMode": "windows-msvc-x64"
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
일부로 이해하기 쉬우시라고 주석을 달아놨어요.
확인해야할 항목을 적어볼게요.
윈도우 설정이니까 Win32써주기
경로가 완전 다를 때 C/C++ 라이브러리 인식을 위해 헤더파일 경로에 include 위치를 추가해줬어요.
주석으로 되어있는건 변경하기 전에 기본적으로 세팅되어있던 컴파일러인데요,
저의 경우 mingw64의 g++.exe로 컴파일러를 변경해줬습니다.
인텔리센스도 msvc가 아닌 gcc모드로 변경해줌~ 개인의 상황에 맞춰 항목을 커스터마이징 하시면 돼요. 다 완료하셨으면 저장! 혹시 몰라서 파일은 따로 첨부해드릴게요.
3. tasks.json 편집
똑같이 F1을 누른 후 Tasks를 검색해보면 'Tasks:Configure Task'라는 커맨드가 검색될거예요. 클릭해줍시다.
tasks.json을 처음 편집하시는 거라면 'Create tasks.json file from template'이 뜰건데 클릭!
요기서 Others를 선택합니다. 그럼 tasks.json 파일이 열릴거예요.
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "echo",
"type": "shell",
"command": "echo Hello"
}
]
}
수정하기 전 파일은 이렇게 구성되어 있습니다. C언어와 C++컴파일 그리고 실행까지 명령어 등록을 해볼게요.
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"runner": "terminal",
"tasks": [
//C++컴파일
{
"label": "g++ build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"${fileDirname}\\**.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"problemMatcher": ["$gcc"],
"group": "build"
},
//c컴파일
{
"label": "gcc build",
"type": "shell",
"command": "gcc",
"args": [
"-g",
"${fileDirname}\\**.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"problemMatcher": ["$gcc"],
"group": "build"
},
//실행
{
"label": "execute",
"command": "cmd",
"group": "test",
"args": [
"/C", "${fileDirname}\\${fileBasenameNoExtension}.exe"
]
}
]
}
완성본~! 요렇게 작성해줍시다. 세부 항목을 차근차근 설명해볼게요.
예시로 C++만 일단 살펴보겠습니다. 구성은 요렇게 되어있는데
[label]
label은 나중에 명령 수행시킬 때 붙일 이름(?)입니다.
빌드 수행시 어떤 빌드 작업을 실행시킬건지 이렇게 선택지가 나오는데 여기 뜨는 이름을 지정해주는거예요.
g++ build를 선택하면 C++ 컴파일이 수행되고 gcc build를 수행하면 C 컴파일이 되겠죠?
[command]
커맨드는 수행할 명령어를 작성하는 겁니다. C++ 컴파일을 위한 명령어는 g++이고 C언어 컴파일을 위한 명령어는 gcc
실제 명령 프롬프트에서 컴파일 바로 시킬려면 'gcc main.o -c main'이런식으로 명령어 치잖아요.
[args]
명령어 뒤 인자들을 정의합니다. ${fileDirname}은 현재 파일 경로를 의미하고
${fileBasenameNoExtension}은 현재 파일의 확장자를 제거한 변수명이 들어있어요.
윈도우에서 컴파일이니까 컴파일 결과로 .exe 확장자를 붙여줬습니다.
[problemMatcher, group]
그외 c/c++익스텐션을 사용하니까 컴파일에러가 그 정보에 맞추도록($gcc로 설정하면 c/c++플러그인에게 맡겨지게 됩니다), 그리고 build로 그룹지어서 단축키로 build명령시 수행될 수 있게끔 설정해줬어요.
"group":{
"kind":"build",
"isDefault": true
}
만약 선택하는거 없디 빌드 수행시 디폴트로 특정 task가 수행되게끔 하고 싶으시면 group옵션에다가 "isDefault":true를 추가해주시면 됩니다.
여기까지 하면 끝입니다 완전간단하죵?
4. 단축키 설정 및 실행
편하게 컴파일하고 실행할 수 있도록 단축키를 설정해봅시당.
단축키 ctrl+k+s를 누르면 '단축키 설정 창'열 수 있어요. 아니면 F1을 누른 후 'Keyboard shortcut'이라고 검색해도 됩니다.
컴파일&빌드는 workbench.action.tasks.build라고 되어있는 단축키를 확인하시면 됩니다.
디폴트로 빌드는 Ctrl+Shift+B 로 설정이 되어있어요.
실행 명령어 단축키 지정은 명령어ID가 'workbench.action.tasks.test'를 찾아 지정해주시면 됩니다.
저는 빌드는 그대로 ctrl+shift+b를 사용하고, 실행은 ctrl+alt+b로 지정했어요.
#include <iostream>
using namespace std;
class App
{
public:
void run(){cout<<"run"<<endl;}
};
int main()
{
App app;
app.run();
return 0;
}
간단하게 소스를 작성해서 컴파일해봅시다. 실행하면 run이 출력되어야해요.
자 지정한 ctrl+shift+b를 누르자 내가 설정했던 빌드 task 두개가 떴어요. cpp니까 g++을 선택해줍시다.
그리고 실행 단축키를 누르니까 내가 지정했던 execute가 뜨네요. 클릭!
빨간색 네모박스가 빌드를 눌렀을 때 나온 커맨드고, 파란색 네모박스가 실행시 나온 커맨드입니다.
의도한대로 명령어가 잘 실행되고 실행하자 run까지 잘 출력된 것을 확인할 수 있어요~
디버깅 설정을 추가적으로 원하시는 분은 아래 포스팅을 참고해주세요
[VSC 비주얼스튜디오코드] VScode에서 C/C++ 디버깅하는 방법, 디버깅 실행 안될 때 설정 (tistory.com)
오늘 포스팅은 여기까지입니다. 도움이 되셨다면 공감 어떤가요? 감사합니다.
'별걸다하는 IT > 개발환경 세팅&TIPS' 카테고리의 다른 글
윈도우에서 C/C++ 컴파일과 빌드를 위한 MSYS2 설치하기, MSYS2란 무엇인가? (2) | 2021.05.07 |
---|---|
[VSCode 익스텐션] 프로젝트 매니저 사용법 - 비주얼스튜디오코드 Project Manager 플러그인 (0) | 2021.05.04 |
[VSC 비주얼스튜디오코드] VScode에서 C/C++ 디버깅하는 방법, 디버깅 실행 안될 때 설정 (5) | 2021.04.09 |
[VScode 터미널 스크롤바 초기화 설정] 비주얼스튜디오코드 터미널 초기화하기, cls /clear해도 스크롤 위로 올리면 남아있는 현상 없애기 (3) | 2021.04.07 |
인텔리제이 다운로드 및 설치, IntelliJ IDEA 커뮤니티 에디션 설치하기 (3) | 2021.03.14 |
최신 댓글