나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2026-01-03 07:19:39

Codespace


[[GitHub|
파일:GitHub 아이콘 화이트.svg파일:GitHub 로고 화이트.svg
]]
{{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
<colbgcolor=#000,#000><colcolor=#fff,#fff> 관련 인물 톰 프레스턴 워너
서비스 저장소 · GitHub Pages · GitHub Action · GitHub Packages · Codespace(github.dev) · GitHub Wiki · GitHub Gist · GitHub Copilot
클라이언트 GitHub CLI · GitHub Desktop · GitHub Mobile
오픈 소스 Electron(Atom) · Linguist · Semantic · Tree-sitter
관련 문서 사건 사고 · GitHub Universe · One Dark · npm
}}}}}}}}} ||
1. 개요2. 구조3. 특징4. 지원 에디터5. github.dev6. 관련 문서

1. 개요

GitHub이 제공하는 Visual Studio Code 기반 클라우드 서비스로, GitHub 저장소 내의 코드를 편집할 수 있는 개발환경을 클라우드에 구성해 웹 vscode, 로컬 vscode, JupyterLab 등 다양한 클라이언트에서 원격으로 접속할 수 있는 가상 통합 개발 환경이다.

2. 구조

파일:codespaces-diagram.webp

기본적으로 GitHub의 클라우드에 원격으로 호스팅되는 형태로, 코드스페이스를 생성할 때마다 GitHub 쪽에서 주어진 스펙(코어, 메모리 등)에 맞는 VM을 생성한다. 이 때 사용되는 운영체제는 무조건 Linux로 고정되며, WindowsmacOS 등 다른 운영체제 VM은 지원되지 않는다.[1] VM 쪽 이미지는 stable과 beta의 두 가지 채널이 있는데, 개인 설정 /settings/codespaces의 Host image version preference섹션에서 기본으로 사용할 채널을 설정할 수 있다.# 현재 채널별 VM 이미지 정보는 GitHub이 공개하는 codespaces-host-images 저장소를 확인하면 좋다. 2026년 현재 Ubuntu LTS를 기반으로 하고 있다.

이후 해당 VM 위에서 Docker 컨테이너를 띄우는데, 저장소에 devcontainer.json을 커밋했다면 이를 기반으로 devcontainer를 구성한다. 이후 해당 컨테이너 안에서 작업할 저장소 소스 코드를 git clone해 준비한다. 나중에 개별 확장이나 언어 서버 등도 전부 로컬이 아닌 이 컨테이너에서 원격으로 실행된다.

클라우드 쪽 빌드가 끝나고 나면 브라우저나 vscode 등 에디터 쪽에서 생성된 해당 컨테이너에 접속하는 구조이다. 터미널을 열었을 때 attach되는 환경이 바로 이 컨테이너 안이다.

3. 특징

기본적으로 각 저장소의 '<> Code' 버튼을 눌러 생성할 수 있다. 과거엔 최소 Team 이상의 요금제가 필요했지만, 요즘엔 무료 사용자도 생성할 수 있다.

웬만한 확장은 그대로 사용할 수 있다. setting sync도 그대로 동작하며 연결된 깃헙 계정으로 동기화를 해두었다면 활성화만 시키면 설정과 확장이 그대로 불러와진다.

github.com/codespaces에서 현재 생성한 코드스페이스 목록을 확인할 수 있다.

4. 지원 에디터

코드스페이스를 '브라우저에서만 동작하는 vscode' 정도로 생각하기 쉽지만, 근본적인 아키텍처는 원격 개발환경이기 때문에 클라우드에 코드스페이스를 생성했다면 로컬에 설치된 Visual Studio Code 등 웹 vscode 이외의 클라이언트를 사용해서도 접속할 수 있다. 서버-클라이언트 구조를 떠올리면 좋다.

기본적으로 웹 vscode를 에디터로 사용한다. 개인 설정 /settings/codespaces페이지의 Editor preference 섹션에서 기본으로 열 코드스페이스 에디터를 설정할 수 있다.#

5. github.dev

100% 완전히 로컬 브라우저에서 동작하는 구현으로, GitHub쪽의 클라우드에 VM을 생성하고 거기에 접속하는 Codespace와 달리, GitHub 쪽 클라우드의 어떠한 컴퓨팅 자원도 소모하지 않는다. 때문에 요금제와 무관하게 시간 제한 없이 완전 무료로 사용할 수 있다. 단, 사용에 로그인은 필요하다.

여는 방법은 저장소 페이지에서 단축키.을 누르거나 브라우저 주소창에 대고 .com.dev로 바꾸면 된다. 가령 저장소가 namuwiki/sefirot이라면 https://github.dev/namuwiki/sefirot으로 들어가면 되는 식.

Codespace와 다르게 저장소를 클론하는 것이 아니라 GitHub Repositories확장을 기본으로 내장하고 이를 통해 저장소를 열고 편집한다. 때문에 파일 트리를 보면 [Codespace:]가 아니라 [GitHub:]이 붙어있는 것을 볼 수 있다. VM에 파일이 임시저장 되는 코드스페이스와 다르게 완전 로컬이라 커밋을 하지 않으면 내용이 날아갈 수 있다.

VM이 없기 때문에 기본적인 파일 편집을 제외한 상당수의 기능이 제한된다. 우선 명령을 실행할 VM이 없기 때문에 터미널도 돌아가지 않고, LSP 돌릴 곳도 없기 때문에 편집 경험도 상당히 저하된다. 비슷하게 디버거도 돌릴 수 없다. 터미널 창이나 디버거 창을 열면 Codespace로 전환하라는 안내 버튼만 뜬다. 확장 또한 전부 지원되는 것이 아니라 Web Extension을 지원하도록 개발된 확장만 사용할 수 있다.

6. 관련 문서


[1] Regardless of your local operating system, your codespace will run in a Linux environment. Windows and macOS are not supported operating systems for the remote development container. #