Lesson 2 12 min

Interface & Setup

Install Cursor, import VS Code settings, understand the interface layout, configure indexing, and set up .cursorignore for your projects.

Getting Started

Cursor is available for Mac, Windows, and Linux. Download it from cursor.com, run the installer, and you’re ready in about two minutes.

But before you start coding, there are a few setup steps that make a real difference in how well Cursor works for you. Skip them, and you’ll wonder why the AI gives weird suggestions. Nail them, and Cursor feels like it actually understands your project.

Installing and Migrating from VS Code

If you’re coming from VS Code (most people are), the migration is almost instant:

  1. Open Cursor Settings: Press Cmd+Shift+J (Mac) or Ctrl+Shift+J (Windows)
  2. Go to General > Account
  3. Click “Import” under VS Code Import

Cursor scans your VS Code installation and pulls over your extensions, themes, keybindings, and settings. For about 80% of users, everything transfers perfectly.

What might not transfer:

  • Proprietary Microsoft extensions — C# Dev Kit, for example, is locked to VS Code. Use community alternatives like OmniSharp instead
  • VS Code Insiders settings — Cursor sometimes looks in the wrong directory. You may need to manually point it to your Insiders config folder
  • Remote SSH/DevContainer extensions — These don’t always migrate automatically

Quick Check: You installed Cursor but your favorite VS Code theme didn’t import. What’s the most likely fix? Go to the Extensions panel (Cmd+Shift+X), search for your theme by name, and install it. Most themes are open-source and available in Cursor’s extension marketplace. If it’s there in VS Code, it’s almost certainly available in Cursor too.

The Interface Layout

Cursor looks like VS Code — intentionally. But there are a few additions you should know about:

Familiar pieces:

  • File explorer (left sidebar)
  • Editor panel (center)
  • Terminal (bottom)
  • Extensions, source control, search (left activity bar)

Cursor additions:

  • AI Chat panel — Right sidebar. Open with Cmd+L. This is where you have conversations with the AI about your code
  • Composer — Open with Cmd+I. This is where Agent mode and multi-file edits happen
  • Tab predictions — Appears inline as you type. More than autocomplete — it predicts your next edit

The keyboard shortcuts you’ll use most:

ShortcutWhat It Does
Cmd+LOpen AI Chat
Cmd+KInline Edit (highlight code first)
Cmd+IOpen Composer
Cmd+.Toggle Agent mode
TabAccept Tab prediction
Ctrl+→Accept prediction word-by-word
EscDismiss suggestion or close panel

You don’t need to memorize all of these now. We’ll cover each one in detail in later lessons.

Indexing: How Cursor Understands Your Project

When you first open a project folder in Cursor, it indexes your codebase. This is the step that separates Cursor from a regular editor with AI bolted on.

What indexing does: It builds a semantic map of your code — functions, classes, imports, relationships between files. This powers features like @Codebase search, where you can ask “How does authentication work in this project?” and get an answer that references the right files.

How long it takes: A few seconds for small projects. A minute or two for large codebases (100K+ lines). You’ll see a progress indicator in the status bar.

What to know:

  • Indexing happens automatically when you open a folder
  • It re-indexes when files change
  • You can trigger a manual re-index from Cursor Settings if something seems off
  • Large binary files, node_modules, and build outputs are excluded by default

Protecting Sensitive Files

This is the setup step most people skip — and it matters.

When Cursor indexes your project and sends context to AI models, it can include file contents. You don’t want your API keys, database passwords, or client secrets going to OpenAI’s or Anthropic’s servers.

Create a .cursorignore file in your project root:

# Sensitive files
.env
.env.*
*.pem
*.key
credentials.json
secrets/

# Large files that waste context
node_modules/
dist/
build/
*.min.js

This file works like .gitignore. Anything listed here won’t be indexed or sent as AI context. Cursor makes a best effort to prevent exposure of these files.

There’s also .cursorindexignore — same syntax, but it only prevents indexing. The AI can still see the files if you explicitly reference them. Use .cursorignore for truly sensitive files and .cursorindexignore for files you rarely need (like a large docs/ folder).

Settings That Matter

A few settings worth adjusting early:

Privacy Mode (Settings > General > Privacy): When enabled, no plaintext code is stored on Cursor’s servers. Cursor has zero-data-retention agreements with its AI providers in this mode. If you work with sensitive code, turn this on.

Codebase Indexing (Settings > Features > Codebase Indexing): Should be enabled by default. If @Codebase searches return nothing, check this setting.

Tab Completion (Settings > Features > Cursor Tab): Controls the AI autocomplete behavior. You can adjust how aggressively it suggests and whether it shows multi-line predictions.

Key Takeaways

  • Import VS Code settings with one click (Cmd+Shift+J) — most extensions transfer instantly
  • Cursor’s interface is VS Code plus AI Chat (Cmd+L), Composer (Cmd+I), and Tab predictions
  • Indexing builds a semantic map of your codebase — it’s what makes @Codebase search work
  • Create a .cursorignore file to protect API keys, credentials, and sensitive files from AI context
  • Enable Privacy Mode if you work with sensitive or proprietary code

Up Next

Your editor is set up. In Lesson 3, you’ll learn Cursor’s two fastest features: Tab completion that predicts your next edit before you type it, and inline editing with Cmd+K that lets you describe changes in plain English.

Knowledge Check

1. How do you import your VS Code extensions and settings into Cursor?

2. What does .cursorignore do?

3. What is Cursor's indexing, and why does it matter?

Answer all questions to check

Complete the quiz above first

Related Skills