VSCode의 Superset, Cursor IDE

hodu·2024년 3월 25일
10
post-thumbnail

🚩 개요

cursor IDE를 최근에 써보았습니다.
OpenAI가 지원하는 IDE라는 점과 Visual Studio Code 에디터를 기반하여 만들어진 점이 매력적이었습니다.

Github Copliot가 비교했을 때, 프로젝트 코드와 동기가 잘되었고, 더 좋은 질의 코드를 제공해주었고, 자동완성으로 제공하는 코드도 좋았습니다.

저는 새로운 도전을 할 때, 중요하게 생각하는 것이 러닝커브, 간단한 설치, 기존 기능 유지인데 이 3개를 챙길 수 있었습니다.

하지만 아쉬운 점도 있었는데요. 용량이 큰 프로젝트에서 VSCode에서는 검색이 되는데, Cursor IDE가 성능 이슈적으로 문제가 있었을 때 AI가 추가 되어서 검색이나 저장이 잘안되는 문제도 있었습니다.

한번 아래 글을 살펴보시고 Cursor의 간단한 사용법과 특징들을 보시고 한번 사용해보셨으면 좋겠습니다.


✅ Cursor IDE

Cursor는 Microsoft의 오픈 소스 Visual Studio Code 에디터를 기반으로 한 포크(fork)이며, 개발자들이 코드를 작성하고 디버깅하는 과정을 보다 효율적으로 만들기 위해 OpenAI의 기능들을 통합하고 있습니다.

AI의 힘을 빌어 개발자는 코드 개선사항을 빠르게 파악하고 적용함으로써, 전반적인 개발 과정의 생산성을 향상시킬 수 있습니다.

또한, Cursor IDE는 VSCode의 확장 기능, 테마, 키바인딩 등을 손쉽게 마이그레이션하여 사용할 수 있도록 지원합니다.

✨ 주요 장점

공식 사이트에서 말하는 장점을 살펴보겠습니다.

❗ 인공지능은 프로젝트를 알고 있다. (Knows your project)

코드베이스 동기화
프로젝트 내에서 변경이 필요한 위치를 빠르게 식별하고, 필요한 정보에 쉽게 접근할 수 있습니다. 이는 개발자가 코드의 특정 부분을 빠르게 찾아 작업을 시작할 수 있게 도와줍니다.

파일 및 문서를 빠르게 참조
프로젝트의 모듈들을 인식하고 있어서 기존 코드를 복사할 필요 없이 빠르게 검색하고 이해시킬 수 있습니다.


❗ 간편한 지시사항(Follows instructions)

VSCode Github Copilot과 동일합니다.

자연어를 통한 코드 생성
간단한 지시로 메서드나 클래스 전체를 변경할 수 있으며, 자연어를 사용하여 수정할 수 있습니다.

초기 설정
간단한 지침을 통해 처음부터 코드를 작성할 수 있으며, 이는 Copilot 기능과 유사합니다.


❗ 할일에 대해 알고 있다(Predicts your next move)

진화한 코파일럿
중간 라인 완성 및 전체 비교를 제안할 수 있는 보다 강력한 Copilot 버전입니다.

❗ 친숙하고 안전하다 (Familiar And Secure)

편리한 마이그레이션
VSCode 사용자 환경을 그대로 가져와 사용할 수 있으며, 호환성이 뛰어납니다.

개인정보 보호 모드
활성화 시 사용자의 코드가 서버에 저장되지 않아, 보안 문제에 대한 우려를 해소할 수 있습니다.


🙌 Cursor IDE의 특징

👍 command-k

Command K를 사용하면 AI로 코드를 편집하고 작성할 수 있습니다.
편집하려면 일부 코드를 선택하고 '편집'을 클릭한 다음 코드를 어떻게 변경해야 하는지 설명하세요.

완전히 새로운 코드를 생성하려면 아무 것도 선택하지 않고 Command K만 입력하면 됩니다.

👍 copilot++

Copilot++는 Cursor의 기본 자동 완성 기능입니다. 하단 상태 표시줄에서 활성화할 수 있습니다.
이는 중간 라인 완성 및 전체 차이점을 제안할 수 있는 보다 강력한 Copilot 버전입니다.

👍 chat

Chat을 사용하면 코드베이스를 보는 AI와 대화할 수 있습니다.

채팅에서는 항상 현재 파일과 커서를 볼 수 있으므로 "여기에 버그가 있나요?"와 같은 질문을 할 수 있습니다.

👍 @symbols

@ 기호를 사용하면 AI에 코드를 쉽게 보여줄 수 있습니다. Command+K 또는 채팅에 "@"를 입력하면 폴더에 있는 모든 파일과 코드 기호의 드롭다운을 얻을 수 있습니다.
@ErrorPopup과 동일한 스타일 사용 같은 특정 종속성이 있는 코드를 생성할 수 있습니다.

파일에 대해 질문하는 데 @inlineDiffService.ts의 기능은 무엇입니까?처럼 이를 사용할 수 있습니다.

👍 Codebase Answers

Codebase Answers를 사용하면 AI에게 전체 코드베이스에 대해 물어볼 수 있습니다. 이를 사용하려면 채팅에서 Command+Enter로 입력하거나 입력 상자에서 "코드베이스 포함" 버튼을 클릭하세요.
"실행 취소, 다시 실행 논리는 어디에 있나요?" 와 같은 질문을 할 수 있습니다. 또는 "클라이언트 측에서 인증 토큰을 어떻게 처리합니까?"

👍 docs

이 기능은 타사 라이브러리에 대한 AI의 이해를 향상시킵니다. 문서를 사용하려면 채팅이나 명령 K에 @LibraryName을 입력하세요.
커서가 사용자 정의 문서를 크롤링하게 하려면 명령 K나 채팅에 "@Add"를 입력합니다. Add new doc를 드롭다운에서 클릭하여 URL을 제공할 수 있습니다.

👍 Auto-Debug

Auto-debug는 커서 터미널의 오류를 수정해줍니다. 이를 사용하려면 터미널 오류 후에 표시되는 파란색 "자동 디버그" 버튼을 클릭합니다. 클릭하면 AI가 파일을 살펴보고 문제 해결을 위해 도와줍니다.

👍 Fix Lints

커서를 사용하면 린트 오류를 빠르게 수정할 수 있습니다. 린트 오류 위로 마우스를 가져가서 표시되는 파란색 '수정' 버튼을 클릭합니다.


✨ Cursor 개발 환경 설치 및 설정 가이드

Windows 사용자는 Cursor 공식 사이트에서 소프트웨어를 다운로드하여 설치할 수 있습니다.

기본 설정:
설치 후에는 다음과 같은 설정 옵션을 사용자의 취향에 맞게 조정할 수 있습니다

  • 키보드 바인딩: VS Code 바인딩을 기본값으로 사용하되, Vim, Emacs 등 다른 바인딩으로 변경 가능합니다.
  • 언어: AI 응답을 위한 언어로 한국어 설정 가능합니다.
  • 코드베이스 전체 설정: 코드베이스 관련 질문에 AI가 더 잘 대응할 수 있도록 'Enabled' 상태로 설정합니다.
  • 커맨드 라인 지원: 'code' 또는 'cursor' 명령어를 사용하여 개발 환경 바로 시작합니다.

VS Code 확장 프로그램:

  • 확장 프로그램 가져오기: 기존 VS Code 설정을 Cursor로 손쉽게 이전할 수 있습니다.

코파일럿 선택
Cursor는 강력한 자동완성 기능인 Copilot++를 제공합니다. GitHub Copilot을 설치하면 기본적으로 제공되는 이 기능이 비활성화됩니다. 사용자는 자신의 선호에 따라 기본 Copilot++ 기능을 계속 사용하거나 GitHub Copilot으로 전환할 수 있습니다.

데이터 환경 설정:

  • Cursor 개선 돕기: 사용자 활동 데이터를 공유하여 개발 환경 개선에 기여할 수 있습니다.
  • 프라이버시 모드: 사용자의 데이터는 OpenAI를 제외한 어떠한 서드파티에도 공유되지 않으며, OpenAI는 데이터를 최대 30일간만 유지합니다.


🚩 Cursor 사용법

Cursor 개발 환경에서는 다음과 같은 주요 기능을 단축키와 함께 사용할 수 있습니다

  • 코드 편집 요청: 코드 부분을 선택하고 Cmd+K를 눌러 AI에게 편집을 요청합니다.
  • 자동완성 수락: 입력 중 자동완성이 제안될 때 Tab 키로 제안을 채택합니다.
  • 질문하기: Cmd+L로 채팅을 열어 질문하거나, @ 명령어로 관련 파일을 참조합니다.
  • 특정 코드에 AI 집중시키기: 코드를 선택하고 Cmd+Shift+L을 사용합니다.
  • 코드베이스 전체 질문: "with codebase" 버튼으로 전체 저장소에 대한 질문을 할 수 있습니다.

결론

AI 특히 코파일럿이 효과적으로 작동하여서 DX가 좋았습니다.
LLM도 가끔 현명하게 답을 잘주었습니다.
하지만 아쉬운 점은 용량이 큰 프로젝트에서 검색이나 저장이 잘안되었던 적이 있어서 아쉬웠습니다.

기존 IDE에 AI가 추가되어서 였을지는 모르겠습니다.
이러한 한계가 있다고 느껴져서 아쉬웠습니다.


공식 문서: https://cursor.sh/

profile
잘부탁드립니다.

0개의 댓글