IDE 기능 가이드

VS Code 확장이 제공하는 12가지 기능을 상세히 안내합니다. 코딩 생산성을 극대화하세요.

👁

호버 CSS 미리보기

클래스 위에 마우스를 올리면 완전한 CSS 규칙을 표시합니다

실시간 자동완성

class 속성 내에서 300개+ 클래스와 임의값을 실시간 검증합니다

🎨

색상 프리뷰

13개 프리픽스의 인라인 컬러 스와치와 피커를 제공합니다

진단 및 충돌 감지

무효 클래스, 유사 제안, 컨텍스트별 속성 충돌 감지

🔧

Quick Fix

오타 자동 교정, 무효 클래스 삭제, 토큰 위반 수정

🔄

CSS → Class 변환

CSS 선언을 Atomic 클래스로 변환합니다

📋

클래스 정렬

클래스를 의미 기준으로 자동 정렬합니다

디자인 토큰

프로젝트 색상/간격/폰트 토큰으로 자동완성 상위 노출

🔒

Strict 모드

토큰 외 값 사용 시 경고 및 가장 가까운 토큰 제안

🔗

CSS 변수 자동완성

프로젝트의 :root 변수를 스캔하여 자동완성 제안

🗑

미사용 클래스 감지

CSS에 있지만 HTML에서 사용하지 않는 클래스 감지

📄

인라인 CSS 힌트

class 속성 끝에 CSS 속성명을 힌트로 표시

단축키

자주 사용하는 명령어와 단축키입니다.

명령어단축키설명
Search ClassCtrl+Shift+ACSS 속성명으로 클래스를 검색합니다
Update AllCtrl+Alt+A프로젝트 전체 파일을 스캔하여 CSS를 일괄 생성합니다
CSS → Class 변환Ctrl+Shift+CCSS 선언을 Atomic 클래스로 변환합니다
클래스 정렬Ctrl+Alt+S클래스를 의미 기준으로 정렬합니다
미사용 감지Command Palette미사용 클래스를 감지합니다

1. 호버 CSS 미리보기

클래스 위에 마우스를 올리면 미디어 쿼리, 의사 클래스, 관계 선택자를 포함한 완전한 CSS 규칙을 표시합니다.

완전한 CSS 규칙 (셀렉터 + 속성) 표시

구조 분해 시각화 — 미디어, 상태, 속성, 값을 아이콘으로 표시

class 키워드에 호버하면 모든 클래스의 CSS를 합산하여 표시

shorthand 오버라이드 감지 (p20px + pl10px → padding-left 오버라이드 알림)

예시

아래 코드에서 각 클래스 위에 마우스를 올려보세요.

<!-- Hover over any class to see full CSS output -->
<div class="df jcc aic gap2rem p2rem bg0A0A12 br12px sm-fdc">
  <p class="fs16px c71717A lh1-7 hover-cFFFFFF">Text</p>
</div>

<!-- Hover over 'class' keyword to see combined CSS -->
<!--        ↑ shows all classes' CSS combined -->

Tailwind 대비: Tailwind은 CSS 한 줄만 표시하지만, Atomic CSS는 구조 분해 + 전체 미리보기 + 오버라이드 감지를 모두 제공합니다.

Shorthand 오버라이드 감지

padding, margin 등 shorthand 속성의 오버라이드 관계를 호버로 알려줍니다.

<!-- Shorthand override detection -->
<div class="p20px pl10px">
  <!-- Hover shows:
    padding-top: 20px
    padding-right: 20px
    padding-bottom: 20px
    padding-left: 10px  ← overridden by pl10px
  -->
</div>

2. 실시간 자동완성

class 속성 내에서 타이핑하면 자동완성이 나타납니다. 정적 목록, 프리픽스 가이드, 동적 검증, 맥락 추천, 중복 방지를 모두 제공합니다.

기능설명
고정 클래스 (300개+)df, jcc, aic 등 단위 없는 클래스 전체 목록
프리픽스 가이드w, h, p, m, bg 등 프리픽스 입력 시 사용법과 예시 표시
동적 완성gap37px 같은 임의값도 실시간으로 파싱하여 CSS 미리보기 제공
맥락 추천df 입력 후 → flex 관련 클래스(jcc, aic, fdc 등)가 상위 추천
중복 방지이미 입력된 클래스는 자동완성 목록에서 제외

지원 속성

아래 속성 안에서 자동완성이 동작합니다.

<!-- Triggers in all these attribute types -->
<div class="...">         <!-- HTML class -->
<div className="...">     <!-- React JSX -->
<div :class="'...'">      <!-- Vue binding -->

맥락 기반 추천

이미 입력된 클래스를 분석하여 관련 클래스를 상위에 추천합니다.

<!-- After typing "df", flex-related classes are boosted -->
<div class="df |">
  <!-- Top suggestions: jcc, jcsb, aic, fdc, fww, gap... -->

<!-- Already used class won't appear again -->
<div class="df jcc |">
  <!-- jcc is excluded from suggestions -->

3. 색상 프리뷰

class 속성 내 색상 클래스 옆에 인라인 컬러 스와치를 표시하고, 컬러 피커를 통해 색상을 변경할 수 있습니다.

지원 프리픽스 (13개)

프리픽스CSS예시
ccolorcFF0000
bgbackground-colorbg6366F1
bcborder-colorbcDDDDDD
btcborder-top-colorbtcFF0000
brcborder-right-colorbrc333333
bbcborder-bottom-colorbbc000000
blcborder-left-colorblc6366F1
olcoutline-colorolc38BDF8
tdctext-decoration-colortdcEF4444
accaccent-coloracc6366F1
cccaret-colorccFFFFFF
fillfillfillFF0000
strokestrokestroke333333

hover, 미디어 쿼리 조합에서도 색상이 감지됩니다. border shorthand도 지원합니다.

<!-- HEX colors show inline swatches -->
<div class="bg6366F1 cFFFFFF bc333333">

<!-- RGBA colors also supported -->
<div class="bg0-0-0-50 c255-255-255-80">

<!-- Works with pseudo-classes and media queries -->
<div class="hover-bgFF0000 sm-bg333333">

<!-- Border shorthand colors -->
<div class="b2pxsolid6366F1">

컬러 피커: 스와치를 클릭하면 VS Code 컬러 피커가 열리고, 색상 변경 시 클래스명이 자동으로 업데이트됩니다.

4. 진단 및 충돌 감지

실시간으로 무효 클래스와 속성 충돌을 감지하여 에디터에 표시합니다.

무효 클래스 감지: 파싱할 수 없는 클래스에 노란 밑줄 표시

🔍

유사 클래스 제안: 편집 거리(Levenshtein) 기반으로 가장 비슷한 클래스를 알려줍니다

컨텍스트별 충돌 감지: 같은 미디어/의사클래스에서 같은 속성이 중복되면 경고. hover-bg와 base-bg는 충돌이 아님

<!-- Invalid class: yellow underline + suggestion -->
<div class="df jc gap2rem">
  <!--           ↑↑
    "jc" is invalid
    Suggestion: jcc, jcsb, jcfs, jcfe, jcsa, jcse
  -->
</div>

<!-- Conflict detection (same media+pseudo) -->
<div class="w100px w200px">
  <!--  ⚠ conflict: both target width in same context -->
</div>

<!-- Different context = no conflict -->
<div class="w100px sm-w200px">
  <!--  ✓ OK: different media queries -->
</div>

Shorthand 예외: p20px pl10px처럼 shorthand + longhand 조합은 의도적인 오버라이드이므로 충돌로 경고하지 않습니다.

5. Quick Fix

Ctrl+.을 눌러 진단에 대한 자동 수정을 적용할 수 있습니다.

액션설명
유사 클래스로 변경dff → df, jc → jcc 등 오타를 자동 교정
무효 클래스 삭제인식할 수 없는 클래스를 공백 포함하여 깔끔하게 삭제
토큰값으로 변경strict 모드에서 가장 가까운 허용 토큰값으로 변경 제안
<!-- Before: "jc" has yellow underline -->
<div class="df jc aic">

<!-- Ctrl+. on "jc" shows: -->
<!--   → Replace with "jcc"  (auto-correct) -->
<!--   → Replace with "jcsb" (similar) -->
<!--   → Delete "jc"         (remove) -->

<!-- After applying fix: -->
<div class="df jcc aic">

6. CSS → Class 변환

Ctrl+Shift+C를 누르면 CSS를 입력할 수 있는 입력 창이 열립니다. CSS 선언을 입력하면 Atomic 클래스로 변환됩니다.

CSS 입력

display: flex;
justify-content: center;
align-items: center;
gap: 20px;
padding: 16px;
background-color: #6366F1;
color: #FFFFFF;
border-radius: 8px;
font-weight: 700;
margin-top: -10px;

변환 결과

df jcc aic gap2rem p16px bg6366F1 cFFFFFF br8px fw700 neg-mt10px

13개 색상 속성, font-weight, z-index(neg-), opacity, order, RGBA 등 모든 특수값을 지원합니다. 결과는 클립보드에 복사되거나 선택 영역에 삽입됩니다.

7. 클래스 정렬

Ctrl+Alt+S로 클래스를 의미 기준으로 자동 정렬합니다. 선택 영역만 정렬하거나 전체 파일을 정렬할 수 있습니다.

정렬 순서

1.display2.flex/grid3.크기4.간격5.position6.타이포그래피7.색상/시각8.기타9.pseudo10.responsive

정렬 전

<div class="p2rem bg6366F1 df
  cFFFFFF jcc br8px mt2rem
  aic gap16px hover-bg818CF8">

정렬 후

<div class="df jcc aic gap16px
  p2rem mt2rem br8px
  bg6366F1 cFFFFFF
  hover-bg818CF8">

8. 디자인 토큰

.atomic.json에 토큰을 정의하면 자동완성에서 프로젝트 토큰이 ★ 마크로 최상위에 표시됩니다. 토큰이 없으면 기존과 100% 동일하게 동작합니다.

토큰 설정

.atomic.json의 tokens 섹션에 정의합니다.

.atomic.json
{
    "tokens": {
        "colors": {
            "primary": "6366F1",
            "danger": "EF4444",
            "text": "333333"
        },
        "spacing": [4, 8, 12, 16, 20, 24, 32, 40, 48],
        "fontSize": [12, 14, 16, 18, 20, 24, 32],
        "borderRadius": [4, 8, 12, 16, 50],
        "fontWeight": [400, 500, 600, 700]
    },
    "strict": false
}
속성타입설명
colorsObject색상 팔레트 (이름: HEX 6자리)
spacingArray<number>간격 값 (px 단위, 4의 배수 권장)
fontSizeArray<number>폰트 크기 (px 단위)
borderRadiusArray<number>모서리 둥글기 (px 단위)
fontWeightArray<number>폰트 굵기 (100~900)

하위 호환: tokens를 정의하지 않으면 모든 기능이 이전과 동일하게 동작합니다. 토큰은 순수한 편의 기능입니다. 자세한 내용은 디자인 토큰 가이드를 참고하세요.

9. Strict 모드

strict 모드를 활성화하면 토큰에 정의되지 않은 값을 사용할 때 경고를 표시합니다.

strict: true — 팀 모드

토큰 외 값 사용 시 경고 밑줄 + 가장 가까운 토큰값 Quick Fix 제안

{
    "tokens": { ... },
    "strict": true
}

strict: false — 자유 모드 (기본)

토큰이 자동완성 상위에 표시되지만, 어떤 값이든 자유롭게 사용 가능

{
    "tokens": { ... },
    "strict": false
}
<!-- With strict: true and spacing tokens [4, 8, 12, 16, 20, 24, 32] -->

<!-- ✓ Token value — no warning -->
<div class="gap16px p2rem mt2-4rem">

<!-- ⚠ Non-token value — warning + Quick Fix -->
<div class="gap15px p17px mt2-3rem">
<!--  gap15px: closest token → gap16px
      p17px: closest token → p16px
      mt2-3rem: closest token → mt2-4rem -->

추천: 개인 프로젝트에서는 strict: false, 팀 프로젝트에서 디자인 일관성이 중요하면 strict: true를 사용하세요.

10. CSS 변수 자동완성

프로젝트의 CSS/SCSS 파일에서 :root 변수를 자동으로 스캔하여, bg-- 입력 시 실제 변수명을 자동완성으로 제안합니다.

styles.css
:root {
    --primary: #6366F1;
    --surface: #111118;
    --text: #FAFAFA;
    --border: #1E1E2E;
    --accent: #38BDF8;
}

아래처럼 bg--, c-- 등을 입력하면 프로젝트 변수명이 자동완성됩니다.

<!-- Type "bg--" to see variable suggestions from your project -->
<div class="bg--surface c--text b1pxsolid--border">
  <h1 class="c--primary">Title</h1>
  <a class="c--accent hover-c--primary">Link</a>
</div>

변수가 정의된 소스 파일명원래 값도 함께 표시되어 어떤 변수인지 쉽게 파악할 수 있습니다.

11. 미사용 클래스 감지

atomic.css에 생성된 클래스 중 HTML에서 사용하지 않는 것을 감지합니다.

1명령어 팔레트에서 "Atomic CSS: Detect Unused Classes" 실행
2atomic.css와 HTML 파일을 비교
3미사용 클래스에 흐린 밑줄 표시 (Unnecessary 태그)

미사용 클래스는 흐린 표시(Unnecessary)로 나타나며, 삭제하면 CSS 파일 크기를 줄일 수 있습니다.

12. 인라인 CSS 힌트

class 속성의 끝에 CSS 속성명을 작은 회색 글씨로 표시하여, 마우스를 올리지 않고도 각 클래스가 어떤 속성을 지정하는지 한눈에 볼 수 있습니다.

<!-- In the editor, decorations appear at the end of class attributes -->

<div class="df jcc aic">
<!-- ↑ shows: /* display | justify-content | align-items */  -->

<div class="bg6366F1 cFFFFFF p2rem br8px">
<!-- ↑ shows: /* background-color | color | padding | border-radius */  -->

<div class="w100p maxw120rem mxa">
<!-- ↑ shows: /* width | max-width | margin-left | margin-right */  -->

최대 6개 속성까지 표시하며, 그 이상은 +N으로 축약됩니다.