macOS, 컨테이너는 debian:bookworm 환경에서 작성된 글입니다.
VScode에서 도커 컨테이너 접속하기 (Dev Containers)
macOS에서 작성된 글입니다. vscode에서 Remote Development 확장 설치WSL, Dev Containers, Remote - SSH, Remote - Tunnels가 포함된 세트다. 이제 두가지 경우가 있다.컨테이너가 이미 올라가 있는 경우쉬프트 + 커맨
dodontak.tistory.com
vscode에서 컨테이너에 연결하는건 위 글에서 알아보자.
문제 발생
vscode의 자동완성 기능인 IntelliSense를 원래는 컨테이너에 C/C++ 익스텐션을 설치해서 사용하고있었다.

그런데 어이없는게, 잘 되다가 어느날 갑자기 안되더니 완전히 새로운 이미지, 컨테이너에서 다시 실행해봐도 안됐다.
어제랑 똑같이 쓰고있는데 갑자기 자동완성이 안되니 그날은 하루종일 문제를 해결해보려 했는데, 스택오버플로우에서 비슷한 문제를 겪은 글을 봤는데 이 문제는 vscode의 버그 이고, 해결법은 답변자도 모르고 우회법으로 인텔리센스를 그냥 tag parser로 바꾸라고 했다.
Why is visual studio code telling me that cout is not a member of std namespace?
I am trying to setup visual studio code to program in c++. I have already installed the extensions C/C++ and C/C++ Intellisense Following is my code: #include<iostream> using namespace std;...
stackoverflow.com
tag parser로 바꾸니까 자동완성이 되긴 되는데 전혀 컨텍스트를 읽지 못하고 그냥 그 문자열로 시작하는 아무 자동완성이나 추천해주는 매우 크나큰 문제가 있었다. 사실상 있으나 마나 한것.
그래서 좀 더 알아보니 clangd라는걸로 해결을 할 수 있다 하여 사용해봤는데 깔끔하게 해결이 됐다.
해결 방법
clangd 확장 설치
컨테이너에 clangd를 설치한다. (컨테이너에 확장을 자동설치하는 방법은 맨위에 첨부한 글을 보자.)

clangd 패키지 설치
컨테이너 터미널에서 clangd 를 apt install로 설치한다.
apt install -y clangd
vscode 창 다시 로드
그리고 커맨드 + 쉬프트 + p로 vscode 창을 다시 로드한다.

해결 완료
그러면 자동완성이 아름답게 잘 된다.

정리하고 나니 며칠동안 날 괴롭힌 문제 치고는 쉽게 해결됐다...
추가로 기본 clangd의 자동정렬 기능(옵션+쉬프트+F)이 탭이 스페이스 2개라서 이걸 고쳐봤다.
프로젝트 폴더에 .clang-format 파일을 추가하자.
BasedOnStyle: Google
IndentWidth: 4
그럼 이제 자동정렬 시에 탭이 스페이스 4개로 처리된다.
'개발환경 > VScode' 카테고리의 다른 글
| VScode에서 도커 컨테이너 접속하기 (Dev Containers) (0) | 2026.03.15 |
|---|---|
| 윈도우 VScode에서 터미널 PowerShell -> git bash 변경 (0) | 2024.09.02 |