VS Code와 WSL 연결해서 쓰기

WSL 안의 리눅스 파일을 윈도우의 VS Code로 직접 편집하는 방법입니다. WSL 확장의 원리, code . 로 폴더 열기, 원격 연결 표시 확인, 확장이 WSL 쪽에 설치되는 개념까지 정리했습니다.

왜 필요한가 · WSL에서 작업하다 보면 터미널 편집기는 익숙하지 않은데, 윈도우 에디터로 리눅스 파일을 편하게 다루고 싶은 순간이 옵니다.

누구에게 · WSL을 설치해 우분투를 쓰고 있고, 윈도우의 VS Code도 함께 쓰고 싶은 입문자

읽고 나면 · VS Code에서 WSL 환경에 연결해 리눅스 파일을 편집하고, 원격 연결 표시를 확인하며, 통합 터미널과 code . 명령을 활용할 수 있습니다.

핵심 요약

  • WSL 확장을 설치하면 VS Code가 리눅스 환경에 직접 연결되어 리눅스 파일을 편집할 수 있습니다.
  • WSL 터미널에서 code . 를 실행하면 현재 폴더가 VS Code 창으로 열립니다.
  • VS Code 창 왼쪽 아래의 원격 연결 표시로 지금 WSL에 연결됐는지 확인할 수 있습니다.
  • 작업 파일은 윈도우 경로가 아니라 리눅스 홈 안에 두는 것이 속도와 호환성 면에서 유리합니다.

WSL로 우분투를 켜고 나면 곧 한 가지 고민이 생깁니다. 코드를 어떻게 편집하지? 터미널 안의 편집기에 익숙하지 않다면, 평소 쓰던 윈도우 에디터로 리눅스 파일을 다룰 수 있으면 좋겠다는 생각이 들기 마련입니다. VS Code와 WSL을 연결하면 바로 그 일이 가능합니다. 리눅스 안의 파일을 윈도우의 VS Code 창에서 그대로 열고 고칠 수 있습니다.

이 글에서는 그 연결이 어떤 원리인지 짚고, 실제로 어떻게 이어 쓰는지, 그리고 입문자가 놓치기 쉬운 “어디에 파일을 둘 것인가”와 “확장이 어느 쪽에 설치되는가”까지 살펴봅니다.

어떤 방식으로 연결되는가

핵심은 VS Code가 “리눅스 쪽에 발을 들여놓는다”는 점입니다. VS Code 본체(화면)는 윈도우에서 돌아가지만, 파일을 읽고 명령을 실행하는 부분은 WSL의 리눅스 환경에서 동작합니다. 그래서 윈도우의 익숙한 화면을 쓰면서도, 다루는 대상은 리눅스 파일이 됩니다.

  • 에디터 화면: 윈도우의 VS Code
  • 파일과 명령 실행: WSL 안의 리눅스
  • 둘을 이어 주는 다리: WSL 확장

이 구조 덕분에 윈도우의 보기 좋은 편집 환경과 리눅스의 실제 작업 환경을 동시에 누릴 수 있습니다.

WSL 확장이라는 다리

이 연결을 담당하는 것이 VS Code의 WSL 확장입니다. 확장은 VS Code 안의 확장 탭에서 검색해 설치할 수 있고, 한 번 설치해 두면 이후로는 WSL 환경에 손쉽게 연결할 수 있습니다. 확장을 통해 연결하면 VS Code 창 한쪽에 현재 어떤 환경에 연결되어 있는지가 표시됩니다.

✍️ 운영자 한마디

처음엔 윈도우 쪽 에디터로 리눅스 파일을 열어 편집했는데 뭔가 자꾸 어긋났습니다. WSL에 직접 연결해 code . 로 여는 방식을 알고 나서야 깔끔해졌습니다.

code . 명령으로 폴더 열기

가장 자주 쓰는 흐름은 WSL 터미널에서 직접 VS Code를 여는 것입니다. 작업할 폴더로 이동한 뒤 아래 명령을 실행합니다.

code .

여기서 .은 “현재 폴더”를 뜻합니다. 이 명령을 실행하면 지금 위치한 리눅스 폴더가 VS Code 창으로 열리고, 그 창은 자동으로 WSL 환경에 연결된 상태가 됩니다. 특정 파일만 열고 싶다면 점 대신 파일 이름을 적으면 됩니다.

code 파일이름.txt

원격 연결 표시 확인하기

VS Code가 지금 WSL에 연결되어 있는지는 창 왼쪽 아래 구석의 표시로 확인할 수 있습니다. 여기에 “WSL”과 배포판 이름 같은 안내가 보이면, 지금 다루는 파일이 리눅스 쪽 파일이라는 뜻입니다.

이 표시를 확인하는 습관이 중요한 이유가 있습니다. 윈도우 파일을 편집하는 창과 리눅스 파일을 편집하는 창은 겉모습이 거의 같아서, 표시를 보지 않으면 지금 어느 쪽을 고치고 있는지 헷갈리기 쉽기 때문입니다.

리눅스 홈에서 작업해야 하는 이유

VS Code에서는 윈도우 폴더도 열 수 있지만, WSL로 본격적인 작업을 한다면 파일을 리눅스 홈 디렉터리 안에 두는 편이 좋습니다. WSL에서는 윈도우 쪽 폴더에 접근할 때 두 운영체제 사이를 오가는 비용이 생겨, 파일이 많아지면 눈에 띄게 느려질 수 있습니다. 반면 리눅스 홈 안의 파일은 리눅스가 자기 영역에서 바로 다루므로 빠르고 호환성 문제도 적습니다.

정리하면, 프로젝트 폴더는 리눅스 홈 아래에 만들고 그 안에서 code . 로 여는 흐름을 기본으로 삼는 것이 좋습니다.

확장은 어느 쪽에 설치되는가

WSL에 연결한 뒤 확장을 설치하다 보면, 어떤 확장은 “WSL에 설치”하라는 안내가 나옵니다. 이는 그 확장이 화면만 꾸미는 게 아니라 파일이나 명령을 직접 다루기 때문입니다.

  • 테마처럼 화면에만 관여하는 확장: 윈도우 쪽에서 동작
  • 언어 도구·포매터처럼 파일과 명령을 다루는 확장: WSL(리눅스) 쪽에 설치해야 제대로 동작

VS Code가 이 구분을 안내해 주므로, 안내에 따라 WSL 쪽에 설치하면 됩니다. 같은 확장을 환경마다 따로 관리한다고 생각하면 이해하기 쉽습니다.

통합 터미널 함께 쓰기

VS Code 안에는 터미널이 내장되어 있습니다. WSL에 연결된 상태에서 이 통합 터미널을 열면, 그 터미널은 리눅스 셸로 이어집니다. 즉 편집은 위쪽 에디터에서, 명령 실행은 아래쪽 터미널에서 한 화면 안에 처리할 수 있습니다. 파일을 고치고 바로 명령을 돌려 보는 과정을 창을 오갈 필요 없이 진행할 수 있어 작업 흐름이 한결 매끄러워집니다.

초보자가 자주 막히는 부분

  • 리눅스에 또 에디터를 설치하려 함 — VS Code는 윈도우에 한 번만 깔면 되고, WSL 확장이 연결을 맡습니다.
  • 연결 상태를 확인하지 않음 — 왼쪽 아래 원격 연결 표시를 보지 않으면, 윈도우 파일을 다루는지 리눅스 파일을 다루는지 헷갈릴 수 있습니다.
  • 윈도우 폴더에 프로젝트를 둠 — 파일이 많아지면 느려질 수 있어, 리눅스 홈 안에 두는 편이 좋습니다.
  • 확장이 안 먹는다고 오해 — 파일·명령을 다루는 확장은 WSL 쪽에 설치해야 동작합니다. 안내를 따라 설치하세요.
  • code 명령이 처음에 인식되지 않음 — 연동이 자리 잡기 전에는 명령이 안 먹을 수 있어, VS Code로 한 번 WSL에 연결한 뒤 다시 시도하면 도움이 됩니다.

연결 점검 체크리스트

  • 윈도우에 VS Code가 설치되어 있다
  • VS Code에 WSL 확장을 설치했다
  • WSL 터미널에서 code . 로 폴더를 열어 봤다
  • 창 왼쪽 아래에서 WSL 원격 연결 표시를 확인했다
  • 프로젝트 파일을 리눅스 홈 안에 두었다
  • VS Code 통합 터미널이 리눅스 셸로 연결되는 것을 확인했다

정리

VS Code와 WSL을 연결하면 윈도우의 익숙한 편집 환경과 리눅스 작업 환경을 한자리에서 누릴 수 있습니다. WSL 확장을 다리로 삼고, code . 한 줄로 폴더를 열고, 왼쪽 아래 연결 표시를 확인하며, 통합 터미널에서 명령까지 처리하는 흐름만 익히면 됩니다. 파일은 리눅스 홈 안에 두고, 확장은 안내에 따라 WSL 쪽에 설치한다는 두 가지 원칙만 기억하면 혼선을 크게 줄일 수 있습니다. 환경과 버전에 따라 세부 화면은 조금씩 다를 수 있으니, 연결 상태 표시를 늘 한 번씩 확인하는 습관을 들이세요.

자주 묻는 질문

WSL 안에서 윈도우용 VS Code를 또 설치해야 하나요?
아니요. VS Code는 윈도우에 한 번만 설치하면 됩니다. WSL 확장을 통해 그 VS Code가 리눅스 환경에 연결되는 방식이라, 리눅스 안에 별도로 에디터를 깔 필요는 없습니다.
code . 명령이 동작하지 않으면 어떻게 하나요?
보통 윈도우의 VS Code와 WSL 연동이 처음 한 번 자리 잡히면 code 명령을 WSL 터미널에서 쓸 수 있게 됩니다. 명령이 인식되지 않으면 VS Code를 통해 한 번 WSL에 연결해 본 뒤 다시 시도하거나, 터미널을 새로 열어 보는 것이 도움이 될 수 있습니다.
확장은 윈도우 쪽에 까는 건가요, 리눅스 쪽에 까는 건가요?
둘 다 있습니다. UI 테마처럼 화면에만 관여하는 확장은 윈도우 쪽에서 동작하고, 언어 도구나 포매터처럼 파일·명령을 직접 다루는 확장은 WSL(리눅스) 쪽에 설치해야 제대로 동작합니다. VS Code가 이를 구분해 안내해 줍니다.

이 글은 입문자 기준으로 이해하기 쉽게 정리했으며, 내용은 운영 과정에서 순차적으로 보완될 수 있습니다. 환경에 따라 화면이나 명령이 다르게 보일 수 있으니, 막히는 부분이 있으면 isense2021@gmail.com 로 알려주세요.