프론트엔드 개발 중, styled-components
를 사용하여 스타일을 작성하던 중, VSCode에서 styled-components
를 자동완성할 때 import
대신 require
문법이 자동으로 입력되는 문제가 발생함. 기존에는 import
구문이 정상적으로 작동했으나, 어느 순간부터 자동완성 기능이 다음과 같이 변경됨:
const { default: styled } = require("styled-components");
이로 인해 코드 일관성이 깨지고, 불편함이 생김.
VSCode 설정 변경
jsconfig.json
또는 tsconfig.json
파일에서 모듈 시스템이 ES6
에서 commonjs
로 변경되었을 가능성.jsconfig.json
에서 module
옵션이 commonjs
로 설정되었을 수 있음.확장 프로그램 설치 또는 업데이트
styled-components
관련 확장 프로그램 또는 ESLint, Prettier와 같은 코드 포매터가 업데이트되면서 설정이 변경되었을 가능성.require
문법을 기본으로 설정하여 자동완성 기능에 영향을 미쳤을 수 있음.VSCode의 업데이트
Node.js 또는 패키지 변경
styled-components
와 관련된 패키지가 업데이트되면서 설정 파일이 변경되었을 가능성.문제를 해결하기 위해 다양한 방법을 시도했지만, 최종적으로 1번 방법인 jsconfig.json
파일의 수정으로 해결함.
jsconfig.json
파일 수정 (문제 해결 방법)
jsconfig.json
파일을 열어 "module": "commonjs"
로 설정된 부분을 "module": "ES6"
로 변경.import
문법이 다시 정상적으로 작동함.{
"compilerOptions": {
"module": "ES6",
"paths": {
"@/*": ["./*"]
}
}
}
(시도했지만 효과가 없었던 방법) 확장 프로그램 비활성화
styled-components
관련 확장 프로그램을 비활성화하거나 삭제.(시도했지만 효과가 없었던 방법) VSCode 설정 초기화
settings.json
파일을 수정.import
와 require
관련 설정을 리셋했지만, 문제는 지속됨.(시도했지만 효과가 없었던 방법) 캐시 정리 및 VSCode 재설치
(시도했지만 효과가 없었던 방법) Node.js 버전 및 패키지 관리
VSCode에서 발생한 styled-components
자동완성 문제는 다양한 원인으로 인해 발생할 수 있으며, 여러 방법을 시도했으나 최종적으로 jsconfig.json
파일에서 모듈 설정을 ES6
로 변경하여 문제를 해결할 수 있었다.
이 문제를 겪은 후, 설정 파일을 주기적으로 백업하고, VSCode 업데이트 후에는 설정이 제대로 유지되고 있는지 확인하는 것이 중요하다고 느꼈다. 앞으로도 이런 상황이 발생하지 않도록 프로젝트 환경을 꼼꼼히 관리할 필요가 있다.