본문 바로가기

혼자 공부하기/개발 스터디

[Cursor AI] Cursor AI 시작하기 - 홈페이지 둘러보기(Docs: Get Started, Tab, Chat)

728x90
반응형

 

 

 

 

Cursor AI의 Docs 로 가보겠다.

 

 

https://docs.cursor.com/get-started/migrate-from-vscode

 

Cursor - Build Software Faster

Cursor is a fork of VS Code. This allows us to focus on making the best way to code with AI, while offering a familiar text editing experience. Import Extensions, Themes, Settings, and Keybindings You can import your VS Code configuration into Cursor with

docs.cursor.com

 

 

 

  • Get Started
  • Tab
  • Chat
  • Cad K
  • Context
  • Advance
  • Privacy
  • Trobleshooting

 

 

이렇게 크게 8가지로 구분되어 있다.

 

하나씩 살펴보자.

 

 

 


 

 

 

Get Started

Migrate from VS Code

Cursor는 VS code의 소프트웨어 기존 소스 코드를 가져와서 발전 시킨 것(Fork)이라고 한다. 그러면 VS Code를 기존에 사용하는 사람들에겐 많이 익숙할 것이다. 

 

Import Extensions, Themes, Settings, and Keybindings

Cursor 에서는 VS Code에서 한 환경 설정을 가져올 수 있다. 

Setting > General > Account

이 경로에 있다고 함.

 

 

Staying Up to Date

VS Code에 맞춰서 Cursor 도 주기적으로 최신 버전으로 업데이트가 된다.

 

 

Why Not an Extension?

Cursor는 독립적인 애플리케이션으로, 에디터의 UI를 더 잘 컨트롤 할 수 있다. 그리고 Cursor TabCMD - K 같은 기능은 기존 플러그인 환경으로는 구현이 불가능하다고 한다. 

 

 

Settings

Cursor의 상세 세팅 창은우측 상단의 기어 버튼(톱니바퀴 모양인듯)을 클릭하거나, Ctrl/Cmd + Shift + J 또는 Ctrl/Cmd + Shift + P를 누른 후 Cursor Settings를 입력해서 열 수 있다.

VS Code 전용 설정을 하려면 Crtl/Cmd + Shift + P 를 누르고 VS Code Settings를 입력하면 되겠다.

 

 

Why is the Activity Bar in Cursor horizontal?

액티비티 바는 채팅 공간을 확보하기 위해 가로로 배치되어 있다. 세로 배치로 변경하고자 한다면 VS Code 설정에서 worckbench.activityBar.orientationvertical로 변경한 후, Cursor를 재실행 하면 된다.

 

 

 

Usage

대체로 요금 정보가 나와있는 듯 하다.

요금은 이 곳에서 볼 수 있다.

 

https://www.cursor.com/pricing

 

Pricing | Cursor - The AI-first Code Editor

500 fast premium requests per month Unlimited slow premium requests

www.cursor.com

 

 

 

Subscription Tiers

 

Hobby

  • 14일 Pro 체험 제공
  • 느린 프리미엄 모델 50회 사용 가능
  • cursor-small 모델 200회 사용 가능
  • 코드 완성 기능 2000회 사용 가능

 

Pro

  • 프리미엄 모델 월 500회 사용 가능
  • 느린 프리미엄 모델 무제한 사용 가능
  • cursor-small 모델 무제한 사용 가능
  • 코드 완성 기능 무제한 사용 가능
  • Claude Opus 를 매월 10회 사용 가능
Claude Opus가 뭐지?

Claude Opus는 Anthropic에서 개발한 Claude AI 모델 중 가장 성능이 뛰어난 모델이라고 한다(복잡한 작업에 최적화).
광범위한 데이터 처리, 복잡한 분석 및 연구 보고서 작성과 같은 작업에 적합하다. 특히, 200,000 토큰의 큰턴텍스 창을 갖고 있어 한 번에 많은 데이터를 처리할 수 있다. 같은 곳에서 개발한 Claude Sonnet이나 Claude Haiku와 비교했을 때 Opus는 속도는 느리지만 깊이 있는 분석과 이해 능력이 뛰어나다(Sonnet은 속도가 빠르고 효율적, Haiku는 즉각적 응답 필요시).
Chat GPT-4와 같은 고급 AI 모델들과 함꼐 사용할 수 있다. 

 

 

Business

  • Pro 급과 동일
  • 추가 혜택은 가격 페이지 참고

 

Premium models

GPT-4, GPT-4o, Claude 3.5 Sonnet이 프리미엄 모델이다.

 

 

Pro Trial

신규 사용자는 14일 동안 Pro 기능 체험이 가능하고, 14일 이후 Pro 플랜으로 업그레이드 하지 않으면 Hobby 플랜으로 전환된다.

 

 

Fast and Slow Requests

기본적으로 Cursor는 모든 사용자에게 빠른 프리미엄 모델 요청을 제공하려 하지만, 피크 시간 동안 빠른 프리미음 크레딧을 다 쓰게 되면 느린 대기열로 이동된다. 그리고 빠른 요청이 가능할 때까지 기다리게 된다. 모두에게나 똑같이 적용되는거고, 가능한 짧게 이 느린 대기열 대기 시간을 유지하도록 하고자 한다. 더 많고 빠른 요청이 필요하면, 설정 페이지에서 추가할 수 있다.

 

 

Check Your Usage

Cursor 사용량은 설정 페이지에서 확인할 수 있다. Cursor 애플리케이션 내에서 Settings > General > Account 로 이동하여, Pro 사용자는 Manage Subscription,  비즈니스 사용자는 Manage 버튼을 눌러 확인하면 된다. 사용량은 구독 날짜 기준으로 초기화된다.

 

 

Optional Usage-based Pricing

사용량을 초과하는 요청이 있는 경우,사용량 기반 요금제에 가입할 수 있다. 사용량 기반 가격의 세부 내용은 아래와 같다.

  • 사용량은 월 단위로 계산되며, 청구 주기와는 별개로 매달 2-3일 경에 청구됨
  • 요청을 즉시 취소하거나 요류가 발생하면 그 요청은 청구되지 않음
  • 사용량 최상한선(hard limit)을 설정할 수 있고, 그 상한선 이상으로는 요금이 부과되지 않음
  • 현재 사용량 기반 가격은 Claude 3 Opus 및 몇몇의 긴 문맥 대화 모델에 적용됨

 

 


 

반응형

 

 

Tab

 

Overview

Cursor Tab은 Cursor의 자동 완성 기능으로 Copliot보다 더 강력하다. 메모리가 특히 좋아서, 코드 작성 시 전체 차이(diff)를 제공한다.

 

Cursor Tab은 커스텀 모델로 구동되며, 아래와 같은 기능을 제공한다.

  • 커서 주변에서 코드를 수정하거나, 단순히 코드를 추가하는 것 이상으로 제안
  • 여러 줄을 한 번에 수정 가능
  • 최근 변경된 코드 및 린터 오류 기반 제안 제공
린터 오류가 뭐지

린터(Linter)는 코드 내에서 잘못된 문법, 형식 오류, 또는 잠재적 버그를 자동으로 감지해 주는 도구이다. 주로 프로그래밍 언어에서 코드의 품질을 개선하고, 실수를 줄이기 위해 사용된다. 린터 오류(Linter Error) 는 린터가 코드에서 감지한 문제점을 의미함. 예를 들어, 잘못된 변수 선언, 사용되지 않은 변수 감지, 특정 스타일 가이드를 따르지 않을 때 등의 상황에서 린터 오류가 발생한다. 린터 오류는 개발자가 실수로 놓치는 부분을 자동으로 검토해 주기 때문에, 코드의 품질과 유지보수성을 높이는 데 큰 도움이 된다.

 

 

무료 사용자는 2000개의 제안을 무료로 받을 수 있고, Pro 및 Business 요금제 사용자들은 무제한으로 받을 수 있다.

 

 

UI

Corsor가 추가적인 텍스트를 제안할 때에는 회색 글씨로 표시된다. 기존 코드를 수정하는 제안은 현재 라인의 오른쪽 diff 팝업으로 나타난다.

  • 제안 수락 시 Tab키, 거절 시 Esc
  • 부분적 제안 수락은 Ctrl/Cmd + → 로 단어별 수락 가능
  • 이 팝업을 무시하고 계속 타이핑 하거나 Escape를 누르면 제안 거부 가능

각 키의 입력 또는 커서 이동 시 Cursor는 최근 변경 사항을 기반으로 정보 제안을 시도한다. 하지만 항상 제안이 표시되는 것은 아니며, 모델이 수정이 필요 없다고 판단하면 제안을 하지 않는다.

 

Cursor는 현재 라인에서 위로 한 줄, 아래로 두 줄까지 수정할 수 있다.

 

 

Toggling

기능을 켜거나 끄려면, 애플리케이션 오른쪽 하단 상태 표시줄의 Cursor Tab 아이콘에 마우스를 올리면 된다.

 

 

 

Migrate from GitHub Copliot

 

Tab Improvements

Cursor 와 GitHub Copliot의 가장 큰 차이점은 코드 완성 방식이다.

  • GitHub Copliot은 커서 위치에 텍스트를 삽입할 수 있지만, 커서 주변의 코드를 수정하거나 텍스트를 제거하지는 못함
  • Cursor는 커서 위치에 텍스트를 삽입할 뿐만 아니라, 더 많은 작업이 가능
      - 여러 문자를 한 번에 수정
      - 지시 기반 수정(사용자가 지시를 내리면 AI가 지시를 바탕으로 코드를 수정하는 기능)

추가적으로, Cursor는 최근 변경 사항의 기록을 컨텍스트 창에 보관하고 있어서 사용자가 다음에 무엇을 하려는지 알고 제안할 수 있다.

 

 

Migrate from GitHub Copliot

Cursor는 기본적으로 GitHub Copliot과 함께 제공 될 수 있다. 따라서 GitHub Copliot과 Cursor가 동시에 설치되어 있을 수 있다. Cursor를 사용할 때에는 GitHub Copliot을 끄는 것을 권장한다.

기본적으로 Cursor가 GitHub Copliot 보다 우선적으로 동작한다. 만약 GitHub Copliot을 사용하고 싶다면, 설정에서 Cursor를 비활성화 하면 되겠다.

 

 

 

Advanced Features

Tab in Peek

Peek이 뭐지

Peek 기능은 Visual Studio Code(VS Code)에서 제공하는 코드 탐색 기능 중 하나로, Go to Definition 또는 Go to Type Definition 같은 명령을 실행할 때 코드 내의 정의된 위치로 이동하지 않고, 코드의 일부를 미리 보기로 팝업 창에서 확인할 수 있게 해준다. Peek 기능을 사용하면, 함수나 변수의 정의를 전체 파일에서 찾아 이동하지 않고, 현재 파일을 유지한 채로 관련된 정의를 미리 확인할 수 있어 작업 흐름을 방해받지 않고 빠르게 코드를 이해하거나 수정할 수 있다. 이는 특히 함수 호출을 수정하거나, 여러 위치에서 사용하는 함수를 한 번에 수정할 때 아주 유용하다. 

 

Cursor Tab은 Go to Definition 또는 Go to Type Definition과 같은 Peek 뷰에서도 사용할 수 있다. 예를 들어, 함수 호출에 새로운 인수를 추가할 때 이 기능이 유용하다. 

특히, vim에서 gd 명령과 함께 사용하면, 함수 정의를 수정한 후 해당 함수가 사용된 모든 곳을 한 번에 수정할 수 있어 아주 편리하다.

 

 

Cursor Prediction

Cursor는 수정이 완료된 후 사용자가 어디로 이동할지 예측할 수 있다. 예측한 위치로 이동이 가능한 경우, Tab 키를 눌러 다음 위치로 이동할 수 있다. 이 기능을 통하여 여러 수정 사항을 Tab-Tab-Tab을 하여 빠르게 이동하며 처리할 수 있다.

 

 

Partial Accepts

제안된 내용을 부분적으로 수락하려면, Ctrl/Cmd + 을 눌러 다음 단어만 수락할 수 있다. 또한, 설정에서 editor.action.inlineSuggest.acceptNextWord를 원하는 키 바인딩으로 변경하여 사용할 수 있다.

부분 수락 기능을 활성화 하려면, Cursor Settings > Features < Cursor Tab 에서 설정할 수 있다.

 

 

728x90

 

 


 

 

Chat

Overview

Cursor Chat은 에디터 내에서 언어 모델을 사용해 코드베이스에 대한 질문을 하거나 문제를 해결할 수 있게 한다.

언어 모델이 좋은 답변을 제공하려면, 코드베이스와 관련된 특정 맥락(컨텍스트)을 알야하 한다. Cursor는 이러한 맥락을 자동으로 제공하는 여러 기능을 내장하고 있다. 여기에는 코드베이스 전체에서 맥락을 자동으로 포함하거나, 웹 검색, 문서 인덱싱(색인화), 사용자가 지정한 코드 블록 참조가 포함된다. 이 기능들을 통해 언어 모델을 사용할 때 불필요한 복사-붙여넣기 작업을 줄일 수 있다.

 

기본적으로 Cursor Chat은 AI 패널에 있으며, 이는 주 사이드 바의 반대쪽에 위치한다. Ctrl/Cmd + L 을 눌러서 AI 패널을 열고, 열린 상태에서 채팅에 집중할 수 있다. Chat에서 질문을 제출하려면 Enter를 누른다.

 

 

User and AI Messages

  • 사용자 메시지는 사용자가 입력한 텍스트와 참조된 컨텍스트를 말함. 이전 사용자 메시지로 돌아가 질문을 수정하고 다시 실행할 수 있으며, 이는 이후의 모든 메시지를 덮어쓰고 새 매시지를 생성함.
  •  AI 메시지는 사용자가 선택한 AI 모델이 생성한 응답. AI 메시지는 앞서 나온 사용자 메시지와 한 세트로 구성되고, AI 메시지에서 파싱된 코드 블록도 여기에 포함됨. 그리고 이를 코드베이스에 즉시 적용도 가능함

모든 사용자/AI 메시지는 함께 채팅 스레드를 이루며, 각 채팅 스레드는 채팅 기록에 저장된다.

 

 

Chat History

AI 패널 오른쪽 상단의 이전 채팅(Previous Chats)을 누르거나, Ctrl/Cmd + Alt/Options + L 을 누르면 채팅 기록을 볼 수 있다. 이전 스레드 중 하나를 클릭하여 메시지를 다시 볼 수 있으며, 스레드의 제목을 수정하거나 휴지통 아이콘을 눌러 스레드를 삭제할 수 있다.

Cursor 스레드 제목은 첫 번째 사용자 메시지의 앞 몇 단어로 지정된다. 

 

 

Default Context

기본적으로 Cursor Chat의 컨텍스트는 현재 열린 파일이다. 컨텍스트 없이 질문을 제출하려면, 제출할 때 Alt/Option + Enter 을 누르거나, Cursor Settings > Features > Chat에서 기본으로 컨텍스트 제외(Default to no context) 옵션을 활성화할 수 있다.

입력 상제 아래 포함된 컨텍스트를 알약 모양(pills)으로 확인 가능하다. 

 

 

Adding Context

기본적으로 사용자 메시지에는 사용자가 입력한 텍스트와 함께 참조된 컨텍스트가 포함된다. @기호를 사용하여 각 메시지에 더 많은 사용자 정의 컨텍스트를 추가할 수 있으며, 기본적으로 현재 파일도 컨텍스트로 포함된다.

@ 기호에 대한 자세한 내용은 추후 별도 페이지에서 다시 설명하겠다.

 

 

AI Fix in Chat

코드베이스에서 린터 오류를 수정하는 기능이 있다. 에디터에서 오류 위로 커서를 올려 놓으면 파란색 AI 수정 버튼이 나타난다. 이를 클릭하면 편리하게 린터 오류를 수정할 수 있다.

단축키는 Ctrl/Cmd + Shift + E 이다.

 

 

Long Context Chat(Beta)

긴 컨텍스트 채팅을 사용하려면 Cursor Settings > Beta > Long Context Chat에서 활성화 할 수 있다. 활성화 후에는 Ctrl/Cmd 로 다른 채팅 모드를 전환할 수 있다.

긴 컨텍스트 채팅을 통해 전체 폴더를 컨텍스트로 포함할 수 있다. 해당 모델은 더 큰 컨텍스트 창을 지원한다. 이 부분은 추후 별도 페이지에서 다시 소개될 것이라서.. 약간 이해를 포기함. 살짝 확인한 바로 해당 모델이라는 것은 gpt-4o 등을 의미하는 것 같다.

 

 

 

Custormize

 

Choose an AI Model

선호하는 AI 모델을 모델 토글을 통해 선택한다. Cursor Chat은 선택한 모델을 사용해 응답을 생성한다. Ctrl/Cmd + / 키를 동시에 눌러 모델 전환이 가능하다.

기본적으로 Cursor Chat은 Open AI의 GPT-4 모델(GPT-4 Turbo 인스턴스)을 사용한다.

선택한 AI 모델은 향후 세션에서도 저장되므로, Cursor Chat을 열 때마다 변경할 필요가 없다.

 

 

In-Editor

'더 보기(More)' 버튼을 클릭한 후 '에디터에서 채팅 열기' 버튼을 클릭하면 Cursor Chat을 에디터 탭으로 사용할 수 있다. Ctrl/Cmd + L 키를 누르면 채팅 탭이 열리고 그곳으로 포커스가 이동한다.

 

 

Settings

Cursor Chat의 설정은 Cursor Settings > Features > Chat에서 커스터마이징 할 수 있다.

이 설정에는 아래 옵션이 포함된다.

  • 항상 웹 검색을 사용해 답변 착기
    이 옵션을 활성화하면 AI 모델이 최신 정보를 위해 각 쿼리마다 웹을 검색
  • 채팅 패이딩 애니메이션 추가
    AI 메시지가 생성될 때 부드러운 애니메이션 효과를 추가
  • 기본적으로 컨텍스트 없음
    이 옵션을 활성화하면 AI 모델이 사용자 메시지만을 컨텍스트로 사용하고, 현재 파일 등 추가적인 컨텍스트논 포함하지 않음
  • 자동 스크롤 채팅
    AI가 텍스트를 생성할 때 대화창의 맨 아래에 있는 경우 자동으로 스크롤 됨
  • 채팅 창에 좁은 스크롤바 사용
    채팅 창의 스크롤바를 좁게 만듦
  • 새 채팅 시작 시 채팅 기록 표시
    새로운 채팅을 시작할 때 이전 채팅 기록을 표시

 

 

With Codebase

Default Codebase Chat

만일 코드베이스가 인덱싱되지 않은 경우, Cursor Chat은 먼저 코드베이스 전체를 검색할 수 있는 몇 가지 검색 쿼리를 생성하려고 함. 더 정확한 결과를 얻기 위해서는 임베딩(Embeddings) 검색을 사용하는 것을 권장

 

 

Embeddings Search 

코드베이스 인덱싱이 완료된 상태에서, Curosr Chat은 코드베이스를 기반으로 정확한 응답을 생성할 수 있다. 메시지를 입력 후 Ctrl/Cmd + Enter 키를 누르면, Cursor Chat은 인덱싱된 코드베이스를 스캔하여 관련 코드를 찾는다. 이를 통해 대화의 맥락에 포함된 코드 조각을 신속하게 추가할 수 있다. 더 나은 정확도와 코드베이스 검색 제어를 원할 경우, @codebase 명령어를 사용하는 것이 좋다.

 

 

Advanced Codebase Search

Cursor 코드베이스 채팅에서 @Codebase를 사용할 경우, 더 자세한 검색을 수행한다.

@Codebase에 대한 자세한 내용은 추후 페이지에서 다시 설명할 예

 

 

 

Apply

Cursor의 apply 기능을 사용하면 채팅에서 제공된 코드 블록 제안을 빠르게 코드에서 통합할 수 있음

 

 

Apply Code Blocks

코드 블록 제안을 적용하려면, 각 채팅 코드 블록의 오른쪽 상단에 있는 실행(Play) 버튼을 누르면 된다.

이렇게 하면 채팅에서 생성된 코드를 파일에 통합하여 편집한다. 채팅에서 가장 많은 컨텍스트를 추가하고 모델과 더 많이 상호작용 할 수 있기 때문에, 복잡한 AI 기반 코드 변경의 경우 채팅 + apply 방식 사용을 권장한다.

 

 

Accept or Reject

코드 블록을 적용한 후에는 변경 사항(diff)을 확인하고, 이를 Accept 또는 Reject 할 수 있다. 채팅 코드 블록 오른쪽 상단에 있는 Accept 또는 Reject 버튼을 클릭하여 변경 사항을 수락 또는 거부할 수 있다.

Ctrl/Cmd + Enter : 수락

Ctrl/Cmd + Backspace : 거부

 

 

 


 

 

문서를 읽지 않았으면 몰랐을 내용들이 많네.

무엇이든지 (조립할 때, 요리 할 때 등) 설명을 읽지 않고 내 맘대로 하면서 기능을 찾아가는 것을 좋아했는데, 미리 읽어보니 시도해보고 싶은 기능들도 많이 생겼다.

일단 여기까지 정리해보고, 운동 다녀와야겠다.

 

 

728x90
반응형