코딩을 하다 보면 손가락이 기억하는 리듬이 있습니다. 마침표 하나를 찍었을 때 나타나야 할 메서드 목록, 함수 위에 커서를 올렸을 때 나타나는 친절한 설명들. 이 모든 'IntelliSense' 기능이 갑자기 멈추면 개발자는 마치 눈을 감고 운전하는 듯한 막막함을 느끼게 됩니다. 단순한 오타 수정부터 복잡한 프로젝트 구조 해석까지 우리를 돕던 도구가 왜 갑자기 먹통이 되는 걸까요? 오늘 이 글에서는 VS Code의 심장과도 같은 언어 서버 엔진을 다시 살려내는 가장 확실한 방법들을 정리해 드립니다.
📋 핵심 가이드 바로가기
1. 빠른 복구를 위한 긴급 처방: 창 재로드와 환경 확인
대부분의 IntelliSense 오류는 백그라운드에서 동작하는 언어 서버(Language Server)가 메모리 부족이나 예외 상황으로 인해 '좀비 상태'가 되었을 때 발생합니다. 이럴 때 가장 먼저 시도해야 할 것은 Developer: Reload Window 명령입니다. 이는 VS Code를 완전히 껐다 켜는 것보다 빠르면서도, 현재 워크스페이스의 모든 확장 프로그램과 프로세스를 초기화하여 다시 매핑하는 가장 효과적인 방법입니다.
단순히 창만 새로고침한다고 해결되지 않는다면, 현재 편집 중인 파일의 '언어 모드'가 올바른지 확인해야 합니다.
창 우측 하단 상태표시줄에 Plain Text라고 적혀 있다면, VS Code는 이 파일이 어떤 프로그래밍 언어인지 인지하지 못해 자동완성을 제공하지 않습니다.
해당 부분을 클릭하여 파일 확장자에 맞는 정확한 언어(예: TypeScript, Python)를 선택해 주시기 바랍니다.
명령 팔레트(Ctrl+Shift+P)를 통해 즉시 시스템을 재시작할 수 있습니다.
2. 언어 서버 아키텍처와 환경 설정 점검
VS Code는 LSP(Language Server Protocol)라는 아키텍처를 기반으로 작동합니다. 편집기는 텍스트를 보여주고, 별도의 서버 프로세스가 코드를 분석하여 힌트를 제공하는 방식이죠. 만약 특정 언어에서만 자동완성이 되지 않는다면 해당 언어 전용 서버를 수동으로 재시작해야 합니다. TypeScript라면 Restart TS Server를, Python이라면 Restart Language Server를 명령 팔레트에서 검색해 실행하세요.
또한, 최근 보안 정책이 강화되면서 '워크스페이스 신뢰(Workspace Trust)' 기능이 발목을 잡는 경우가 많습니다. 신뢰하지 않는 폴더에서 코드를 열면 보안을 위해 확장 프로그램의 실행이 제한되며, 결과적으로 IntelliSense도 작동하지 않게 됩니다. 상단에 노란색 알림창이 떠 있다면 Trust 버튼을 눌러 현재 폴더를 안전한 작업 공간으로 등록해야 합니다.
3. 언어별 인텔리센스 최적화 및 문제 해결
각 언어마다 환경 설정 방식이 다르기 때문에, 사용하는 스택에 맞춰 설정을 최적화하는 과정이 필요합니다.
| 언어 환경 | 필수 체크 포인트 | 해결 명령어 |
|---|---|---|
| JS / TypeScript | tsconfig.json 내의 include 경로 확인 | TypeScript: Restart TS Server |
| Python | Pylance 확장 설치 및 인터프리터 경로 | Python: Select Interpreter |
| C / C++ | includePath 및 컴파일러 경로 설정 | C/C++: Reset IntelliSense Database |
파이썬의 경우, 가상환경(venv)을 제대로 인식하지 못해 외부 라이브러리의 자동완성이 깨지는 경우가 빈번합니다.
이럴 때는 Ctrl+Shift+P를 누르고 Python: Select Interpreter를 선택하여 현재 프로젝트에 맞는 가상환경의 python.exe 경로를 정확히 지정해 주어야 합니다.
이 과정만 거쳐도 대부분의 'Import를 찾을 수 없음' 오류와 함께 사라진 IntelliSense를 되찾을 수 있습니다.
4. 확장 프로그램 충돌 및 신뢰성 진단
때로는 우리가 생산성을 위해 설치한 수많은 확장 프로그램들이 서로 충돌하며 문제를 일으키기도 합니다.
원인을 도무지 알 수 없을 때는 모든 확장을 일시적으로 비활성화한 상태에서 테스트해 보는 것이 좋습니다.
터미널에서 code --disable-extensions 명령어로 VS Code를 실행했을 때 자동완성이 정상이라면, 범인은 설치된 확장 프로그램 중 하나입니다.
범인을 찾기 위해 일일이 끄고 켤 필요는 없습니다. VS Code의 Help: Troubleshoot Issue 기능을 사용하거나 Extension Bisect를 실행하면 시스템이 자동으로 이분 탐색을 통해 문제를 일으키는 확장을 찾아줍니다. 기술적인 충돌을 해결하는 가장 스마트한 방법이며, 소중한 개발 시간을 아껴줄 것입니다.
5. 자주 묻는 질문(FAQ) 및 마무리
Q: Git 브랜치를 바꾼 뒤 갑자기 자동완성이 이상해졌어요.
브랜치 변경으로 인해 node_modules나 라이브러리 구조가 바뀌면 언어 서버가 이전 인덱스를 참조하고 있을 수 있습니다. 이때는 주저 말고 'Reload Window'를 실행하여 인덱싱을 갱신하세요.
Q: 설정 파일(json)을 건드렸는데 그 이후로 안 됩니다.
사용자 설정 파일인 settings.json에서 "editor.suggestOnTriggerCharacters": false와 같은 설정이 포함되어 있는지 확인해 보세요. 의심되는 줄을 삭제하거나 주석 처리하는 것만으로 해결될 수 있습니다.
IntelliSense는 단순한 편의 기능을 넘어 현대 개발자에게는 없어서는 안 될 파트너와 같습니다. 위의 단계들을 차근차근 따라오셨다면 아마 지금쯤이면 다시 부드럽게 나타나는 코드 힌트를 보고 계실 겁니다. 쾌적한 환경에서 여러분의 창의적인 코딩 작업이 계속되길 응원합니다! 더 자세한 정보가 필요하다면 아래의 공식 문서를 참고해 보세요.
0 댓글