# Cursor 에디터 설정 가이드 (Nuxt 4 최적화) > 작성일: 2026-03-19 > 버전: v1.0 > 담당: 시니어 Dev > 적용 대상: FE 팀 전원 --- ## 개요 Cursor는 AI 기반 코드 에디터로, VS Code 기반 위에 Claude/GPT-4 등 LLM을 통합하여 코드 생성·리팩토링·디버깅을 대화형으로 지원합니다. 이 가이드는 Nuxt 4 프로젝트에 최적화된 Cursor 설치 및 설정 방법을 안내합니다. ### GitHub Copilot과의 차이점 | 항목 | GitHub Copilot | Cursor | |------|---------------|--------| | 기반 에디터 | VS Code (플러그인) | VS Code 포크 (독립 에디터) | | AI 엔진 | GitHub (OpenAI 기반) | Claude / GPT-4o / 자체 모델 선택 가능 | | 컨텍스트 | 현재 파일 중심 | 프로젝트 전체 인덱싱 (@codebase) | | 대화형 편집 | 제한적 (인라인 제안) | Composer: 멀티파일 동시 편집 | | 프로젝트 규칙 | 없음 | `.cursorrules` / `.cursor/rules/` | | 가격 | $19/월 (Business) | $20/월 (Pro), 무료 티어 있음 | > **권장**: Cursor를 주 에디터로 사용하고, Copilot은 VS Code 환경에서 병행 사용 --- ## 1. 설치 ### 1-1. 다운로드 및 설치 1. [cursor.com](https://www.cursor.com) 접속 2. **Download for Mac** 클릭 (macOS 기준) 3. `.dmg` 파일 실행 → Applications 폴더로 드래그 ### 1-2. 기존 VS Code 설정 가져오기 최초 실행 시 **"Import from VS Code"** 선택: - 익스텐션, 키바인딩, 테마, 설정이 자동으로 이전됩니다. - 기존 VS Code 사용자는 적응 비용 최소화 ### 1-3. 계정 연동 1. Cursor 실행 → 우측 하단 프로필 아이콘 클릭 2. **Sign In** → GitHub 계정으로 로그인 (권장) 3. 팀 플랜 사용 시 초대 링크로 팀 워크스페이스 참여 --- ## 2. 초기 설정 ### 2-1. AI 모델 선택 `Cursor Settings` (⌘ + ,) → **Models** 탭: | 모델 | 추천 용도 | 속도 | |------|----------|------| | `claude-sonnet-4-6` | 복잡한 리팩토링, 아키텍처 설계 | 중간 | | `claude-haiku-4-5` | 빠른 자동완성, 간단한 수정 | 빠름 | | `gpt-4o` | 대안 모델 | 중간 | > **권장**: 기본 모델을 `claude-sonnet-4-6`으로 설정 ### 2-2. 핵심 설정값 (settings.json) `⌘ + Shift + P` → **"Open User Settings (JSON)"** → 아래 설정 추가: ```json { // Cursor AI 설정 "cursor.general.enableShadowWorkspace": true, "cursor.cpp.enablePartialAccepts": true, // 자동완성 설정 "editor.inlineSuggest.enabled": true, "editor.suggest.preview": true, "editor.tabCompletion": "on", // Nuxt 4 / Vue 3 최적화 "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "[vue]": { "editor.defaultFormatter": "Vue.volar" }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, // TypeScript 설정 "typescript.tsdk": "node_modules/typescript/lib", "typescript.enablePromptUseWorkspaceTsdk": true, // 파일 제외 (성능 향상) "files.exclude": { "**/.nuxt": true, "**/.output": true, "**/node_modules": true, "**/.git": true }, // Tailwind CSS IntelliSense "tailwindCSS.experimental.classRegex": [ ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"], ["cn\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"] ] } ``` ### 2-3. 권장 익스텐션 VS Code에서 사용하던 익스텐션이 이전되지 않은 경우 수동 설치: ``` # 필수 Vue.volar # Vue - Official (Nuxt 4 TypeScript 지원) esbenp.prettier-vscode # Prettier dbaeumer.vscode-eslint # ESLint bradlc.vscode-tailwindcss # Tailwind CSS IntelliSense # 선택 antfu.iconify # Iconify 아이콘 antfu.unocss # UnoCSS (선택) ``` --- ## 3. Nuxt 4 프로젝트 설정 ### 3-1. .cursorrules 파일 적용 프로젝트 루트에 `.cursorrules` 파일을 생성하면 Cursor가 해당 규칙을 모든 AI 응답에 적용합니다. > 템플릿: `docs/cursorrules-template.md` 참조 > 실제 파일: 프로젝트 루트 `.cursorrules`로 복사 후 사용 ### 3-2. .cursor/rules/ 디렉토리 방식 (권장 - Cursor 0.45+) 최신 Cursor는 `.cursor/rules/` 디렉토리 내 여러 `.mdc` 파일로 규칙을 분리할 수 있습니다: ``` .cursor/ └── rules/ ├── nuxt4-conventions.mdc # Nuxt 4 디렉토리 및 컨벤션 ├── typescript-rules.mdc # TypeScript strict 규칙 ├── vue-components.mdc # Vue 컴포넌트 작성 패턴 └── tailwind-patterns.mdc # Tailwind CSS v4 패턴 ``` `.mdc` 파일 예시 (`nuxt4-conventions.mdc`): ``` --- description: Nuxt 4 프로젝트 구조 및 컨벤션 globs: **/*.vue, **/*.ts --- # Nuxt 4 컨벤션 - 앱 코드는 반드시 `app/` 디렉토리 하위에 위치 - 컴포넌트: `app/components/`, 페이지: `app/pages/` - `any` 타입 사용 금지, `unknown` 또는 명시적 타입 사용 ``` ### 3-3. 프로젝트 인덱싱 확인 1. Cursor 하단 상태바 → **"Indexing"** 완료 확인 2. 완료 후 `@codebase` 명령으로 전체 프로젝트 컨텍스트 참조 가능 --- ## 4. 주요 기능 및 단축키 ### 4-1. 핵심 기능 | 기능 | 단축키 | 설명 | |------|--------|------| | AI Chat | `⌘ + L` | 우측 사이드바 AI 채팅 | | Composer | `⌘ + I` | 멀티파일 편집 (핵심 기능) | | 인라인 편집 | `⌘ + K` | 선택 영역 인라인 수정 | | 자동완성 수락 | `Tab` | AI 제안 수락 | | 자동완성 거부 | `Esc` | AI 제안 무시 | | 부분 수락 | `⌘ + →` | 단어 단위 부분 수락 | ### 4-2. Composer 활용 (멀티파일 편집) `⌘ + I` 로 Composer 실행 후: ``` @codebase 를 참고해서 app/components/UserCard.vue 컴포넌트를 생성해줘. - Props: userId(string), showAvatar(boolean, 기본값 true) - TypeScript strict 모드 준수 - Tailwind CSS v4 스타일 적용 - 관련 테스트 파일도 함께 생성 ``` ### 4-3. 컨텍스트 참조 문법 | 문법 | 설명 | |------|------| | `@파일명` | 특정 파일 참조 (예: `@app/app.vue`) | | `@codebase` | 프로젝트 전체 인덱스 참조 | | `@docs` | 연동된 공식 문서 참조 | | `@web` | 실시간 웹 검색 | | `@git` | Git 커밋 히스토리 참조 | --- ## 5. Nuxt 4 개발 프롬프트 패턴 ### 5-1. Vue 컴포넌트 생성 ``` app/components/[ComponentName].vue 파일을 생성해줘. 요구사항: - Props 인터페이스를 TypeScript로 명시적으로 정의 (any 금지) -