Ubuntu에서 VS Code를 진짜 ‘가볍게’ 쓰는 확장·설정 모음

Ubuntu에서 개발 환경을 꾸밀 때 VS Code를 선택하는 경우가 많습니다. 저도 지난 5년 동안 거의 매일 VS Code를 열어 쓰고 있는데, 플러그인을 조금만 욕심내기 시작하면 금방 무거워지고 팬이 계속 도는 상황이 되곤 했습니다. 이 글은 “VS Code를 최대한 가볍게 유지하면서도 필요한 기능은 챙기는 쪽”에 초점을 맞춰 정리한 내용입니다. 거창한 튜닝이라기보다는, 제가 실제로 써보고 계속 유지하게 된 확장과 설정 위주입니다.

VS Code가 무거워지는 지점부터 정리하기

VS Code 자체는 비교적 가벼운 편이지만, 아래 세 가지가 겹치면 체감이 확 무거워졌습니다.

  • 큰 프로젝트(특히 많은 파일, Node 기반 프론트엔드 프로젝트)
  • 확장(Extensions)을 여러 개 동시에 켜 둔 상태
  • 자동 분석·인덱싱을 많이 하는 언어 서버

실제로 느낀 건 “에디터가 무겁다”기보다, 확장과 백그라운드 작업이 무거워지는 경우가 대부분이라는 점이었습니다. 그래서 저는 VS Code를 가볍게 만든다기보다, “내가 쓰는 기능만 남기고 나머지를 비워낸다”는 쪽으로 생각을 바꿨습니다.

항상 설치해 두는 최소 확장 세트

프로젝트마다 쓰는 확장은 달라지지만, 어떤 언어를 쓰든 거의 항상 설치해 두는 “최소 세트”가 있습니다. 개별 확장 이름은 여기서 굳이 하나하나 언급하지 않고, 어떤 역할의 확장을 어떻게 고르는지 기준만 정리해 보겠습니다.

  • 언어 지원: 실제로 쓰는 언어에 필요한 확장만 설치합니다. 예를 들어 Python을 쓴다면 Python 관련 확장 하나, JavaScript/TypeScript라면 그쪽 기본 확장만 두고, 굳이 쓰지 않는 언어(Go, Rust, PHP 등)는 확장을 설치하지 않습니다.
  • 테마·아이콘: 테마는 한 가지, 아이콘 테마도 한 가지로 정합니다. 여러 개 설치해 두면 계속 바꿔 보게 되고, 일부 테마는 자체 코드 하이라이트 규칙 때문에 에디터가 더 어수선해질 때도 있었습니다.
  • Git·Diff 보조: 기본 Git 기능으로 충분한 경우가 많지만, 그래도 하나 정도는 시각적인 diff 도구를 씁니다. 다만 이쪽도 여러 개를 깔지 않고 한 개만 유지했습니다.

핵심은 “일단 최소 구성으로 시작한 다음, 부족하다고 느끼는 순간에만 확장을 하나씩 추가한다”는 흐름입니다. 처음부터 ‘괜찮아 보이는 확장’을 모두 설치해 두면, 어느 순간 왜 느려졌는지 추적하기가 어렵습니다.

프로젝트별 확장 활성화/비활성화로 가볍게 유지하기

VS Code에는 특정 프로젝트(워크스페이스)에서만 확장을 활성화하거나 비활성화하는 기능이 있습니다. 이 기능을 활용하면, 무거운 확장을 “항상 켜두지 않고, 해당 프로젝트에서만 켜는” 방식으로 쓸 수 있습니다.

실제 사용하는 흐름은 대략 이렇습니다.

  • 확장(Extensions) 탭에서 확장 하나를 선택
  • 해당 확장에 대해 “작업 공간에서 사용(Enable in Workspace)” 또는 “작업 공간에서 비활성화(Disable in Workspace)” 선택

예를 들어, 프론트엔드 프로젝트에서는 ESLint/Prettier 같은 확장이 필수지만, 다른 간단한 스크립트 작업에서는 굳이 필요하지 않을 수 있습니다. 이럴 때 프론트엔드 프로젝트 폴더에서는 확장을 켜고, 다른 프로젝트에서는 꺼두는 식입니다. 이렇게 나눠 두면, VS Code를 열었을 때 “지금 열려 있는 프로젝트에 필요한 확장만 동작하도록” 만들 수 있어서 전체 부담이 줄어듭니다.

settings.json으로 불필요한 작업 줄이기

VS Code 설정은 GUI로도 할 수 있지만, 저는 일정 수준 이상 손보게 되면 settings.json을 직접 수정하는 쪽을 선호합니다. 여기서는 “가볍게 쓰는 데 도움이 됐던 설정의 방향성”만 적겠습니다.

먼저 파일 감시 관련 설정입니다. 대용량 프로젝트에서는 파일 변경 감시(파일 워처)가 과하게 동작하면 CPU 사용량이 올라갈 수 있습니다. 저는 로그 디렉터리, 빌드 결과물이 쌓이는 디렉터리 등은 검색·인덱싱 대상에서 제외하는 편입니다.

예를 들어 이런 식의 패턴을 활용하는 식입니다.

{ "files.watcherExclude": { "**/node_modules": true, "**/dist": true, "**/build": true }, "search.exclude": { "**/node_modules": true, "**/dist": true, "**/build": true } } 

각 프로젝트마다 제외할 디렉터리는 조금씩 다르겠지만, 공통적으로 “빌드 결과물, 의존성 캐시” 같은 폴더를 감시 대상에서 빼 주면, 검색과 인덱싱이 훨씬 가볍게 느껴졌습니다.

두 번째는 자동 저장·포맷 관련 설정입니다. 저는 자동 저장 기능을 쓰되, 저장할 때마다 포맷을 무조건 거는 대신 명시적으로 저장할 때만 포맷을 걸어두는 편이었습니다. 예를 들어 editor.formatOnSave를 켜고, 필요할 때만 저장하는 식입니다. 이 부분은 사람마다 선호가 많이 갈리는 영역이라, 직접 써 보면서 제일 덜 부담되는 지점을 찾는 게 좋았습니다.

터미널·Git 패널을 “항상 열어두지 않는” 습관

VS Code 안에 통합 터미널과 Git 패널이 있기 때문에, 창 하나에서 모든 걸 처리하고 싶어집니다. 그런데 통합 터미널도 여러 개 띄워 놓고, Git 패널까지 계속 열어두면, 에디터가 무겁게 느껴질 때가 있었습니다.

그래서 저는 VS Code를 이렇게 나눠 쓰게 됐습니다.

  • 간단한 명령은 통합 터미널에서 처리하되, 장시간 돌아가는 작업(서버, 빌드)은 외부 터미널에서 실행
  • Git 패널은 “변경 사항을 한 번에 확인할 때만” 열고, 평소에는 닫아놓기

외부 터미널을 따로 열어두면, VS Code를 껐다 켜도 서버·빌드가 계속 돌아갈 수 있어서 오히려 편한 경우도 많았습니다. 무엇보다, 에디터 안에 모든 것을 다 넣으려고 할수록 VS Code 자체가 복잡해지는 느낌이 줄어들었습니다.

Remote 관련 확장은 필요할 때만 쓰기

VS Code의 Remote 관련 기능(원격 SSH, 컨테이너, WSL 등)은 매우 유용하지만, 동시에 무거운 편에 속합니다. Ubuntu에서 원격 서버에 접속하거나 컨테이너 개발을 할 일이 있을 수 있지만, 그렇다고 항상 Remote 확장을 켜둘 필요는 없습니다.

저는 다음 정도를 기준으로 삼았습니다.

  • 원격 개발을 자주 하는 기간에는 Remote 관련 확장을 설치해 두되, 끝나면 비활성화
  • 로컬 개발만 하는 시기에는 Remote 확장을 아예 꺼두거나 제거

특히 “SSH로 원격 서버 접속” 정도라면, 꼭 VS Code Remote를 쓰지 않고도 터미널 + CLI 에디터로 충분히 작업할 수 있는 경우가 많습니다. 편의를 위해 확장을 설치할 수는 있지만, 항상 켜둘 필요까지는 없는 기능이라고 느꼈습니다.

정리하며: VS Code를 ‘가볍게’ 쓰는 기준 세 가지

Ubuntu에서 VS Code를 최대한 가볍게 쓰려면, 결국 세 가지 기준으로 정리할 수 있었습니다. 첫째, 확장은 최소한만 설치하고, 프로젝트별로 켜고 끄기. 둘째, 검색·인덱싱 대상에서 불필요한 디렉터리를 과감하게 제외하기. 셋째, 에디터 안에 모든 기능을 다 넣으려 하기보다, 터미널·Git·원격 개발은 필요할 때만 VS Code에 끌어들이기.

이 기준만 지켜도, 동일한 하드웨어에서 VS Code가 주는 체감은 꽤 달라졌습니다. 예전에는 프로젝트 몇 개만 열어도 답답했는데, 지금은 큰 프로젝트에서도 “에디터 때문에” 힘들다고 느끼는 경우는 거의 없습니다. Ubuntu에서 VS Code를 메인 에디터로 쓰려는 분들에게, 이 글이 설정을 가볍게 정리하는 데 참고가 되었으면 합니다.

댓글

이 블로그의 인기 게시물

라즈베리파이 대신, 오래된 노트북에 Ubuntu 깔아서 집 서버 만드는 법

Ubuntu에서 게임 스트리밍 클라이언트 세팅하기: Steam Link·Moonlight 활용법

Ubuntu에서 터미널 안 쓰고도 할 수 있는 관리 작업 10가지