우분투에 Visual Studio Code 깔기 (C/C++)
이젠 코딩을 해야하니 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}" // ] // } ] }