-
WSL에 대해 알아보다가 VS Code에 연결해서 사용하면 어떨까 하여 적용해본 과정을 기록해봅니다.
1. WSL2 설치
우선 WSL(Windows Subsystem for Linux)을 설치해보겠습니다.
먼저 마이크로소프트 스토어에서 윈도우 터미널을 설치합니다.
설치가 완료되면 관리자 권한으로 실행합니다.
Linux 배포를 설치하기 전에 Linux용 Windows 하위 시스템 옵션과 Virtual Machine 플랫폼 옵션 기능을 사용하도록 설정해야 합니다.
아래 명령어를 실행해주시면 됩니다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
완료되면 컴퓨터를 재부팅합니다.
다시 터미널을 열고 wsl을 입력해봅니다.
설치된 배포가 없다고 합니다. 그 아래에 있는 주소에 접속하면 마이크로소프트 스토어에서 설치할 수 있는 배포 목록 페이지로 이동합니다.
저는 우분투 배포판을 설치하겠습니다.
설치가 완료되면 자동으로 우분투 터미널이 실행되거나 시작하라는 알림이 뜹니다.
실행을 하여 리눅스 사용자 계정과 암호를 설정해줍니다.
리눅스 사용자 계정과 암호에 대한 자세한 내용은 이곳에서 확인할 수 있습니다.
계정 설정까지 마쳤으면 Windows 터미널에서
wsl -l
명령어를 입력해봅니다.이제 WSL2로 설정하기 전에 리눅스 커널 업데이트 패키지를 다운로드합니다.
x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지 다운로드패키지를 다운로드하고 실행하여 설치를 진행합니다.
설치가 완료되면 이제 WSL 2를 기본 버전으로 설정하겠습니다.
위에서 설치한 우분투 배포판과 앞으로 새 배포판을 설치할 때 WSL 2를 기본 버전으로 설정하기 위한 명령어를 실행해줍니다.
wsl --set-default-version 2 wsl --set-version Ubuntu 2
이제 WSL 2에서 우분투를 시작할 수 있습니다.
명령어에 대해 궁금하시다면
wsl --help
를 입력해보세요.
2. VS Code 설정
먼저 VS Code를 실행합니다.
그럼 우측 하단에 Remote-WSL extension을 설치할 것을 권하는 알림이 뜹니다.
만약 알림이 뜨지 않는다면 Remote - WSL을 검색하여 설치해줍니다.
그리고 C/C++ 확장도 설치해줍니다.
이제 우분투 터미널을 열고 우분투 패키지를 업데이트합니다.
sudo apt-get update
sudo 명령어는 관리자 계정으로 실행할 수 있으며, 비밀번호를 입력하면 업데이트를 진행합니다.
그리고나서 다음 명령어로 GNU 컴파일러와 GDB 디버거를 설치합니다.
sudo apt-get install build-essential gdb
설치 중간에 계속 진행하겠냐고 물어봅니다. y를 입력하여 계속 진행합니다.
설치가 완료되면 다음 명령어를 입력해봅니다.
whereis g++ whereis gdb
이제 폴더를 생성하고 우분투에서 VS Code를 실행해보겠습니다.
저는 알고리즘 공부를 하기 위한 디렉토리를 만들었습니다.
mkdir algorithm cd algorithm/ mkdir CppProjects cd CppProjects/ code .
마지막 줄
code .
을 입력하면 현재 디렉토리에서 VS Code가 실행됩니다.hi.cpp 파일을 만들어서 예제를 입력합니다.
#include <iostream> #include <vector> #include <string> using namespace std; int main() { vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"}; for (const string& word : msg) { cout << word << " "; } cout << endl; }
저장을 하고나서 빌드를 하기 위한
task.json
파일을 만듭니다.ctrl+shift+p
를 눌러 C/C++이라고 입력하거나, 상단에 있는 Terminal -> Configure Default Build Task를 누르면 파일 리스트가 나타납니다.선택을 하면 왼쪽에
.vscode
폴더 아래에task.json
이 생성된 것을 확인할 수 있습니다.task.json
파일은 다음과 같습니다.{ "version": "2.0.0", "tasks": [ { "type": "shell", "label": "g++ build active file", "command": "/usr/bin/g++", "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"], "options": { "cwd": "/usr/bin" }, "problemMatcher": ["$gcc"], "group": { "kind": "build", "isDefault": true } } ] }
이제
hi.cpp
에서ctrl+shift+b
를 눌러 실행해봅니다.터미널창에서터미널 창에서 빌드가 성공한 것을 확인할 수 있습니다. 터미널 창에서 엔터를 누른 후 다시 터미널을 열어서 우분투에서 실행할 수 있습니다.
이제 디버깅을 하기위한
launch.json
파일을 생성합니다.F5
를 누르면 상단에C++ (GDB/LLDB)
와 기타 등등이 뜹니다.C++ (GDB/LLDB)
를 선택해줍니다.그럼 이제 여러 파일이 나타날 텐데,
g++ - Build and debug active file
을 선택합니다.task.json
파일처럼.vscode
폴더 아래에launch.json
파일이 생성됩니다.launch.json
파일의 내용은 다음과 같습니다.{ "version": "0.2.0", "configurations": [ { "name": "g++ build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "g++ build active file", "miDebuggerPath": "/usr/bin/gdb" } ] }
8번 라인에 중단점을 찍고
F5
를 눌러 디버깅을 시작합니다.F10
을 누르면 다음 상태로 넘어갑니다.
여기까지 WSL 설치부터 C++컴파일/디버깅 환경설정까지 마쳤습니다.
- 참고한 곳
- https://docs.microsoft.com/ko-kr/windows/wsl/install-win10
- https://docs.microsoft.com/ko-kr/windows/wsl/user-support
- https://www.44bits.io/ko/post/wsl2-install-and-basic-usage
- https://code.visualstudio.com/docs/cpp/config-wsl
- https://blog.jiktong.kr/entry/vs-code%EC%97%90%EC%84%9C-cc-%EC%BB%B4%ED%8C%8C%EC%9D%BC
댓글
- 참고한 곳