본문 바로가기

직접 만든 소프트웨어, 두 가지 개발 기록

구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다.

마음·생활습관

VS Code 파일 제외 새 기능: 처음 보는 코드에서 읽을 파일만 남기는 연습

by 아빠띠띠뽀 2026. 11. 9.

처음 보는 프로젝트를 공부할 때, 폴더를 전부 펼치는 대신 오늘 답할 질문에 필요한 파일만 남겨 보는 연습을 해 보세요. VS Code 1.145에는 제외한 폴더 안에서도 필요한 경로를 다시 보이게 하는 기능이 추가됐습니다. 폴더 전체를 보이거나 감추는 두 가지 선택만 할 필요가 없어서, 자료가 많은 코드에서 읽을 범위를 정하는 데 써 볼 수 있습니다.

2026년 11월 4일 VS Code 1.145 안정판 릴리스 노트가 이 변경을 소개했습니다. 아래 실습은 11월 8일 확인한 공식 설명을 바탕으로 직접 구성한 예입니다. 새 기능의 학습 효과를 측정한 연구나 사용 시간 단축을 뜻하지 않습니다. 실제 회사 프로젝트에서 설정을 바꾸거나 예시를 실행한 결과도 아닙니다. 공유 프로젝트와 업무 자료가 없는 자신만의 연습 폴더를 기준으로 읽어 주세요.

공부하기 전에 답할 질문 하나만 정해 보세요

예를 들어 자바스크립트 프로젝트의 설정 화면을 이해하고 싶다고 해 볼게요. 처음부터 모든 라이브러리 코드를 읽으려 하면 어디에서 멈춰야 할지 막막합니다. ‘설정 화면이 표시할 이름을 어디에서 읽어 오지?’처럼 화면의 행동 하나를 질문으로 잡으면 시작이 쉽습니다. 폴더 정리는 그 질문에 답하기 위한 준비입니다. 정리한 화면 자체가 학습 결과가 되는 것은 아니에요.

가상의 연습 프로젝트에는 화면 파일, 설정을 읽는 코드, 그리고 여러 출력물을 모아 둔 폴더가 있다고 합시다. 화면에 나온 문자열을 입력으로 삼아 한 파일을 찾고, 그 파일이 호출하는 함수 하나를 따라가는 것이 첫 번째 과제입니다. 함수의 반환값이 어떤 모양인지 모를 때만 관련 형식 정의를 하나 더 찾아봅니다. 이렇게 읽으면 열지 않은 파일이 많아도 ‘다음에 무엇을 더 알아야 할지’ 말할 수 있습니다.

적어 둘 것은 세 줄이면 됩니다. 첫째는 질문, 둘째는 근거가 된 파일이나 함수, 셋째는 아직 설명할 수 없는 부분입니다. 예를 들어 ‘표시 이름은 설정 파일에서 읽음, 빈 값일 때 기본 이름을 쓰는 위치는 찾음, 이름을 저장하는 경로는 아직 모름’이라고 기록합니다. 이 정도면 다음에 같은 프로젝트를 다시 열 때 처음부터 돌아다니지 않아도 됩니다. 아래 표는 이런 기록을 시작하기 위한 양식입니다.

오늘 찾을 것 읽고 나서 남길 근거
화면의 입력 어떤 값이 어디에서 들어왔는지
값이 바뀌는 곳 처음 확인한 파일과 이어지는 함수 하나
외부 자료가 필요한 곳 형식이나 예제를 찾아야 하는 이유
아직 답하지 못한 것 다음에 확인할 질문 한 줄

제외 폴더 안에서 필요한 경로만 되살리기

공식 릴리스 노트에서 두 설정이 나옵니다. files.exclude와 search.exclude입니다. 둘 다 읽는 화면의 표시 범위를 조절하지만 결과가 나타나는 곳을 구분해야 해요. 새 방식은 필요한 경로의 패턴 앞에 !를 붙여 예외를 두는 것입니다. 문서상 files.exclude의 예외에 맞는 파일이나 폴더는 탐색기, 검색, 빠른 열기에서 보입니다. 다른 패턴이나 .gitignore로 제외됐을 때도 이 예외가 적용된다고 설명합니다.

반면 search.exclude에서 지정한 예외는 검색과 빠른 열기에만 적용됩니다. 왼쪽 탐색기에는 계속 숨겨져 있어도 파일 이름을 찾아 열고 싶은 상황이라면 이 차이가 도움이 됩니다. 빠른 열기는 파일 이름을 찾는 곳이고, 검색은 파일 안에 있는 문구를 찾을 때 쓰입니다. 내가 답하고 싶은 질문이 ‘이름을 아는 파일을 열고 싶다’인지 ‘이 말이 어느 파일에 나오는지 모르겠다’인지에 따라 사용하는 화면이 달라집니다.

공식 예시는 files.exclude에서 node_modules를 제외하고 !node_modules/@types를 예외로 지정합니다. 두 항목의 값이 모두 true여도 느낌표가 앞에 붙은 쪽은 해당 경로를 다시 보이게 하는 예외입니다. 여기서 @types는 예시 프로젝트의 모든 라이브러리 소스가 아니라 필요한 타입 정보 쪽을 남기는 예입니다. 그 경로가 없는 프로젝트에서 규칙만 추가해도 새 폴더가 만들어지는 것은 아닙니다. 직접 만든 연습 폴더에서 기존 경로가 있는지부터 확인하세요.

필요한 화면 공식 문서에서 확인한 예외 적용 범위
탐색기에서도 폴더를 펼쳐 읽기 files.exclude 예외: 탐색기·검색·빠른 열기
탐색기는 간단하게 두고 찾아서 열기 search.exclude 예외: 검색·빠른 열기
파일이 실제로 있는지 확인하기 표시 여부와 별개로 연습 폴더의 실제 경로 확인
저장소 추적 여부 판단하기 이 편집기 보기 실습의 범위 밖으로 분리

설정을 다루기 전에는 1.145의 지원 안내와 변경하려는 설정 범위를 확인하세요. 연습할 때는 다른 사람이 쓰는 설정을 고치는 대신 스스로 만든 폴더에서 하나의 예외만 추가해 볼 계획을 세웁니다. 기존 값을 따로 적어 두면 나중에 실습용 예외만 제거하기 편합니다. 시작할 때 어떤 파일이 보이는지 먼저 기록하지 않으면, 변화가 예외 때문인지 처음부터 그랬는지 구분하기 어렵습니다.

직접 확인한다면, 세 화면을 한 줄씩 기록하세요

연습은 폴더 이름을 외우는 것보다 관찰을 남기는 쪽에 초점을 둡니다. 시험 폴더에는 이미 내용을 아는 두 종류의 파일을 준비한다고 가정해 볼게요. 하나는 가려둘 자료이고, 다른 하나는 읽고 싶은 자료입니다. 서로 다른 파일 이름과 겹치지 않는 예시 문구를 넣으면 각 화면이 무엇을 찾았는지 구분하기 좋습니다. 다른 프로젝트의 실제 비밀값이나 고객 문서를 연습 자료로 쓸 필요는 없습니다.

예외를 적용하기 전에는 탐색기에서 해당 폴더가 보이는지, 파일 이름을 빠른 열기에 넣으면 나오는지, 파일 본문에만 들어 있는 예시 문구가 검색되는지 적습니다. 설정을 하나 바꿨다면 같은 폴더와 같은 검색어로 다시 확인합니다. 한 번에 사용자 설정과 프로젝트 설정을 모두 건드리면 무엇 때문에 바뀌었는지 알기 어려워집니다. ‘파일이 보인다’라는 말만 남기지 말고 어떤 화면에서 무엇이 보였는지 쓰는 이유입니다.

예를 들어 탐색기에 폴더는 보이는데 원하던 단어가 검색되지 않는다면, 먼저 열린 파일에 그 단어가 실제로 들어 있는지 대조해 보세요. 찾은 항목이 같은 이름의 다른 파일일 수도 있으니 경로도 봅니다. 설정 화면이 달라졌다는 사실과 코드가 어떤 일을 하는지 설명할 수 있게 됐다는 사실은 각각 확인해야 합니다. 화면이 정돈된 느낌만으로 실습의 질문에 답했다고 보기는 어렵습니다.

읽고 싶었던 파일이 보이면 처음 정한 질문으로 돌아갑니다. 이번 예에서는 화면 파일이 표시 이름을 어디에서 가져오는지 한 문장으로 설명해 봅니다. 그다음, 근거가 된 줄 옆에 ‘이 값이 비어 있으면 어떻게 될까?’처럼 다음 질문을 적습니다. 시간이 남는다고 모든 파일을 다시 펼치는 대신, 다음 관찰로 이어지는 질문 하나를 남겨 보세요. 이 순서는 기능을 잘 쓰는지보다 자신이 읽은 범위를 확인하는 데 도움이 되는 제안입니다.

다음 날에는 기록만 보고 같은 함수까지 다시 찾아가는 작은 확인을 해 볼 수 있습니다. 찾은 경로가 맞는지 보려면 파일명만 말하지 말고 ‘화면에서 읽은 문자열 → 표시 이름을 넘기는 함수’처럼 근거의 연결도 적으세요. 기록만으로 길을 못 찾겠다면 예외 범위를 넓히기 전에 빠진 단서 하나를 추가합니다. 같은 이름의 파일이 여럿이면 폴더 이름을, 비슷한 함수가 여럿이면 어느 화면에서 호출하는지를 보완하는 식입니다.

어느 때는 예외를 쓰지 않는 편이 더 편합니다

잠깐 한 파일만 확인하려는 상황에서 이미 정확한 경로를 알고 있다면 설정 변경까지 할 필요는 없습니다. 팀원이 준 문서나 파일 경로로 해당 부분만 읽고 나와도 됩니다. 반대로 같은 유형의 자료를 며칠 동안 비교할 예정이라면, 한 폴더에 적용한 작은 예외를 두고 읽는 범위를 눈에 보이게 만드는 편이 편할 수 있습니다. 본인이 언제까지 그 예외를 쓸지 정하면 이후에 그대로 남을 설정도 줄어듭니다.

범위를 넓게 잡은 패턴은 신중히 다루세요. 공식 릴리스 노트는 !**/node_modules/@types처럼 여러 깊이에서 일치하는 패턴이 검색을 느리게 할 수 있다고 설명합니다. 첫 연습에서 프로젝트 전체의 모든 깊이를 대상으로 할 이유는 적습니다. 궁금한 경로가 하나라면 그 경로에서 먼저 관찰하고, 같은 종류의 예외가 여러 곳에서 필요한 상황이 생겼을 때 확대를 검토하세요. 실제로 얼마나 느려지는지는 이 글에서 시험하지 않았습니다.

또한 제외 규칙은 편집기에서 보거나 찾는 범위를 다루는 기능입니다. 민감한 파일을 보호하거나 다른 사람이 파일을 읽지 못하게 만드는 설정으로 쓰지 마세요. 반대로 편집기에 다시 보인다고 그 파일의 Git 추적 상태가 바뀌었다고 볼 수도 없습니다. Git 자체의 무시 규칙과 이미 추적 중인 파일을 구별해야 한다면 gitignore가 적용되지 않을 때 확인할 두 가지에서 이어서 볼 수 있습니다.

자주 나오는 질문

느낌표를 쓰면 일치한 파일이 더 숨겨지나요? 1.145 릴리스 노트에서 설명하는 예외는 일치한 항목을 다시 보이게 합니다. 문서에서도 예외 규칙은 파일을 숨기지 않는다고 안내합니다. 처음에는 일반 제외 하나와 예외 하나의 역할을 짝으로 적어 보세요. 여러 예외를 한꺼번에 추가하기보다 필요한 경로 하나로 차이를 살펴보는 편이 쉽습니다.

탐색기에는 안 보이는데 빠른 열기에서는 찾았어요. 실패인가요? 어떤 설정에 예외를 추가했는지부터 확인하세요. 문서에 나온 search.exclude 예외라면 탐색기를 바꾸지 않고 검색과 빠른 열기에 적용됩니다. 예상했던 화면과 실제 화면을 표의 두 열에 나눠 쓰면 설정의 의도와 결과를 비교할 수 있습니다.

연습을 끝낼 때는 무엇을 지우나요? 자신이 만든 연습 환경에서 추가한 예외만 이전 값으로 돌리는 것을 권합니다. 파일을 감추는 설정을 원래대로 돌리는 일과 파일을 삭제하는 일은 별개예요. 공유 프로젝트의 설정이 섞였는지 확신이 없다면 통째로 덮어쓰지 말고 처음 남긴 기록과 추가 범위를 대조하세요. 무엇을 읽었는지 적은 학습 기록은 다음 과제의 출발점으로 남길 수 있습니다.

확인한 공식 자료

2026년 11월 8일 VS Code 1.145 공식 릴리스 노트의 Show specific files in excluded folders 항목을 확인했습니다. 공식 자료에서 두 예외의 적용 화면과 넓은 패턴의 주의점을 가져왔습니다. 질문을 하나 정하고 세 화면을 비교하는 연습 순서는 이 글에서 제안한 방법입니다. 실제 효과는 자기 기록으로 판단해 보세요.

파일 제외 기능으로 질문을 정하고 필요한 경로를 예외로 보인 뒤 읽은 근거를 기록하는 개념도
오늘 읽을 질문, 파일 표시 범위와 읽은 근거를 정리한 자체 개념도입니다.