installation via terminal

sudo snap install --classic code | https://code.visualstudio.com/docs/setup/linux | installs VS Code on Ubuntu via snap |'vsc_inst1'
code . | | opens the current directory as a VS Code workspace — the command you'll type more than any other |'vsc_inst2'

the interface, briefly

PartWhat it's for
Activity Barthe leftmost strip of icons — Explorer, Search, Source Control, Run & Debug, Extensions
Side Barwhatever the current Activity Bar icon shows — usually the file tree
Editor Groupsthe split panes holding open files; drag a tab to create a new group
Panelbottom area: integrated Terminal, Problems, Output, Debug Console
Status Barbottom strip — branch name, errors/warnings count, line/column, language mode

command palette and quick open

Almost everything in VS Code is reachable without touching the mouse, through two boxes that look similar but do different things.
ctrl+shift+p | https://code.visualstudio.com/docs/getstarted/userinterface | Command Palette — run any command by name, e.g. "Format Document" |'vsc_cmd1'
ctrl+p | | Quick Open — jump straight to a file by (fuzzy) name |'vsc_cmd2'
ctrl+shift+o | | Go to Symbol — jump to a function/class/variable within the current file |'vsc_cmd3'
ctrl+t | | Go to Symbol in Workspace — the same, across the whole project |'vsc_cmd4'

essential keyboard shortcuts

ShortcutDoes
ctrl+`toggle the integrated terminal
ctrl+btoggle the side bar
ctrl+,open Settings
ctrl+shift+efocus the Explorer
ctrl+shift+fsearch across every file in the workspace
ctrl+shift+gopen Source Control (git)
ctrl+shift+dopen Run & Debug
ctrl+shift+xopen Extensions
ctrl+/toggle line comment
alt+up / alt+downmove the current line up/down
f12go to definition
shift+f12find all references
ctrl+.quick fix / code actions at the cursor

settings.json vs keybindings.json

User settings (settings.json) apply everywhere on your machine. Workspace settings live in a .vscode/settings.json inside a specific repo and override user settings just for that project — commit this one so the whole team shares it (tab size, formatter, exclude patterns). Keybindings follow the same idea but for shortcuts instead of settings.
ctrl+shift+p → Preferences: Open User Settings (JSON) | | opens settings.json directly, instead of the GUI settings page |'vsc_set1'
ctrl+shift+p → Preferences: Open Keyboard Shortcuts (JSON) | | opens keybindings.json directly — where custom shortcuts actually live |'vsc_set2'

workspaces

A single folder opened with code . is the common case, but a multi-root workspace — several unrelated folders open together, saved as one .code-workspace file — is useful when a project spans multiple repositories (e.g. a library and the app that consumes it).

related topics

VS Code Productivity — multi-cursor editing, snippets, and tasks, once the basics here are comfortable.
VS Code Extensions — the marketplace packages worth installing first.
Vim Cheat Sheet — the keyboard-only alternative, if the mouse-driven interface here isn't your style.

reference

code.visualstudio.com/docs
VS Code — keyboard shortcuts reference