이젠 코딩을 해야하니 Visual Studio Code를 깔아야한다.
일단 백준 코딩테스트를 위한 C++ 공부를 하려고 깔게된것이니.. 일단 C/C++ 컴파일 환경부터 만든다.
우분투 gcc, g++ 설치
build-essential 패키지를 아래 명령문으로 설치하면 gcc, g++이 설치된다.
$ sudo apt-get install build-essential
Visual Studio Code 설치
그냥 공식 홈페이지에서 가서 받으면 된다. 리눅스 지원해준다.. (카톡과는 다르게)
https://code.visualstudio.com/
언어를 한국어로 변경
언어를 한국어로 변환하는 건 쉽다.
일단 제일 아래에 있는 확장프로그램 아이콘을 누른다. (Ctrl + Shift + X 를 눌러도 된다.)
검색창에 'korean' 이라고 치면 'Korean Language Pack for Visual ... 샬라샬라' 가 나온다.
제일 위에있는거.. 그거 그냥 설치하면 된다.
설치 후 재시작하면 한글로 바뀌어 있다.
C/C++ 언어 지원 설치
C/C++에 대한 문법 강조는 기본적으로 지원하고 있으나, 해당 프로그램에서 제대로 사용하려면 확장을 설치해줘야한다.
방금 검색한 그곳에서 'c/c++' 을 입력하면 'C/C++' 이라는 제일 상위에 있는 프로그램이 나온다. 그거 설치..
C/C++ 프로젝트 생성
위 사진의 액티비티바에서 제일 위에 있는 탐색기를 연다.
폴더 열기 버튼을 클릭 후 프로젝트를 저장할 폴더를 선택한다.
이후에 위 사진에 표시된 아이콘을 눌러 임의로 하위 폴더를 하나 만들고, 바로 옆에있는 아이콘을 사용해 'hello.cpp' 파일을 만든다.
cpp 파일 안에는 이렇게 코드를 작성한다.
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
코드 컴파일 및 실행
아까 만들었던 파일들을 컴파일 하기 위한 과정이다.
- 일단 Visual Studio Code 의 메뉴에서 [터미널 > 기본 빌드 작업 구성] 을 선택한다.
- 검색창 밑쪽에 뜨는 '템플릿에서 tasks.json 파일 만들기' 를 선택한다.
- 'Other 임의의 외부 명령을 실행하는 예' 를 선택한다.
- 탐색기에 'tasks.json' 파일이 추가되고 편집기에서 해당 파일이 열린다.
- '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}",
"-g",
"-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}",
"-g",
"-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"
}
// // 바이너리 실행(Windows)
// {
// "label": "execute",
// "command": "cmd",
// "group": "test",
// "args": [
// "/C", "${fileDirname}\\${fileBasenameNoExtension}"
// ]
// }
]
}