| Command | Description |
|---|---|
Ctrl+Shift+P | Command palette |
Ctrl+P | Quick file open |
Ctrl+Shift+F | Search across files |
Ctrl+` | Toggle terminal |
Ctrl+B | Toggle sidebar |
Ctrl+Shift+X | Extensions panel |
Ctrl+K Ctrl+S | Keyboard shortcuts |
Ctrl+Shift+N | New window |
Ctrl+K Z | Zen mode |
F5 | Start debugging |
Ctrl+P — Quick-open files by name (fuzzy search).Ctrl+Shift+O — Go to symbol in current file.Ctrl+T — Go to symbol across workspace.Ctrl+G — Go to line number.Ctrl+Tab — Cycle open editors (hold Ctrl, tap Tab).Ctrl+Alt+Left/Right — Navigate edit history back/forward.Ctrl+Shift+\ — Jump to matching bracket.Alt+Left/Right — Move by word.Ctrl+D — Select next occurrence (multi-cursor).Ctrl+Shift+L — Select all occurrences.Alt+Up/Down — Move line up/down.Shift+Alt+Up/Down — Duplicate line up/down.Ctrl+Shift+K — Delete line.Ctrl+Shift+Enter — Insert blank line above.Ctrl+] / Ctrl+[ — Indent / outdent line.Ctrl+/ — Toggle line comment.F2 — Rename symbol across files.Alt+Click — Add cursor.Ctrl+Shift+Alt+Up/Down — Column (box) selection.Ctrl+U — Undo last cursor action.Press Ctrl+Shift+P then type any of these:
| Palette Command | What It Does |
|---|---|
>Developer: Reload Window | Reload VS Code (keeps state) |
>Developer: Toggle Developer Tools | Open Chromium DevTools |
>Preferences: Open Keyboard Shortcuts | Searchable shortcut editor |
>Preferences: Open User Settings (JSON) | Raw settings file |
>Tasks: Run Task | Run a task from tasks.json |
>Git: Clone | Clone a repo from the palette |
>File: Compare Active File With… | Diff two files |
>Transform to UPPERCASE | Case transform |
Prefix with > to filter commands, or drop > to search files.
# Toggle: Ctrl+`
# New terminal: Ctrl+Shift+`
# Split terminal: Ctrl+Shift+5
# Switch panels: Alt+Left / Alt+Right
# Scroll: Ctrl+Up / Ctrl+Down
# Find in terminal: Ctrl+F
code . to open the current folder in VS Code.code -r file.txt to reuse the active window.code --diff file1.txt file2.txt to open a diff view."terminal.integrated.defaultProfile.windows" in
settings to pick your shell (PowerShell, Git Bash, WSL, cmd).Cline is a VS Code extension that lets you run AI coding agents with your own API key (BYOK — bring your own key). It supports Anthropic, OpenAI, OpenRouter, Google Gemini, and local models.
Ctrl+Shift+X).# Anthropic (recommended)
Model: claude-sonnet-4-20250514
Base URL: https://api.anthropic.com/v1
# OpenRouter (multi-provider)
Model: openrouter/anthropic/claude-sonnet-4
Base URL: https://openrouter.ai/api/v1
# Google Gemini
Model: gemini-2.5-pro
Base URL: https://generativelanguage.googleapis.com/v1beta
# Local (via Ollama)
Model: codellama or deepseek-coder-v2
Base URL: http://localhost:11434/v1
Ctrl+K Ctrl+S).Enter sends.
Shift+Enter for newline.@file.ts in your prompt
to explicitly include a file, or @folder/ to include a
directory.MCP servers give Cline (and compatible clients) access to external tools and APIs — databases, file systems, web services, PixelLab, etc.
cline_mcp_settings.json or .vscode/mcp.json
at the workspace level).{
"mcpServers": {
"my-tools": {
"command": "python",
"args": ["-m", "my_mcp_server"],
"cwd": "~/projects/my-mcp-server",
"env": {
"API_KEY": "${env:MY_API_KEY}"
}
}
}
}
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/allowed/dir"
]
}
}
}
{
"mcpServers": {
"remote-api": {
"url": "https://mcp.example.com/sse",
"headers": {
"Authorization": "Bearer ${env:REMOTE_TOKEN}"
}
}
}
}
$ python -m my_mcp_server
If it starts and waits for stdin, it's working.pip install mcp, permission errors on the working
directory."env" to pass API keys without hardcoding them
in JSON.@modelcontextprotocol/server-filesystem — secure file
access.@modelcontextprotocol/server-github — GitHub API
(issues, PRs).@modelcontextprotocol/server-postgres — PostgreSQL
queries.@modelcontextprotocol/server-fetch — HTTP requests.pixellab-mcp — Generate pixel art characters, tiles,
and objects.%APPDATA%/Code/User/settings.json.vscode/settings.json (project root)%APPDATA%/Code/User/keybindings.json{
"files.autoSave": "onFocusChange",
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.minimap.enabled": false,
"editor.renderWhitespace": "boundary",
"editor.formatOnSave": true,
"terminal.integrated.fontSize": 13,
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.git/objects/**": true
},
"editor.cursorBlinking": "phase",
"editor.cursorSmoothCaretAnimation": "on"
}
// .vscode/settings.json
{
"search.exclude": {
"**/dist/**": true,
"**/build/**": true,
"**/.next/**": true
},
"files.exclude": {
"**/.git": true,
"**/node_modules": true
}
}
File → Preferences → Configure User Snippets.$1 first tab stop, $0
final stop, $TM_FILENAME current file name,
$CLIPBOARD clipboard contents.F5 — Start debugging (select config first time).F9 — Toggle breakpoint.F10 — Step over.F11 — Step into.Shift+F11 — Step out.Ctrl+Shift+F5 — Restart debugging.Shift+F5 — Stop debugging.{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/src/index.js"
}
]
}
Ctrl+K Z) removes all chrome
— ideal for deep focus.settings.json directly —
Ctrl+Shift+P → "Open User Settings (JSON)". Much faster
than the GUI for bulk edits.Ctrl+Shift+P
→ "Developer: Restart Extension Host". Fixes most extension issues
without a full reload..zip release anywhere,
create a data/ folder alongside Code.exe, and
everything lives there (settings, extensions, cache).Ctrl+Shift+P → "Profiles:
Create Profile") save different extension + settings sets (e.g. "Python
Dev" vs "Web Dev").