0. WSL에 컴파일러 설치
WSL 컴파일러는 윈도우즈 컴파일러와 다르다. 그러므로 윈도우즈에 이미 컴파일러가 있더라도, WSL에 별도의 컴파일러를 설치해야 한다. 혹시 WSL 우분투를 방금 막 설치했다면 업데이트를 해서 패키지를 다운받을 곳을 최신화 하자. 그렇지 않으면 종종 실패한다.
sudo apt-get update
0.1. 컴파일러 설치
gcc를 설치하려면 아래 명령행을 입력한다.
sudo apt-get install gcc
용량이 이만큼 들고, 어쩌고 저쩌고 하고 묻는데, y를 눌러 설치를 시작한다.
다른 컴파일러도 같은 방법으로 설치하면 된다.
0.2. make 설치
sudo apt-get install make
1. VS Code에 WSL 익스텐션 설치
WSL을 설치한 후에 Visual Studio Code를 실행하면, "WSL이 설치되었는데, 익스텐션(extension, 확장)을 설치할 것인지" 묻는 창이 뜬다. install을 눌러서 설치한다.
또는 익스텐션 탭에서 wsl을 검색하여 Remote-WSL을 찾아서 설치하면 된다.
설치하고나면 좌측 하단에 ><모양의 초록색 버튼이 생긴다. 이건 원격접속과 관련된 것이다.
리눅스와 윈도우즈의 커널은 서로 다르고, 파일시스템도 다르다. 따라서 윈도우즈에서 리눅스의 바이너리나 파일을 이용하려면 통역 같은 것이 필요한데, WSL이 그 역할을 돕는 것이고, 이 확장은 로컬에 설치된 리눅스의 영역에 접근할 수 있게 돕는다. 즉 리눅스 영역은 서버, VS Code는 클라이언트 역할을 한다.
원격 WSL 익스텐션 안에서는 셸도 WSL의 bash를 기본으로 사용하고, 컴파일러도 WSL의 컴파일러를 사용한다.
2. 실행하기
2.1. WSL 실행
win + r 단축키로 실행창을 띄우고, wsl을 실행한다.
2.2. 작업 디렉토리 열기
작업 디렉토리에 들어간 후 "code ."을 입력한다. '.'은 현재 디렉토리를 의미한다.
좌측 하단이 바뀐 것을 볼 수 있다.
2.x. 다른 방법
좌측 하단의 초록색 ><같은 것을 누르고,
"Remote-WSL: Open Folder in WSL..."을 눌러서 직접 폴더를 열어도 된다.
3. 각종 익스텐션 설치
3.1. 인텔리센스(IntelliSense)
C/C++로 개발한다면 강력 추천.
헤더파일에서 함수 프로토타입을 찾아서 보여주기도 하고, 각종 자동완성도 지원한다. 내가 직접 작성한 함수는 물론, 시스템콜 함수의 원형도 찾아서 보여준다. ctrl을 누른채로 함수를 클릭하면 해당 코드가 구현된 곳으로 이동한다.
3.2. Output 메시지 트러블 슈팅
혹시, Output에서
for c source files, intellisensemode was changed from "gcc-x64" to "clang-x64" based on compiler args and probing compilerpath: "/usr/bin/clang"
같은 메시지가 나타난다면
1) 설정에서 intellisense mode를 검색
2) remote [WSL: Ubuntu-xx.xx]를 선택한다. (기본은 User가 선택되어 있다)
3) "C_Cpp › Default: Intelli Sense Mode" 항목을 원하는 컴파일러로 바꿔준다.
4. 단축키
맥에서 i-term을 쓰면서 단축키로 터미널을 왔다갔다 하고, 화면을 멋지게 분할하다보면 i-term의 뽕맛을 잊을 수 없다. 그래서 간간히 곧죽어도 i-term + vim이 최고라는 사람들을 만나곤 하는데... 취향차이니까 그러려니 하지만, VSC에서도 그런 뽕맛을 느낄 수 있다는 것을 꼭 알려주고 싶다.
4.1. 추천하는 커스텀 단축키
기본으로 설정되지 않아서 의아한 것 중 하나가, 터미널로 커서 포커스를 옮기고 터미널에서 다시 편집기로 포커스를 옮기는 단축키가 따로 없다는 것이다. 그렇다고 할 수 없는 것은 아니고, 그냥 등록이 안 돼 있을 뿐이다. 추가하면 된다.
단축키는 더블클릭해서 변경하면 된다.
Change When Expression(식인 경우)는 말 그대로 키를 알아채고 명령을 적용하는 조건이다. 우클릭 해서 "Change When Expression"을 클릭해서 변경해도 되고, ctrl + k, ctrl + e로 변경할 수도 있다.
1) Terminal: Focus Terminal
keybinding(단축키): 원하는 키
When(식인 경우): !terminalFocus
2) view: Focus Active Editor Group
keybinding(단축키): 원하는 키
When(식인 경우 변경): terminalFocus
이렇게 하면 "터미널 포커스"와 "에디터 포커스"를 같은 키로 둬도 잘 작동한다. 나는 ctrl + ' 로 쓰고 있다.
4.2. 기본 단축키
단축키 변경창 : ctrl + k , ctrl + s (ctrl 누른채 k 누르고, k 떼고 s 누르기)
편집기 창 이동 : alt + ctrl + 화살표 좌우
편집기 포커스 이동 : ctrl + page up/down
줄 위/아래로 이동 : alt + 화살표 상하 (윗줄과 아랫줄이 서로 바뀌고, 커서는 바뀐 곳으로 따라간다.)
커서 추가 : alt + ctrl + 화상표 상하 (커서가 여러 개가 된다.)
줄 주석 설정/해제: ctrl + / (여러 줄을 스크롤 한 상태에서 하면 모두 한줄 주석처리 된다.)
블록 주석 설정/해제: alt + shift + a
일치하는 항목 찾기 : ctrl + d (단어에 커서를 두고 단축키를 누르면 단어가 선택되고, 한 번 더 누르면 커서가 추가되면서 다른 곳에 있는 같은 단어를 선택한다. 꾹 누르고 있으면 전부 선택된다.)
줄 삭제 : ctrl + shift + k
단축키는 정말 정말 많다. 기본으로 설정된 것만 해도 650개 이상 된다. 그리고 아직 설정되지 않은 것도 그 만큼 더 있다. 단축키를 모두 외우는 것은 말도 안 되고, 여러 사람들이 추천하는 것을 골라서 외우는 것이 좋다.
끝.
'컴퓨터 > Linux' 카테고리의 다른 글
WSL2 설치 방법 (0) | 2021.01.02 |
---|