커서는 VS Code를 기반으로 구축된 AI 기반 코드 편집기로, GPT-4와 Claude를 포함한 여러 AI 모델을 지원하며 코드 생성, 편집 및 디버깅을 위한 고급 AI 기능을 통합합니다.
설치 및 설정
| 명령어 | 설명 |
|---|
| Download from cursor.sh | 공식 웹사이트에서 Cursor 설치 |
cursor --version | 설치된 버전 확인 |
cursor . | Cursor에서 현재 디렉토리 열기 |
cursor file.py | 특정 파일 열기 |
cursor --help | 도움말 정보 표시 |
cursor --extensions-dir | 확장 프로그램 디렉터리 표시 |
기본 AI 기능
| 바로 가기 | 설명 |
|---|
Ctrl+K / Cmd+K | Open AI 명령 팔레트 |
Ctrl+L / Cmd+L | Open AI 채팅 패널 |
Ctrl+I / Cmd+I | 인라인 AI 편집 |
Tab | AI 제안 수락하기 |
Escape | AI 제안 거부 |
Alt+] / Option+] | 다음 AI 제안 |
Alt+[ / Option+[ | 이전 AI 제안 |
AI 채팅 명령어
| 명령어 | 설명 |
|---|
@workspace | 전체 워크스페이스 참조 |
@file | 특정 파일 참조 |
@folder | 참조 폴더 내용 |
@code | 선택된 코드 참조 |
@docs | 참조 문서 |
@web | 컨텍스트를 위해 웹 검색 |
@git | Git 히스토리 참조 |
코드 생성
인라인 생성
| 바로 가기 | 설명 |
|---|
Ctrl+K then type prompt | 인라인 코드 생성하기 |
Ctrl+K then Ctrl+A | 전체 파일 생성 |
Ctrl+K then Ctrl+D | 문서 생성 |
Ctrl+K then Ctrl+T | 테스트 생성 |
Ctrl+K then Ctrl+R | 코드 리팩터링 |
Ctrl+K then Ctrl+F | 코드 문제 해결 |
채팅 기반 생성
| 명령어 | 설명 |
|---|
| ”Create a function that…” | 특정 함수 생성 |
| ”Add error handling to this code” | 기존 코드 개선 |
| ”Convert this to TypeScript” | 언어 변환 |
| ”Optimize this algorithm” | 성능 최적화 |
| ”Add comments to explain this” | 문서 생성 |
코드 편집
선택 기반 편집
| 바로 가기 | 설명 |
|---|
Select code + Ctrl+K | 선택한 코드 편집 |
Select code + Ctrl+I | 인라인 편집 선택 |
Ctrl+Shift+K | 컨텍스트와 함께 편집하기 |
Alt+K | 빠른 편집 |
멀티 커서 편집
| 바로 가기 | 설명 |
|---|
Ctrl+Alt+Down / Cmd+Option+Down | 커서 아래에 추가 |
Ctrl+Alt+Up / Cmd+Option+Up | 커서 위에 추가 |
Ctrl+D / Cmd+D | 다음 항목 선택 |
Ctrl+Shift+L / Cmd+Shift+L | 모든 항목 선택 |
AI 모델 구성
| 설정 | 설명 |
|---|
| GPT-4 | 복잡한 작업을 위한 기본 모델 |
| GPT-3.5-turbo | 간단한 작업을 위한 더 빠른 모델 |
| Claude-3 | 코딩을 위한 대안적 모델 |
| Codex | 코드 생성에 특화됨 |
| Custom models | 로컬 또는 사용자 정의 모델 구성 |
워크스페이스 기능
파일 관리
| 바로 가기 | 설명 |
|---|
Ctrl+P / Cmd+P | 빠른 파일 열기 |
Ctrl+Shift+P / Cmd+Shift+P | 명령 팔레트 |
Ctrl+Shift+E / Cmd+Shift+E | 탐색기 패널 |
Ctrl+Shift+F / Cmd+Shift+F | 파일 간 검색 |
Ctrl+Shift+G / Cmd+Shift+G | 소스 컨트롤 |
AI 강화 검색
| 명령어 | 설명 |
|---|
@search "semantic query" | 의미론적 코드 검색 |
@find "natural language" | 자연어 파일 찾기 |
@grep "pattern with AI" | AI 기반 grep |
AI로 디버깅
| 기능 | 설명 |
|---|
| AI Debug Assistant | 디버깅 출력 설명하기 |
| Error Explanation | AI가 오류 메시지를 설명합니다 |
| Fix Suggestions | AI가 버그에 대한 수정 사항을 제안합니다 |
| Breakpoint Analysis | AI는 브레이크포인트 컨텍스트를 분석합니다 |
디버그 명령어
| 바로 가기 | 설명 |
|---|
F5 | 디버깅 시작하기 |
F9 | 중단점 토글 |
F10 | 한 단계 건너뛰기 |
F11 | 들어서다 |
Shift+F11 | 한 걸음 내딛다 |
Ctrl+Shift+F5 | 디버깅 다시 시작 |
Git 통합
| 명령어 | 설명 |
|---|
@git diff | AI가 Git 차이점을 설명합니다 |
@git commit | 커밋 메시지 생성하기 |
@git branch | 브랜치 이름 제안하기 |
@git merge | 병합 충돌 도움말 |
Git 바로가기
| 바로 가기 | 설명 |
|---|
Ctrl+Shift+G / Cmd+Shift+G | 소스 컨트롤 패널 |
Ctrl+Enter / Cmd+Enter | 변경 사항 커밋 |
Ctrl+Shift+P then “Git”` | Git 명령어들 |
확장 프로그램 및 사용자 정의
인기 확장 프로그램
| 확장 프로그램 | 설명 |
|---|
| Cursor AI | 코어 AI 기능 |
| GitHub Copilot | 추가 AI 지원 |
| Prettier | 코드 형식 지정 |
| ESLint | JavaScript 린팅 |
| Python | Python 언어 지원 |
| Live Share | 실시간 협업 |
설정 구성
| 설정 | 설명 |
|---|
cursor.ai.model | 기본 AI 모델 |
cursor.ai.temperature | AI 창의성 수준 |
cursor.ai.maxTokens | 최대 응답 길이 |
cursor.ai.autoComplete | 자동 완성 활성화 |
cursor.ai.inlineChat | 인라인 채팅 활성화 |
고급 기능
컴포저 모드
| 기능 | 설명 |
|---|
| Multi-file editing | 동시에 여러 파일 편집하기 |
| Project-wide changes | 전체 프로젝트에 변경 사항 적용 |
| Dependency tracking | 파일 종속성 추적 |
| Batch operations | 대량 작업 수행 |
AI 에이전트
| 에이전트 | 설명 |
|---|
| Code Agent | 코드 작업을 위해 특화됨 |
| Debug Agent | 디버깅에 집중된 |
| Test Agent | 테스트를 생성하고 실행합니다 |
| Docs Agent | 문서를 생성합니다 |
| Refactor Agent | 코드 리팩토링 전문가 |
언어별 기능
Python
Would you like me to fill in the remaining numbered sections with translations as well?
| 명령어 | 설명 |
|---|
@python "create class" | Python 클래스 생성하기 |
@python "add type hints" | 타입 주석 추가하기 |
@python "create tests" | pytest 테스트 생성 |
@python "optimize" | 성능 최적화 |
| 명령어 | 설명 |
|---|
@js "create component" | React 컴포넌트 생성하기 |
@ts "add types" | TypeScript 타입 추가하기 |
@js "async/await" | async/await로 변환 |
@js "error handling" | 오류 처리 추가 |
| 명령어 | 설명 |
|---|
@rust "safe code" | 안전한 Rust 코드 생성하기 |
@go "concurrent" | Go 동시성 패턴 |
@java "spring boot" | Spring Boot 애플리케이션 |
@cpp "modern cpp" | 현대 C++ 기능들 |
| 템플릿 | 설명 |
|---|
@template api | REST API 템플릿 |
@template component | UI 컴포넌트 템플릿 |
@template test | 테스트 파일 템플릿 |
@template config | 구성 템플릿 |
| 기능 | 설명 |
|---|
| Auto-save | 자동 파일 저장 |
| Format on save | 코드 자동 서식 지정 |
| Lint on save | 자동 린트 코드 |
| AI suggestions | 사전 제안 |
| 기능 | 설명 |
|---|
| Live Share | 실시간 협업 |
| AI Pair Programming | AI를 코딩 파트너로 |
| Code Reviews | AI 지원 리뷰 |
| Team Settings | 공유된 AI 구성 |
| 바로 가기 | 설명 |
|---|
Ctrl+Shift+P then “Live Share”` | 협업 세션 시작하기 |
Ctrl+Shift+P then “Share”` | 작업 공간 공유 |
| 설정 | 설명 |
|---|
cursor.ai.cacheSize | AI 응답 캐시 크기 |
cursor.ai.requestTimeout | 요청 시간 초과 |
cursor.ai.batchSize | 배치 요청 크기 |
cursor.ai.throttle | 요청 제한 |
| 문제 | 솔루션 |
|---|
| AI not responding | 인터넷 연결 확인 |
| Slow responses | 컨텍스트 크기 줄이기 |
| Wrong suggestions | 더 많은 맥락을 제공하세요 |
| Model errors | Switch AI 모델 |
| Extension conflicts | 충돌하는 확장 프로그램 비활성화 |
| 명령어 | 설명 |
|---|
Ctrl+Shift+P then “Developer: Reload Window”` | 커서 다시 로드하기 |
Ctrl+Shift+P then “Developer: Toggle Developer Tools”` | 개발자 도구 열기 |
Help > Show All Commands | 사용 가능한 모든 명령어 표시 |
{
"cursor.ai.customModels": [
{
"name": "Local Model",
"endpoint": "http://localhost:8000",
"apiKey": "your-api-key"
}
]
}
```## API 통합
### 맞춤형 모델
```json
{
"cursor.ai.webhooks": {
"onCodeGeneration": "https://your-webhook.com/code",
"onError": "https://your-webhook.com/error"
}
}
```### 웹훅 구성
| 바로 가기 | 액션 |
|---------|-------------|
| `Ctrl+K` | AI 명령어 |
| `Ctrl+L` | AI 채팅 |
| `Ctrl+I` | 인라인 편집 |
| `Tab` | 제안 수락 |
| `Escape` | 제안 거부 |
| `Ctrl+/` | 주석 토글 |
| `Ctrl+S` | 파일 저장 |
| `Ctrl+Z` | 실행 취소 |
| `Ctrl+Y` | 다시 하기 |## 키보드 단축키 요약
### 필수 단축키
| 바로 가기 | 액션 |
|---------|-------------|
| `Ctrl+P` | 빠른 열기 |
| `Ctrl+G` | 줄로 이동 |
| `Ctrl+F` | 찾기 |
| `Ctrl+H` | 대체 |
| `F12` | 정의로 이동 |
| `Alt+F12` | Peek 정의 |### 탐색
```yaml
# GitHub Actions with Cursor
name: AI Code Review
on: [pull_request]
jobs:
ai-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: AI Code Review
run: cursor-cli review --pr ${{ github.event.number }}
```## 모범 사례
### 효과적인 프롬프팅
- 요청을 구체적이고 명확하게 하세요
- 더 나은 결과를 위해 컨텍스트를 제공하세요
- 가능하면 예시를 사용하세요
- 복잡한 작업을 작은 부분으로 나누세요
- 프롬프트를 반복하고 개선하세요
### 코드 품질
- AI가 생성한 코드를 주의 깊게 검토하세요
- 적절한 오류 처리를 추가하세요
- 포괄적인 테스트를 포함하세요
- 코딩 표준을 따르세요
- 복잡한 로직을 문서화하세요
### 성능
- 작업에 적절한 AI 모델을 사용하세요
- 컨텍스트 크기를 최적화하세요
- 자주 사용되는 응답을 캐시하세요
- API 사용량을 모니터링하세요
- 타임아웃을 적절히 구성하세요
### 보안
- 보안 문제에 대해 AI 제안을 검토하세요
- 프롬프트에 민감한 데이터를 포함하지 마세요
- 안전한 API 엔드포인트를 사용하세요
- 적절한 접근 제어를 구현하세요
- 정기적인 보안 감사를 수행하세요
## 통합 예시
### CI/CD 통합
```bash
#!/bin/bash
# Cursor automation script
cursor --ai-command "review and optimize" src/
cursor --ai-command "generate tests" src/
cursor --ai-command "update documentation" docs/
```### 맞춤형 스크립트