알고리즘 문제들을 여러 언어로 풀어보고있는데, 자바는 VSCode를 사용하고 C는 비주얼스튜디오를 사용해서 아예 VSCode로 넘어가기로 했다.
윈도우10 환경에서 시작한다.
+ 2022.04 기준 변경사항 수정, C++기준 테스트 추가
1. VSCode 설치
VSCode에서 JAVA 시작하기
자바를 처음 공부할 때 리눅스 환경에서 이클립스로 돌렸었다. 유니티를 공부하면서 사용했었던 VSCode가 굉장히 편하고 가벼워서 인상깊어 다시 자바도 공부하고 VSCode랑 더 친숙해질 겸 어떻게
bullie.tistory.com
위 글을 참고해서 VSCode를 설치한다.
2. C/C++ Extension 설치
Extension 검색에서 C/C++를 찾아 install 한다.
참고사항으로 C/C++ Extension Pack이라는 것도 생겼는데, 이는 C/C++를 포함 해 CMake와 테마같은걸 같이 받아준다.
여러 소스코드를 한 번에 컴파일 하고 실행할 경우 CMake가 필요한데, 지금은 C/C++가 잘 작동하는지 확인하기 위해 저것만 설치했다. 필요하다면 추가로 Extension Pack을 설치하면 된다.
3. minGW 설치
minGW는 윈도우 환경을 위한 gcc컴파일러이다.
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64 at SourceForge.net
sourceforge.net
소스포지에서 MinGW를 설치 해 준다.(x86_64-posix-seh)
압축을 풀어 나온 mingw64 폴더를 C:\에 넣어준다.
4. 환경변수 설정
환경변수를 설정 해 주면 어느 경로에서든 컴파일 할 수 있다고 한다.
키보드의 윈도우 키 + R을 눌러 실행창을 연 후 sysdm.cpl을 입력해 시스템 속성 창을 연다.
고급 -> 환경변수 -> 시스템 변수의 Path를 찾아 더블클릭하면 위 처럼 나온다.
새로만들기를 눌러 minGW가 설치된 경로의 bin 폴더를 입력한다.
아까 C드라이브에 넣었으므로 우리는 C:\mingw64\bin이다.
명령 프롬프트를 열어 gcc -v를 입력하면 설치된 버전이 나오는데 이러면 잘 설치된 것이다.
5. 테스트(옛날 방법)
원하는 곳에 폴더를 생성 후 VSCode를 실행 해 새 폴더를 오픈한다.(단축키 Ctrl + K + O)

좌측 Explorer창의 폴더이름(CTEST)에 마우스를 올린 후 새 파일 모양 버튼을 눌러 코드를 입력할 파일의 이름과 .c를 적어 파일을 만들어준다.

만든 소스파일에 간단한 코드를 입력한다.
VSCode에서 빌드, 실행할 때 두 가지 방법을 알고 있는데 첫 번째는 터미널을 이용해 명령어로 실행하는 방법이고,
두 번째는 Code Runner라는 Extension 사용하는 방법이다.
첫 번째 방법은 깃 배쉬같은걸 따로 설치해야해서 나중에 다루기로 하고 지금은 두 번째 방법으로 진행한다.

Extension 창에서 Code Runner를 검색해 install 한다.

위의 사용법을 참고해서 소스파일을 띄운 창에서 우클릭 -> Run Code(단축키 Ctrl + Alt + N)를 눌러 실행해주면

잘 실행된다.
참고1. scanf(), cin 처럼 사용자에게 입력을 받을 때 VSCode의 출력 탭에서 실행되기 때문에 입력을 받을 수 없다.
그래서 Terminal에서 실행하도록 설정을 해줘야한다.

좌측 상단 탭의 File -> Preferences -> Settings에서 위처럼 code runner terminal을 검색해서 Run In Terminal에 체크하면 된다.

잘 입력된다.
참고2. C/C++ Compile Run이라는 Extension은 출력시 한글을 입력하면 깨져서 출력되기 때문에 Code Runner를 사용했다. Code Runner는 C, C++, C#, Java, Java Script, PHP 등 다양한 언어들을 실행할 수 있다.
5. IntelliSecse 설정 및 테스트(2022.04 추가)
작업 폴더를 만들고 코드를 추가하는 것은 옛날 방법과 같다.
C++코드를 간단하게 작성 해 준다.(TestCpp.cpp)
Ctrl + Shift + P를 눌러서 C/C++: Select a Configuration을 입력하고 선택한다.
구성 편집(UI)를 누른다.
JSON을 선택하면 json파일을 직접 수정할 수 있는데, 어느 것으로 해도 상관 없다.
IntelliSense 구성에서 컴파일러 경로를 선택해 준다.
만약 C언어를 사용한다면 gcc를, C++를 사용한다면 g++를 선택하면 된다.
만약 둘 다 한 번에 사용한다면 g++를 사용해도 된다.
c++가 c언어와의 호환성을 중요시 하는 언어이기 때문이다.
조금 내려서 IntelliSense 모드를 변경한다.
기본은 windows-msvc-x64인데 이걸 windows-gcc-x64로 바꿔준다.
추가로 헤더파일을 적용할 경우 경로 포함에 경로를 적어주면 된다.
이전에 OpenGL을 사용했었는데, 그런걸 추가로 사용할 경우 넣어주면 되는 듯 하다.
이 외 IntelliSence 전처리기 정의나 C표준도 여기서 설정할 수 있다.
다 하고 나면 .vscode폴더 안에 c_cpp_properties.json파일이 생성된걸 볼 수 있는데, 아까 구성 편집(JSON)을 선택했다면 이걸 직접 수정하는 것이다.
Terminal -> Configure Default Build Task...를 선택한다.
현재 소스가 C++이기에 g++.exe 활성 파일 빌드를 선택한다.
그러면 아까 생긴 .vscode 폴더 내에 tasks.json파일이 만들어진다.
{
"version": "2.0.0",
"runner": "terminal",
"type": "shell",
"echoCommand": true,
"presentation" : { "reveal": "always" },
"tasks": [
//C++ 컴파일
{
// 단축키(Ctrl + Alt + 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": "${fileDirname}/${fileBasenameNoExtension}",
// "group": "test"
// }
// 바이너리 실행(Windows)
{
"label": "execute",
"command": "cmd",
"group": "test",
"args": [
"/C", "${fileDirname}\\${fileBasenameNoExtension}"
]
}
]
}
tasks.json안의 파일을 위 내용으로 교체하고 저장 해 준다.
File -> Preferences -> Keyboard Shortcuts (Ctrl + K + S)를 눌러서 위 사진의 빨간색으로 표시한걸 누른다.
위처럼 적어주고 Ctrl + S해서 저장한다.
C는 Compile, R은 Run으로 해서 외워둔다.
Ctrl + Shift + P 눌러서 Terminal: Select Default Profile를 입력하고 선택한다.
Command Prompt를 선택 해 준다.
이렇게 하면 기본 터미널을 선택할 수 있다.
아까 만든 컴파일 단축키(Ctrl + Alt + C)를 누르고 save and compile for C++누른다.
터미널에서 컴파일이 완료되고
실행파일이 만들어진다.
실행 단축키(Ctrl + Alt + R)를 누르고 execute를 누르면
터미널에서 실행 결과가 나오게 된다.
6. 참고
한글 입, 출력시 글자가 깨지는 경우
File -> Preferences -> Settings에서 encoding을 검색 해 Korean(EUC-KR)로 바꿔주면 된다.
만약 그래도 안바뀌면
VSCode 오른쪽 아래 파란줄을 보면 빨간 동그라미 부분이 utf-8일텐데, 그걸 누르고 Reopen with Encoding을 누른 다음
Korean(EUC-KR)을 선택해 주면 된다.
https://webnautes.tistory.com/1158
에서 많은 정보를 얻었다.
'개발 > 개발 툴' 카테고리의 다른 글
[C/C++] VSCode 환경에서 디버깅 (0) | 2022.04.14 |
---|---|
VSCode에서 JAVA 시작하기 (5) | 2021.07.15 |