07
15
728x90

알고리즘 문제들을 여러 언어로 풀어보고있는데, 자바는 VSCode를 사용하고 C는 비주얼스튜디오를 사용해서 아예 VSCode로 넘어가기로 했다.

 

윈도우10 환경에서 시작한다.

 

+ 2022.04 기준 변경사항 수정, C++기준 테스트 추가

 

1. VSCode 설치

https://bullie.tistory.com/4

 

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

에서 많은 정보를 얻었다.

 

728x90

'개발 > 개발 툴' 카테고리의 다른 글

[C/C++] VSCode 환경에서 디버깅  (0) 2022.04.14
VSCode에서 JAVA 시작하기  (5) 2021.07.15
COMMENT