반응형
styles.classname 을 컨트롤 클릭(go to Deifinition)하면 해당 클래스로 이동해야 하는데, Intellij 에서는 잘 되는게 vscode에서는 안된다.
예를들어 이런코드가 있다고 하자
import React from "react";
import { useRouter } from "next/router";
import { Desktop, Mobile } from "@/components/common/MediaQuery";
import styles from "@/styles/input.module.scss";
const HomeButton = () => {
const router = useRouter();
return (
<>
<Desktop>
<div
className={styles.menu_top_desktop}
onClick={() => router.push("/")}
>
홈으로
</div>
</Desktop>
<Mobile>
<div className={styles.menu_top} onClick={() => router.push("/")}>
홈으로
</div>
</Mobile>
</>
);
};
export default HomeButton;
여기서 styles.menu_top_desktop 클래스를 클릭하면 global.d.ts 파일로만 이동한다.
이유를 찾아보니 vscode와 intellij 의 scss 모듈 타입 추론 방식이 다르기 때문에 발생하는 것이라고 한다. 이 문제를 해결하기 위해서는 아래 3가지를 하면 된다(아래중 1개라도 빼먹으면 안된다)
1. TypeScript 설정 추가: tsconfig.json 파일에 다음을 추가한다
{
"compilerOptions": {
"plugins": [
{
"name": "typescript-plugin-css-modules"
}
]
}
}
2. VSCode의 settings.json에 다음 설정을 추가한다.
{
"typescript.tsserver.pluginPaths": ["typescript-plugin-css-modules"]
}
3. SCSS IntelliSense 확장프로그램을 설치
이 3가지를 하면 이후부터는 Go to Definiton 문제가 해결되고 추적이 잘된다.
끝.
반응형
'공부 > 프로그래밍' 카테고리의 다른 글
개발자 관점에서 코드 AI 중 Cursor AI를 선택한 이유 (0) | 2025.02.18 |
---|---|
[n8n] Slack 연동하기 (0) | 2025.02.08 |
[springboot, msa] gateway 서버에 Filter에서 던져진 Exception 핸들링하기 (0) | 2024.12.07 |
Flutter 앱 개발 시리즈: SQLite 데이터베이스 다루기 + 버전관리 (1) | 2024.11.28 |
Flutter 앱 개발 시리즈: Riverpod과 비동기 데이터 초기화 문제 해결하기 (0) | 2024.11.27 |
댓글