반응형

【 C 환경설정 】  VS code에서 C/C++ 코딩 환경 구축하기 

 

 요즘 파이썬(python)이나 자바(JAVA), javascript C# 등등 하이레벨 언어를 학습하던 사람들이 프로그래밍의 근간을 튼튼히 한다거나?  여러 가지 이유로,  다시 C나 C++을 공부하고 있는 사람들이 꽤 있는 것으로 보이는데요?

 그런 와중에, 요즘 대세로 자리 잡은 코딩 IDE 툴인 VS-code (비주얼 스튜디오 코드-Visual Studio Code)를 많이 사용하고 있다 보니, VScode에서 C나 C++의 코드를 돌려보려는 분들이 많은 것 같네요.   물론, Dev++ 툴이나, 비주얼 스튜디오를 설치해도 되겠지만, 이미 VS-Code라는 최고의 IDE 툴을 사용하고 있으니 거기에서 돌리려는 욕구가 일어나는 것은 당연하리라 생각됩니다.  

 

  하지만, 그냥 바로 빌드하거나 실행시킬 수 있는 상태는 아닌데요, 

 이렇게 하기 위해서는 우선 몇 가지 조치를 해줘야 해요, 오늘은 이 부분에 대해 다뤄 볼까 합니다.

그리고 다음 시간에는 터보C 콘솔용 함수 ( #include <Turboc.h> )를 추가해 사용해 방법을 포스팅 해보려고 합니다.

 

》》》 VS-Code에서 C / C++ 코딩 환경 구축하기  《《《

▶ #1  :

VS code를 실행합니다.  아래처럼 Extention 항목에서 " C++ "를 입력하여 검색하세요.

아래 번호 순대로 클릭하여 진행하면 됩니다.

   VS-code는 필요한 확장 프로그램을 IDE 툴 내에서 바로 검색해서 설치해주는 무척 편리한 툴입니다. 

설치가 되었다면 이미지처럼 Uninstall로 나오는데요,  Install 버튼을 클릭하면 즉시 설치가 시작됩니다. 

 

그런데, 확장 프로그램이 설치되었다고 해서 바로 컴파일과 디버깅을 할 수 있는 것은 아닌데요,  C 코드에 대한 인식과, 명령어 코드 등을 인식해서 알기 쉽게 색도 표시해주는 등의  확장 기능만 추가된 상태여서 그렇습니다.

 

▶ #2 :

 윈도에서 C/C++의 컴파일러인  gcc와 g++ 을 설치하기 위해서는 MinGW라는 프로그램을 설치해야 하는데요, 

아래 사이트에 접속해서 (다운로드 파일 직접 링크함) 다운로드하거나 아래 첨부파일을 받으시면 됩니다. 

https://sourceforge.net/projects/mingw/files/ 

 

 《 다운로드 파일 바로 받기 》  →  아래 mingw-get-setup.exe 를 다운로드하여 실행시킵니다. 

mingw-get-setup.exe
0.08MB

 《 MinGW 설치 

다운로드한 파일을 실행시키시고 아래의 순서로 진행해주세요~

 

  아래 MinGW Installation Manager 창에서 아래 항목을 선택 후 우클릭 "Mask for Installation"을 체크하여 설치를 진행하면 되는데요, 아래 4가지를 체크하면 됩니다.(하나는 자동 체크)

 

 msys-base는 자동으로 체크됩니다. 

선택 후 아래 Apply Changes를 클릭하면 선택된 패키지의 설치가 진행됩니다. 

- 설치 완료되면 아래 'Close'를 클릭하고 창을 닫습니다.

 

▶ #3 :

 - 설치 진행이 완료되면,  윈도 시스템에 환경변수를 등록해주어야 하는데요,

  윈도(7, 10 동일) 실행창 검색에서  " 시스템 환경 변수 편집 "을 찾아 들어갑니다(또는 제어판)  

 - 고급 탭에서 환경변수 클릭!

 - 편집을 클릭하여 들어가세요

- 시스템 변수(S) 영역에 아래에 있는 "편집(I)..."을 클릭하여 아래 경로를 추가해주는데요, 

 새로 만들기로 경로를 추가해주거나 →  C:\MinGW\bin  

 기존 경로에 추가해주면 되는데요,   ;C:\MinGW\bin  

주의! 기존 경로에서 추가할 때는 이전의 경로 끝에 ' ; ' 세미콜론을 붙이고 새로운 경로를 입력해야 합니다.

 아래는 '윈도 10'에서의 새로 만들기 경로 추가 화면의 모습입니다. 

 

▶ #4 :

  PATH 경로까지 입력이 되었다면, 커맨드(command) 창을 열어 설치가 제대로 되었는지? 버전 체크를 통해 확인해 볼게요.  

 

- 커맨드 화면에서 gcc -v 라고 입력해보면, 제대로 설치되었다면, 아래처럼 gcc 버전을 확인할 수 있습니다. 

 

 

 -  역시 g++ -v 라고 입력해보면 아래와 같은 버전 확인이 가능합니다. 

 

 

 ▶ #5 :  자!  이제 컴파일러까지 설치 완료되었다면, 다시 VScode를 실행시켜 봅니다.

메뉴에서 새폴더를 만들거나 할 수 있으며,  새 파일을 눌러 HelloWorld.c 를 하나 만들어 간단히 코드를 작성해 봅니다.

VS 코드 처음 시작하시는 분을 위해 잠시 설명드리면, 코드 작성 후 저장을 하지 않았다면, 파일 제목 탭 옆에 하얀 점이 생기는데요,  메뉴에서 저장을 클릭하거나 단축키 ' Ctrl + S '를 누르면 하얀 점이 사라지면서,  창을 닫을 수 있는 X 표시로 바뀌어집니다.

 

 - 그런데요, 코드 작성 후 툴에서 바로 gcc (g++) 컴파일러로 컴파일 작업을 바로 할 수 있는 상태가 아닌데요, 

 그래서 빌드 설정을 진행해야 합니다. 

 아래처럼 메뉴 Terminal 메뉴에서 ' Configure Default Build Task ' 메뉴를 클릭하거나,

 

 단축키 ' Ctrl + Shift + B '를 눌러보면,  아래처럼 빌드 작업을 찾을 수 없다는 메시지와 함께 새로운 빌드 작업을 구성할 수 있도록 메뉴가 하나 나타납니다.    그래서, 새로운 빌드 작업 구성을 위해 ".... 빌드 작업 구성..."을 클릭해 주세요.  

 

이어서, 템플릿에서 tasks.json 파일 만들기를 다시 클릭해 주세요.

그리고 다시 "Others 임의의 외부 명령을 실행하는 예"를 선택합니다. 

그러면, 아래와 같은 기본 설정의 " tasks.json " 파일이 만들어지는데요,  

 기존 내용을 지우고 아래와 같은 내용으로 교체해 주세요. 

일일이 타이핑이 어려우니 첨부해드리는 파일을 다운로드하여 복불복해서 붙여 넣으세요.

{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation": {
        "reveal": "always"
    },
    "tasks": [
        {
            "label": "save and compile for C++",
            "command": "g++",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "save and compile for C",
            "command": "gcc",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "execute",
            "command": "cmd",
            "group": "test",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}"
            ]
        },
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "디버거에서 생성된 작업입니다."
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
//            "group": {
//                "kind": "build",
//                "isDefault": true
//            },
            
            "detail": "디버거에서 생성된 작업입니다."
        },
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
              
            // "group": {
            //     "kind": "build",
            //     "isDefault": true
            // },

            "detail": "컴파일러: C:\\MinGW\\bin\\gcc.exe"
        }
    ]
}

tasks.json
0.00MB


이제, 거의 다 되었고요, 단축키 설정만 하면 VS-Code에서도 편하게 C/C++을 컴파일과 디버깅 화면 출력까지 볼 수 있게 됩니다.  

- 아래처럼, VScode에서 단축키 메뉴로 들어갑니다.   

영문메뉴:   File 》 Preferences  》 Keyboard Shortcuts 》

한글메뉴:   파일 》 기본 설정  》 바로 가기 키 》

 

- 그럼,  아래처럼 기존 설정된 단축키 목록들이 나오는데요,  검색창에 Ctrl + Alt 등의 단축키를 타이핑해보면 해당 단축키의 설정 상황을 검색해 볼 수 있습니다. 

 

 

- 그럼, 화면에 표시되는 내용에 " keybindings.json " 글자가 보이면 클릭하시고,  만약 보이지 않는다면, 아래 이미지처럼 우측 상단의 노란색 화살표 부분을 클릭하면,  

 

아래처럼, keybindings.json 파일이 열립니다. 

그럼, 아래와 같은 내용으로 입력해주는데요,   

복불복할 수 있도록 파일을 첨부해드려요.

Keybinding값.txt
0.00MB

그리고  저장 (또는, Ctrl+S 단축키 사용)  합니다. 

그럼, 다시 ' Keyboard ShortCuts ' 탭으로 와서 아래처럼 검색창에 ' Ctrl + alt + '를 입력해보면 

- 빌드 단축키( Ctrl + Alt + C )와 

- 실행(Run) 단축키 (Ctrl + Alt + R)가  사용자 정의 (User)로 설정되어 있는 것을 알 수 있습니다.  

 

 

- 이제, 직전에 작성한 HelloWorld.c 코드로 돌아와서,  빌드 단축키 ( Ctrl + Alt + C)를 눌러보면,  C 또는 C++로 실행시킬 수 있는 메뉴가 바로 나타나는 것을 알 수 있습니다. 

  위 화면처럼 ' save and compile for C ' 가 선택되어 있는 상태에서 마우스 클릭하거나 엔터(Enter) 치면 

아래처럼 터미널(TERMINAL) 창을 통해 빌드된 것을 알 수 있어요. (만약, 에러가 발생한다면, 에러 표시도 됩니다)

 

그리고,  실행(Run) 단축키 (Ctrl + Alt + R)를 눌러보면, 실행시킬 수 있는 'execute' 메뉴가 바로 나타나는 것을 알 수 있습니다. 

 

 클릭! 또는 엔터 치면, 드디어! 아래처럼 터미널 창을 통해 확인이 가능합니다.   ^^

 

이상으로, VS-Code에서 gcc, g++ 컴파일러가 필요한 C 또는 C++ 언어를 코딩하기 위한 VScode 설정에 대해 살펴보았습니다.

 

『 추가 사용법 설명 』 

 【 멀티 언어 코딩 환경(다중 워크스페이스) 설정 방법 】 →

 VS-Code를 사용할 때, 여러 가지 언어에 대한 코딩이 필요할 수 있는데요, 예시로 C/C++ 언어와, Python 언어 두 가지를 VS-Code를 이용하여 두 언어가 섞이지 않고 깔끔하게 사용하는 방법에 대한 설명입니다.

  핵심은 Work Space(워크스페이스) 파일을 C/C++ 언어용으로 하나 만들고, Python용으로도 하나 만들어서, 해당 언어의 코딩 작업을 하려고 할 때 , 각각의 WorkSpace 파일을 열어서 작업하면 됩니다.
 ( ※ 작업 폴더도 언어별로 각각 만들어서 구분해 주세요) → VS-Code 창 화면 제일 아래에 보면 파란색 표시줄이 보이시죠? (Status-Bar , 상태바) 만약, 닫으셨으면 상단 메뉴에서 View 》 Appearance 》 'Show Status Bar' 클릭~! 거기 창 우측에 보면 파이썬 모드일 경우에는 " Python " C언어 모드일 경우에는 "C"라고 나올 거예요. 거기를 마우스로 클릭해보면, 화면 상단 중앙에 Select Language Mode가 뜨면서, C, C++ , Go, Java, .... Python , 등등 여러 가지 언어 목록이 나와 있을 거예요.


목록 중에서 C 또는 C++을 선택합니다. 그러면, VS-Code 툴 자체가 터미널 포함하여 C언어 관련 모드가 되며, Ctrl+Alt+C (빌드) , Ctrl+Alt+R (실행)과 같은 단축키 적용 환경을 담은 C/C++ 내용이 담긴 JSON 파일도, 영상을 참고하여 만들어 주세요.

  그리고, (위 이미지 참조) 파일 메뉴에 보면 Save as workspace... 가 있어요, 그걸로 C_workspace.code-workspace 형태로 저장하시고, 다음에 C작업을 할 때는 이 워크스페이스 파일을 오픈하여 작업하면 되고요, 마찬가지로, Python언어로 작업할 때는 파이썬으로 세팅 후 ( Python 작업 폴더 지정과 파이썬 단축키 등의 내용이 들어 있는 JSON파일 등) , PY_workspace.code-workspace 형태로 워크스페이스 파일을 만들어, 파이썬 작업할 때 이 워크스페이스 파일을 오픈하여 작업하면 됩니다. C/C++ 언어의 JSON 파일은 바로 위 링크를 참고해주세요. 파이썬의 JSON 파일은 검색해보면 여러 가지 있고, 아래를 참고해보세요.

[ 파이썬의 JSON 파일 내용 예시 ] 

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "python execute",
            "type": "shell",
            "command": "python",
            "options": {
                "cwd": "${fileDirname}"
            },
            "args": [
                "${file}"
            ],
            "group":{
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "label": "c execute",
            "type": "shell",
            "command": "./${fileBasenameNoExtension}",
            "group":{
                "kind": "test",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": true
            }
        }
    ]
}

 

【 C/C++의 실행 버튼 ▶ 기능 설치하기 】

비주얼 스튜디오나 다른 전용 코딩 툴에 보면 작성한 코드를 실행시키는 단축키 외에 직접 마우스로 클릭하여 실행하는 버튼이 있는데요,   비주얼 스튜디오 코드(VS-Code)에서도 이런 버튼 기능을 추가로 설치할 수 있습니다.
또한 코드러너는, 디버깅 과정에서도 활용할 수 있기 때문에 설치해주면 좋습니다.

VS-Code에 실행(▶) 버튼을 추가한 이미지

1. VS-Code 툴 내에 있는 마켓플레이스에서 "Code Runner"로 검색해 보세요.


 설치(Install) 후, Vs-Code를 재시작하세요. 플레이 버튼이 VS-Code 오른쪽 상단에 바로 생성되는데요, 간단한 코드 작성하셔서 실행해 보시면, 화면 하단부에 "OUTPUT" 창 영역에 실행결과가 출력될 거예요.
( 코드위 마우스 우클릭해서 'Run Code' 및 단축키 'Ctrl+Alt+N'으로도 실행 가능하세요)
그런데, OUTPUT 창 영역은 결과만 볼 수 있는 창이어서 데이터 입력과 같은 작업은 하지 못하게 됩니다.

▶ 플레이 버튼으로 실행결과를 OUTPUT 창에 출력된 모습

2. 그래서 출력 결과를 입력도 가능한 터미널 창으로 설정하기 위해서는, VS-Code의 메뉴 》 File 》 Preferences 》 Settings 클릭하면, 화면에 설정창이 열리고 열린 화면 안의 세로 메뉴 목록 중 제일 아래에 있는 ' 〉 Extensions '를 클릭합니다. 그럼 그 아래로 하위 메뉴가 다시 열리는데, 아래쪽에 보시면 'Run Code Configure...' 메뉴가 보일 거예요. 클릭! 그리고 화면 가운데 옵션들 중에서 스크롤 다운 좀 하다 보면, ' Run In Terminal ' 옵션이 있을 텐데, 거기를 체크해주시면, 플레이 버튼 ▶ 클릭 후 실행결과가 터미널로 바로 열리게 되어 데이터 입력도 가능한 상태가 됩니다.

터미널창에 실행되어 입력이 가능한 상태 (이미지 클릭하면 확대됩니다)



【 VS-Code 삭제 안내 】
[ 만약 삭제가 필요한 경우 아래 안내를 참고해보세요. ]
삭제의 경우 제어판의 프로그램 삭제 같은 게 없기 때문에 삭제 방법을 알려드립니다. (용어 등 윈도10 기준입니다)

1. 윈도우 (시작) 작업표시줄 검색창에서 'MinGW Install ' 로 대략 검색해보시면, 'MinGW Installation Manager'라는 아이콘이 뜰 거예요. 그걸 실행해 주세요.
2. 그럼, 제 설치 영상 과정에 있었던(
1:50) MinGW Installation Manager라는 창이 뜹니다.
지금은 설치해 둔 항목의 체크 박스에 체크되어 있을 텐데요, 해당 항목들을 하나씩 마우스 우클릭하면 작은 팝업창이 뜨고 거기에 'Mark for Removal'이라는 항목을 클릭하세요. 설치된 항목 모두 똑같이 진행하세요.
3. ' MinGW Installation Manager' 설치 프로그램 메뉴 첫 번째로 가서 Installation을 클릭하셔서, Apply Changes를 클릭하세요. 이어서 뜨는 팝업창에서 Apply 버튼을 클릭하면, 좀 전에 체크해둔 설치된 파일들이 삭제가 진행될 거예요.
4. 파일 탐색 창을 열고 ' MinGW '를 설치한 폴더를 그냥 선택해서 바로 삭제하면 됩니다. 남은 파일 제거함
( 본 영상에서는 'C'드라이브 루트 바로 밑에 설치하였음 : C:\MinGW )
5. 제어판 혹은 윈도 (시작) 작업표시줄 검색창에서 '시스템 환경 변수 편집'을 여세요. 거기에서 처음 설치할 때 MinGW 환경변수 등록한 부분만 삭제를 해주시면 모두 깔끔하게 삭제될 것에요.
6. 추가적으로 레지스트리 청소하는 툴 사용하고 계신 것 있으시면 한 번 돌려주셔도 되고요.
참고로 아래는 삭제 방법에 대한 영문 영상 링크이니 함께 참고해 보세요.
https://www.youtube.com/watch?v=WWSK8wYvs2w

[ 추가 설명 ] 
  사용한 적 없는 PC에 처음 VS-Code를 설치하게 되면, 즉, tasks.json을 한 번도 안 만들었던 경우는 여기를 참고하세요. (영상은 이미 만든적이 있어서 tasks.json 파일 여는게 조금 다릅니다.)
- 1. VS Code를 실행합니다.
- 2. 키보드 'F1' 키를 누릅니다.
- 3. tasks.json을 한번도 안 만들었다면, ' Create tasks.json file from template '가 뜨는데 이걸 클릭하세요.
- 4. 그럼, 4가지 옵션이 나오는데, 그중에서 제일 아래 ' Others '를 고르면 'tasks.json' 파일이 처음 생성됩니다. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- ctrl + shift + B -- 기본적인 빌드 명령 (영상에서 추가해준 ctrl + alt + C 단축키와 동일하게 실행됨)
- ctrl + j -- 터미널 창 불러오기/닫기 (토글)
- 디폴트 테스크( tasks.json ) 파일 만들기(열기) : Vs code 메뉴에서 Terminal 》 Configure Default Build Task... 클릭하면 tasks.json 파일 생성 가능합니다.

[ VS-Code 툴의 개념과 기본 사용법에 대한 정리 ]
- 기본적으로 VS-Code라는 툴은 특정 언어에 맞추어 특화된 툴이 아니라, 코드 작성 시 "편의 기능 제공-디버그 환경 제공-쉘 기능" 등의 코딩에 필요한 핵심기능과 편리한 코딩을 위한 바탕을 제공하는 뼈대의 역할을 하는 툴이며, 요즘처럼 멀티 언어가 필요한 시점에, 여러 가지 다양한 언어를 하나의 툴로 번갈아 가며 개발 하기에도 수월하도록 만들어진 코딩 툴이라고 보시면 됩니다.
  그런데 각각의 언어마다 환경설정이 다르고, 사용하는데 필요한 기능을 추가로 설치해야 하는데요, 이는 본인이 사용하려는 언어별로, VS-Code 툴의 'Extentions 오픈마켓'에서 필요한 기능을 검색해서 설치하여 사용할 수 있게 만든 구조예요. 따라서 각 언어별로 tasks.json이라는 파일을 두어, 필요한 리소스 경로와 기타 환경 설정을 관리하게 하여 각각의 코드로 코딩이 되도록 하는 구조입니다.
  당연히, C언어 , 파이썬 등 각각의 언어별로 tasks.json 파일이 필요합니다. (언어별 작업 폴더를 분리해야 하는 이유)

- 일단 VS-Code로 두 가지 이상의 언어를 병행해서 공부하려고 한다면, 워크스페이스 파일을 각각 만들어 사용하여야 서로 엉키지 않고 편리하게 왔다 갔다 작업이 쉽습니다. 예를 들어, C/C++ 언어로 코딩 환경을 만든다고 하면, 하드 드라이브에 예를 들어 , C_World라는 작업 폴더를 하나 만들고, 그리고 방금 만든 폴더를 VS-Code에서 추가합니다. 여기가 C언어 작업 폴더가 되며, xxx.C이나 xxx.exe 와 같은 작성 파일 및 실행파일을 저장하게 됩니다. 그리고 C언어 모드로 선택하고, 오픈 마켓 등에서 C/C++ 관련된 필수 및 필요한 확장 패키지를 설치하고서 제 영상에서와 같은 tasks.json 등의 설정을 합니다. 그리고 마지막에 Save As Workspace... 메뉴로 C_Lang.code-workspace와 같은 파일명으로 "C_World" 폴더에 저장해 둡니다.

- 똑같은 방법으로, Python 언어 코딩 환경을 만듭니다. 하드 드라이브에 C와는 다른 곳에 Py_World라는 작업 폴더를 만듭니다. 그리고 방금 만든 폴더를 VS-Code에서 추가합니다. 여기가 파이썬 작업 폴더가 되며, 그리고 Python 모드로 선택하고, 오픈 마켓 등에서 python 관련 필수 및 필요한 확장 패키지를 설치하고서, 제 영상에서와 같은 tasks.json 등의 설정을 합니다. 그리고 마지막에 Save As Workspace... 메뉴로 Py_Lang.code-workspace와 같은 파일명으로 "Py_World" 폴더에 저장해 둡니다.

- 그러면, 다음번에 VS-Code를 실행시킬 때, 직전에 작업했던 환경으로 열리게 되는데, 예를 들어 파이썬 환경으로 작업 폴더 및 워크스페이스 환경이 떴다면, 그대로 작업하거나, C/C++ 언어를 다루고자 할 때는 메뉴에서 "Open Workspace"를 클릭해서 C_World 폴더에 저장해 두었던 'C_Lang.code-workspace ' 파일을 열면, 모든 세팅이 C/C++ 언어를 개발할 수 있는 상태와 작업 폴더로 바뀌게 됩니다.

- 따라서 VS-Code내에서 폴더를 만들고 여는(추가하는) 것은 워크스페이스의 하위 개념도 아닌, 그냥 작업 폴더를 열거나 추가하는 수준이고, 때에 따라 해당 폴더에 tasks.json파일이 있을 경우 자동으로 설정이 반응하기도 합니다.

- 만약 위와 같은 형태로 하려 하는데 무언가 에러가 난다면 대부분 환경설정 부분이나 패스 같은 지정이 잘못되어 있는 경우가 많으니 천천히 살펴보세요. - 파이썬은 기본적으로 실행파일을 제공하지 않고, 도스 쉘과 같은 CMD 커맨드 라인이나, 터미널(콘솔 창)에서 C:\python Hello.py 와 같은 형태로 실행시킵니다. 또는 VS-Code 툴에 '실행 버튼 ▷'을 추가하여 실행시킬 수도 있습니다. C/C++도 마찬가지로 Ctrl+Alt+R 단축키 대신에 실행 버튼을 눌러 터미널 창으로 실행되도록 할 수 있습니다.  우선, 위에서 설명한  '코드 러너'(Code Runner)라는 툴 같은 것이 설치되어 있어야 하고, 약간의 설정만 해주면 됩니다.   
→ 디버깅 설정 안내 [시작 전 조건(상태) ] :
 위의 설명처럼, MingGW 설치 및, C/C++ 확장팩까지 설치되고, json 파일까지 설정된 상태로 해주세요.
1. Code Runner(코드 러너) 마켓플레이스에서 Code Runner를 검색 후 설치해주세요. 디버깅을 위한 툴로 사용됩니다.
2. VS-Code 상에서 (새) 폴더를 하나 추가해주세요. 또는 기존 C/C++작업 폴더, C/C++로 세팅한 워크 스페이스를 하나 만듭니다(Save As Workspace 함. 또는 영상의 더보기 클릭하면 워크스페이스 관련된 간단한 안내글 조금 있어요)
3. 디버깅 설정을 위해서는 간단한 테스트 파일(.C 또는. CPP)을 만듭니다. a=3; b=4; c= a+b; printf( .... 식의 변수를 사용해서 간단하게 디버깅을 확인해 볼 수 있는...
4. 컴파일러 설정하기 (c_cpp_properties.json) / launch.json 설정하기 / settings.json 설정하기 5. 만약 디버깅 설정 과정에서 task.json 파일의 내용이 디폴트 값으로 복귀되었다면, 제 영상에서와 같은 C/C++ 내용의 task.json 내용으로 다시 바꾸어 저장해 주세요.
 ※ 디버깅 설정 작업에서의 핵심은 디버깅 기능을 실행할 컴파일러의 경로 설정을 제대로 해주는 것이에요. 만약 에러가 난다면 경로 설정 부분이 맞지 않거나 옵션이 부족하거나 오타 나게 되면 주로 발생하니 차근차근 진행해 보세요. 그리고, 2. 번부터의 작업내용은 디테일하고 좀 복잡하기 때문에, 메뉴나 설정 옵션 같은 이미지를 보면서 하셔야 하기 때문에, 아래 링크를 하나 걸어드릴 테니, 천천히 보면서 해보세요. 제가 작성해 놓은 글은 없는데 링크 걸어드리는 내용이 제 영상의 설정과 맞아서 참고해 보시면 하실 수 있을 듯합니다. 참고로 링크해드리는 글에서는 C/C++확장팩 설치 및 일부 설정이 제 영상에서 이미 설정하신 게 있으므로, 중복으로 나와 있을 수 있으니, 이미 작업한 설정은 건너뛰고 추가로 안 해준 설정들만 해주시면 될 듯합니다. 참고 글 : https://miaow-miaow.tistory.com/126

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 또한 파이썬 코딩에서 C언어처럼 xxx.exe와 같은 실행파일이 필요한 경우, " Pyinstaller "와 같은 별도의 프로그램을 설치하면, exe파일을 만들 수 있고, 코드에 import 된 라이브러리를 따로 생성하지 않고 exe파일에 포함시키는 기능 같은 것도 제공합니다. - 마지막으로, 처음 VS-Code를 사용하려 할 때, 기본 코딩 툴의 뼈대만 설치된 상태이기 때문에 처음 사용자분들이 많이 당황하십니다. 그리고 Open 소스 방식이어서 필요한 기능이나 툴을 본인이 판단해서 설치하고 직접 세팅해야 하는 부분이 커서 처음부터 적응하기는 쉽지 않습니다. 하지만, 직접 이리저리 세팅해보고 시행착오를 좀 겪어보고 안정적인 세팅이 가능해지면, 이거 만큼 편리한 만능 툴은 없다고 생각됩니다. 그러니, 우선 직접 툴 자체를 이래저래 많이 만져 보면서 경험을 쌓으면 좋을 것 같습니다. VS-Code와 유사한 툴로 파이참(Pycham) 이나 아톰(Atom)과 같은 툴 들이 여럿 있고 꽤 나름의 유저층이 있습니다. 각각의 편리기능이 좀 다르고, 장단점과 지향점이 있겠으나 모두 괜찮은 툴들이며, 최근 VS-Code를 많이 사용하고 있는 추세인 것 같고 , 사용해보시길 권해드립니다.


마지막으로,  VS-Code를 설치하고 간단한 코드를 테스트해보는 과정에서,  각 개인별 환경에 따라 여러 가지 에러가 발생할 수 있는데요,   아래 관련 에러에 대한 추천할 만한 조치사항을 안내해 드리니 참고해서 시도해보시면, 대부분 해결될 것으로 기대합니다.  

 그럼 본 게시글이 조금이라도 도움되셨기를 바라며...   

《 에러 증상 해결 》
(에러 증상 1. ) 설치 과정 중에, cmd에 gcc -v 했는데 버전 체크가 안 되는 경우!

(해결 1→) 이 경우는, 윈도 환경변수 등록 부분의 경로 설정에 오타나 등록 에러, 또는 경로가 정확히 맞지 않아 발생하게 됩니다. 예를 들어, 콤머(,)를 점(.)으로, 또는 세미콜론(;)을 콜론(:)으로 하나만 잘못 입력되어도 경로를 인식 못합니다. 경로 설정(등록) 부분을 한 번 더 확인해보시고, 그리고 재부팅해야 추가된(변경한) 경로가 적용되니, 재부팅도 해보세요~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 2. ) 설치와 설정을 거의 대 끝내고, 간단한 코드로 실행을 시켰을 때, 터미널 창으로 아래와 같은 에러가 나는 경우입니다. """ cmd : 'cmd' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + cmd /C C:\Users\.... """ 와 같은 형태로 에러가 나는 경우,

(해결 2→) 우선 영상에서처럼 환경변수 등록을 제대로 되었는지? 확인해서 cmd ver 버전 확인이 제대로 되었다면, 그래서 경로 문제는 아닌 경우.... VS-code를 윈도에 처음 설치하게 되면, window의 경우 terminal이 기본으로 powershell로 설정되어 있을 거예요. VS-Code 화면 하단의 TERMINAL 창에 보면 , 오른쪽에 [ 1:powershell ] 로 선택되어 있을 텐데, 그걸 cmd로 변경하고 다시 해보세요. ( powershell 부분에서 Select Default Shell 선택 후, Command Prompt를 입력 및 선택하시면 되실 거예요 ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 3. ) """ 액세스가 거부되었습니다. 터미널 프로세스 "C:\Windows\System32\cmd.exe /d /c cmd /C C:\vscode_c\database"이(가) 종료되었습니다(종료 코드: 1). """ 이러한 오류코드가 뜨면서 실행이 종료되었을 경우!

(해결 3→) 현재의 증상은, 액세스 관련 문제는 대부분 윈도 보안 정책과 관련되어 있을 거에요. 처음 실행했을 때 파일 생성은 되었지만, 수정후 다시 실행 파일을 만들면서 덮어쓰려하니 액세스 거부하는 걸로 보여지는 증상인것 같아요. ※ VS-Code 터미널의 권한을 관리자 권한으로 실행되도록 아래 내용 처럼, 해보세요. 1. 바로 가기 또는 앱 / exe를 마우스 오른쪽 버튼으로 클릭 2. 속성으로 이동 3. 호환성 탭 4. "관리자 권한으로이 프로그램 실행"을 선택하세요. 그럼, VS-Code를 모두 닫고 다시 실행해서 확인해보세요. 만약, 그래도 같은 증상이 있다면, C코드 작성파일이 저장되는 위치(폴더)를 윈도우(보통 C:) 드라이브가 아닌 다른 드라이브(D:)나 혹은 윈도우 문서 폴더 등과 같은 권한 영향이 미치는 곳을 피해서 저장 및 작성해보세요. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 4. ) printf(); 에 한글 치면 인식 못하고 이상한 문자로 바뀌어서 출력되는데 어떻게 하면 해결할 수 있나요?

(해결 4→) VS-Code 한글 깨지는 현상 해결 하기 : Vs-code는 기본 설정 언어가 한글 인식이 안 되는 utf-8 코드로 되어 있어요. 이를 한글이 깨지지 않는 EUC-KR로 바꾸어 주시면 되는데요, 제일 빠른 방법은, vs-code 툴 제일 아래 파란 표시줄 보시면, 우측에 ' utf-8 '이라고 표시되어 있는 부분이 있을 텐데요, 그 부분을 클릭하면, 화면 상단 중앙에 메뉴가 뜹니다. 그럼, ReOpen Encoding... 옵션을 클릭해서 나타나는 메뉴 중 , ' Korean(EUC-KR) '을 클릭하면 됩니다. 그럼, 파란색 표시줄에 EUC-KR로 바뀌게 되는데요, 그런데, 기존 작성된 printf("ㅌㅌㅌㅌㅌ"); 코딩 부분의 한글은 아직 깨져 있는 상태 그대로 있을 텐데요, 저장 후 다시 로딩하면 한글이 제대로 뜹니다. 또는 Un-do 명령어인 이전으로 돌리기( Ctrl+Z ) 키 동시에 누른 후, 다시 앞으로 되돌리기 ( Ctrl+Y) 키 눌러보면, 깨지지 않은 채로 리로딩되어 있을 거예요. 한글 설정으로 바꾸는 다른 방법은, Vs-Code 툴의 좌측 아래에 보면 톱니바퀴 모양의 , 혹은 메뉴 중에 Settings(설정) 메뉴를 클릭 》 검색창에 "encoding" 입력 후, Files : Encoding 항목의 옵션을 ' Korean(EUC-KR) ' 로 바꾸면 되세요~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 5. ) 영상에서 설정한 빌드 단축키나 실행 단축키 관련해서 제대로 실행이 되지 않는 경우 : 혹은, ctrl+alt+c 를 했을 때 하나의 gcc.exe 활성 빌드밖에 없고 ctrl+alt+r은 실행이 되지 않는 경우 등 :

(해결 5→) VS-code 세팅 과정에서 특정 부분 셋업을 진행하다 보면, tasks.json 파일이나, 다른 설정 파일의 내용이 분명히 영상 따라 바꾸어 놓았지만, 다시 이상하게 일부분이 변경되는 경우가 생길 수 있습니다. 따라서, 작업 폴더에 생성해 놓았던 tasks.json 파일을 열어서 현재의 내용은 다시 모두 지우고, 본 영상의 더보기에 링크해드린 tasks.json 파일의 내용을 다시 붙여 넣기(저장) 해보세요. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 6. ) 만약, 모두 설치를 제대로 진행하고서, C언어로 연습 코딩을 하였을 때, 아래와 같은 에러 증상이 나는 경우입니다. @/include 오류가 검색되었습니다. includePath를 업데이트하세요. 이 변환 단위(D:\(폴더명)\VSC\HelloWorld.c)에는 물결선을 사용할 수 없습니다. 파일 소스을(를) 열 수 없습니다. "stdio.h" , 처럼 C언어 코드 자체가 인식이 안 된다고 느끼신 다면,

(해결 6→) 현재 VS-Code에 영상을 따라, C/C++ 언어와 같은 추가 패키지를 제대로 설치했을 경우로 가정하고 말씀드릴게요. VS-code 화면 하단에 보시면, 파란색 작업 표시줄 같은 것이 보일 거예요.(영어로, Status Bar라고 되어 있고요,
혹시 x를 눌러 닫아 버렸다면, VS_Code 상단의 View 메뉴로 가서 》 Appearance 》 'Show Status Bar'를 체크하면 됩니다.) 그래서, 하단 메뉴 표시 바에 보시면, C언어가 아닌, HTML이나, 다른 언어 같은 걸로 설정되어 있을 거예요. 거기 부분이 'C'로 표시되어 있어야, C언어 코드로 작동 됩니다. 만약 C 가 보이지 않는 다면, 다른 언어로 표시된 부분을 클릭 하시면, 화면 상단 중앙에 언어 선택하는 풀다운 메뉴가 뜰거에요. 그럼 거기서 C나 혹은 C++ 을 원한다면, 선택하시면, C언어 모드로 바뀌고 C언어로 코드해석이 잘 될 거에요. 그리고 만약, C 하다가 파이썬이나 다른 언어로 하단 메뉴를 눌러 바꾸면서 왔다 갔다 작업을 해야 한다면,
 VS-Code File 메뉴에 있는 "Save WorkSpace As..." 메뉴를 이용하시면 되는데요, 각 언어별로 저장해서 불러오기 형태로 활용하시면 가장 편리하게 멀티 언어 코딩 환경을 사용하실 수 있습니다.

(에러 증상 7. )  jsons 파일 변경해서 잘 먹던 단축키 (예를 들어, 빌드 : ctrl+ alt + C , 실행 : ctrl+ alt + R ) 가 어떤 설정 작업한 이후에 다시 실행이 안 되는 경우!

(해결 7→) jsons 파일은 워크스페이스를 새로 지정하거나, 마켓 프로그램을 추가 설치하거나 등의 작업에서 그 내용이 디폴트로 리셋 되는 경우가 종종 있습니다. 이럴 땐, 영상을 통해 이미 알려드린 jsons 파일의 내용을 다시 한번 복사 붙여 넣기 해서 저장하시면 잘 실행 될 거예요.

 

(에러 증상 8. ) 실행할 때 printf문 같은 것은 실행이되지만 scanf나 다른 변수를 같이쓰면 내부 또는 외부명령, 실행할 수 있는 프로그램, 또는 배치파일이 아니라는 에러 메시지를 띄우는 경우가 있습니다.  

(해결 8→) 이런 경우 별도로 설치된 Macafee safe와 같은 안티바이러스 혹은 방화벽 프로그램 같은 것 때문에, 제대로 동작이 안 될 수 있으니,  관련기능을 해제하거나, 옵션 변경 또는 프로그램을 언인스톨(삭제)해 보세요. 

 

(에러 증상 9. ) 한글 깨짐 문제 해결  (한글은 터미널창으로 출력결과가 깨지는 경우가 있고,  이해결을 위해 EUC-KR로 변경하였을 경우, 터미널 결과 출력에서 한글은 깨지지 않지만, 본문의 코딩되어 있던 한글이 깨지는 경우에 있어 해결방법입니다. 

1. EUC-KR로 바꾸고서 한글은 출력되는데, 본문에 코딩되어 있던 글이 깨져 나올 때는, EUC-KR로 바꾸고 바로 Ctrl+Z 키를 눌러주면, 본문에 깨진 한글이 다시 되돌아옵니다. 그리고 보통은 터미널에서도 잘 출력되구요.
2. UTF-8을 EUC-KR로 굳이 변경하지 않고도 한글 깨지는 문제를 해결 할 수 있는 방법도 있어요.
: [제어판 → 시계 및 국가 → 국가 또는 지역 → 관리자 옵션 → 시스템 로캘
변경 → Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용 ]을 해주면 한글 깨짐을 해결할 수 있습니다.

 

(에러 증상 10) cmd : 'cmd' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.

(해결 10→) 먼저, 아래 두 가지 부분을 살펴보세요.
1. 시스템 환경변수의 경로(Path) 등록 부분이 제대로 되었는지? 다시 한번 확인해 보세요.

2. vscode를 처음 설치하게 되면, 기본 터미널이 cmd가 아니라 Powershell로 되어 있는데, 그부분을 cmd로 바꾸어 주세요.
VS-Code 화면 하단의 TERMINAL 창에 보면 , 오른쪽에 [ 1:powershell ] 로 선택되어 있을텐데, 그걸 cmd로 변경하고 다시 해보세요.
( powershell 부분에서 Select Default Shell 선택 후, Command Prompt를 입력 및 선택하시면 되실거에요 )

 
[ 기타 자주 물어보는 질문 ]

질문 1)  컴파일을 c로 할지 c++할지 선택하는 과정을 없엘수는 없나요~

질문 2) 실행 버튼을 누르면 execute가 나온다음에 엔터를 쳐야 실행되는데 이것 또한 안나오게 할수는 없을까요?
답변 ① tasks.json 파일을 열어보면(VScode에서 바로 열어도 됩니다) 각 언어마다(C 와 C++) 아래와 같은 항목이 있을 거예요.
"group": "build",
그럼,  C나 C++ 둘 중에 주로 사용하는 언어의 이 부분을 주석 처리해 놓고, 아래와 같이 추가해 넣어 보세요.
 
"group": {
"kind": "build",
"isDefault": true
},
저장하고 vscode를 재 실행하면 이후로는 추가해 넣은 언어가 ctrl+alt+c 누를 때 선택창이 뜨지 않고 바로 빌드 될 거예요.
 
그럼, C언어든, C++이든 고정적으로 사용하는 언어로 지정해서 컴파일 하면 될거예요. 만약, 둘 다 섞어 쓰게 되는 경우라면, 보통 C언어 컴파일러인 gcc.exe는 C를 완벽하게 컴파일 하지만, C++은 컴파일을 모두 커버하지 못하는 부분이 있고,
반대로, C++ 컴파일러인 g++.exe는 C++과 C까지 모두 컴파일 하는 데는 크게 무리 없기 때문에, g++.exe 컴파일러를 지정해서 사용하면 될거예요.
-----------------------------------------------------------------------------------------------------------------------------
답변 ② 익스큐트 없이 바로 실행되게 하기 위해서는, 마찬가지로, 같은 tasks.json 파일을 열어서,
ctrl + F 찾기를 눌러 test 를 찾은 다음 아래와 같이 , 원래 있던 "group": "test" 부분은 주석 처리 해버리고, 아래 4줄을 추가해 주세요. 그리고 저장 후, 재실행 후 해보시면, ctrl + alt + r 키를 누르면 execute 가 뜨지 않고 바로 실행 될 거예요.
 
// "group": "test",
"group": {
"kind": "test",
"isDefault": true
},
 

 

< 위 질문과 반대의 질문에 대한 답변 : >

① 질문 :  ctrl+alt+c를 눌렀을때 c나 c++선택창이 뜨지 않고 그냥 컴파일이 되는데 뭐가 문제일까요?

② 답변 : 
안녕하세요~
중간에 어떤 다른 작업으로 인해 tasks.json의 내용 또는 일부가 변경되거나 지워지는 경우가 있습니다. 그럴때는 제공해드리는 tasks.json의 내용을 다시 복사 붙여넣기 하시면 대부분 해결 되실거에요.

그리고, 그렇게 해도 처음 몇 번은 목록이 뜨다 다시 안 뜨는 경우가 생길 수 있는데요,
① tasks.json 파일을 열어보면(VScode에서 바로 열어도 됩니다) 각 언어마다(C 와 C++) 아래와 같은 항목이 있을 거예요. "group": { "kind": "build", "isDefault": true },
이 부분은 해당 컴파일러를 디폴트로 설정해 버려 , 목록 없이 바로 컴파일 되도록 해버립니다.
그래서, 우선 이 부분 4줄을 주석 처리 해 놓고, 아래의 한 줄을 새로 입력해 보세요.
"group": "build", (C 영역 또는 C++ 영역 둘 다 이렇게 되어 있으면 됩니다)
그리고, 저장하고 vscode를 재 실행하면 이후로는 ctrl+alt+c 누를 때 선택창이 뜰거에요.
그런데, 이후로는 목록이 두 개가 아니라 4~5개 이상 뜨게 되는데요, 이유는 vs-code 또는 윈도에서 기본 제공하는 clang 이라는 컴파일러가 감지 되면서 목록에 함께 뜨는 것으로 보이는데요. 어째튼 그 것들 중에서 원하는 것으로 선택해서 컴파일 하면 됩니다.
음... 일단 앞으로 계속 사용해 보시면, 오히려 목록이 뜨는 게 별 의미 없고 번거로우실 거에요. 그럴 때는 위에서 조치한 것을 다시 반대로 돌려놓으면 됩니다.
만약 그렇게 하겠다면, C언어든, C++이든 고정적으로 사용하는 언어로 지정해서 컴파일 하면 될거예요. 만약, 둘 다 섞어 쓰게 되는 경우라면, 보통 C언어 컴파일러인 gcc.exe는 C를 완벽하게 컴파일 하지만, gcc.exe로는 C++의 컴파일을 모두 커버하지 못하는 부분이 있고, 반대로, C++ 컴파일러인 g++.exe는 C++과 C까지 모두 컴파일 하는 데는 크게 무리 없기 때문에, 보통은 g++.exe 컴파일러를 디폴트로 지정해서 사용하면 될거예요.
-----------------------------------------------------------------------------------------------------------------------------
그리고 추가로 실행 단축키도(ctrl + alt + r ) execute 글자를 별도로 선택하지 않고 지정한 컴파일러로 바로 실행 시킬 수 있는데요, 바로 실행되게 하기 위해서는, 마찬가지로, 같은 tasks.json 파일을 열어서, ctrl + F 찾기를 눌러 test 를 찾은 다음 아래와 같이 , 원래 있던 "group": "test" 부분은 주석 처리 해버리고, 아래 4줄을 추가해 주세요. 그리고 저장 후, 재실행 후 해보시면, ctrl + alt + r 키를 누르면 execute 가 뜨지 않고 바로 실행 될 거예요.
// "group": "test",
   "group": {
   "kind": "test",
   "isDefault": true
   },

 

 

 
※ 추가적으로 좀더 상세히 설치하고 설정하는 영상(아래 링크)을 다시 만든 게 있는데, 이부분을 참고해보세요. powershell → cmd 로 변경하는 부분도 설명되어 있어요.
 


감사합니다~  오늘도 힘내시고, 좋은 하루 보내세요~  ^^;

 

반응형