Skip to main content

VS Code πŸ—’οΈ

Visual Studio Code is my primary text editor. I occasionally use JetBrains and I previously used Atom, Sublime, and Textmate.

Notes​

26/08/27 - wrote down the current setup on Stu β€” 1.135.0, 43 extensions. The ### others extension list below is from the Ovid era and is out of date.

11/26/21 - added Visual Studio Code (& Insiders) to Ovid and need to make some notes as I get along.

Stu πŸͺ©β€‹

Current configuration, 26/08/27 β€” VS Code 1.135.0 (arm64) on Stu. Settings live in ~/Library/Application Support/Code/User/.

Settings​

Editor fontAndale, Menlo, Monaco, 'Courier New', monospace at 16px, ligatures off
Terminal font'Andale Mono' at 15px, minimum contrast ratio 5
ThemeDark Modern, minimap off, whitespace off, tree sticky-scroll off
Indent2 spaces
Markdownformatted by markdown-table-prettify
ProsecSpell on html + md only, case-sensitive, diagnostics as hints; Harper with LongSentences off
Copiloton everywhere except plaintext, markdown, and commit messages
Claude Codedocked in the panel (claudeCode.preferredLocation)
.htaccessassociated with c so it highlights

The workbench.colorCustomizations block is doing most of the work β€” roughly thirty overrides that flatten the chrome into two tones:

  • editor and panels #2b2f37
  • activity bar, sidebar, tabs, status bar, title bar #30333a
  • terminal #232323

The trick is that every *.border is set to the same value as the background behind it, which is what removes the seams between panes rather than just recolouring them.

Worth noting those are the same values as this site's dark theme β€” #2b2f37 is the TIL background and #232323 is the ink colour from the parent site's palette.

Keybindings​

One override only:

{ "key": "ctrl+cmd+v", "command": "extension.csvToMarkdown" }

Extensions​

43 installed. The ones that earn their place:

Editing β€” VIM (vscodevim), Code Spell Checker, Harper, Markdown Table Prettify, MDX, Markdown Footnotes, Markdown Preview GitHub Styles, md-graph

Data β€” Rainbow CSV, Edit CSV, csvtomarkdown, Table Editor, XML, YAML

Remote & containers β€” Remote SSH (+ Edit), Remote Containers, Remote Explorer, Docker, Containers, Codespaces

Languages β€” Python (+ Pylance, debugpy, python-envs), C/C++ (+ extension pack, themes, devtools), CMake (+ Tools), ESLint, Apache

Git β€” GitLens, GitHub Actions, GitHub Theme

AI β€” Claude Code

Other β€” Excalidraw, PDF viewer, Firefox debugger, Speech

Mine β€” markdown-preview-bg, wikipedia-link

Full list any time with code --list-extensions --show-versions.

Extensions​

others​

  • Atom One Dark Theme ( Mahmoud Ali )
  • Azure Repos ( Microsoft )
  • C/C++ ( Microsoft )
  • C/C++ Extension Pack ( Microsoft )
  • C/C++ Themes ( Microsoft )
  • ChatGPT - Genie AI
  • CMake ( twxs )
  • CMake Tools ( Microsoft )
  • Code Spell Checker ( Street Side Software )
  • Community Material Theme ( equinusocio )
  • CSV to Markdown Table ( Machiore )
  • Debugger for Firefox ( Firefox Dev Tools )
  • Deno ( deno.land )
  • Dev Containers ( Microsoft )
  • Docker ( Microsoft )
  • Edit csv ( janisdd )
  • EditorConfig ( editorconfig )
  • ESLint ( Microsoft )
  • Figma for VS Code ( Figma )
  • GitHub Codespaces ( GitHub )
  • GitHub CoPilot ( GitHub )
  • GitHub CoPilot Experimental ( GitHub )
  • GitHub CoPilot Nightly ( GitHub )
  • GitHub Markdown Preview ( Matt Bierner )
  • GitHub Theme ( GitHub )
  • GitLens ( GitKraken )
  • Go ( Go Team at Google )
  • Go Template Support ( jinlimig2 )
  • Grammerly ( Rahul Kadyan )
  • Gutenberg Highlights ( chrisrhymes )
  • HMTL-validate
  • IntelliCode ( Microsoft )
  • IntelliCode API Usage ( Microsoft )
  • isort ( Microsoft )
  • JavaScript and TypeScript Nightly ( Microsoft )
  • JavaScript Debugger Nightly ( Microsoft )
  • JSON Validate ( rioj7 )
  • Jupyter ( Microsoft )
  • Jupyter Cell Tags ( Microsoft )
  • Jupyter Slide Show ( Microsoft )
  • Live Preview ( Microsoft )
  • Live Share ( Microsoft )
  • Markdown Checkbox ( Matt Bierner )
  • Markdown Emoji ( Matt Bierner )
  • Markdown Footnotes ( Matt Bierner )
  • Markdown Preview GitHub Styling ( Matt Bierner )
  • Markdown Preview Mermaid ( Matt Bierner )
  • Markdown Preview VS Code Highlighter ( Matt Bierner )
  • Markdown YAML Preview ( Matt Bierner )
  • Markdownlint ( David Anson )
  • Markmap ( Gerald Liu )
  • Material Theme ( Equinusocio )
  • Material Theme Light ( Equinusocio )
  • md-graph ( Ian J Sikes )
  • MDX ( unified )
  • One Dark Pro ( binaryify )
  • Partial Diff ( Ryuichi Inagaki )
  • PHP Debug ( Xdebug )
  • PHP Intelephense ( Ben Mewburn )
  • Prettier ( Prettier )
  • Pylance ( Microsoft )
  • Python ( Microsoft )
  • Python Debugger ( Microsoft )
  • Rainbow CSV ( mechatroner )
  • React ( Microsoft )
  • React Native ( Microsoft )
  • Remote Explorer ( Microsoft )
  • Remote SSH ( Microsoft )
  • Remote SSH: Editing ( Microsoft )
  • Stylelint ( Stylelint )
  • Rust Analyzer ( The Rust Programming Language )
  • Sunburst Theme ( gerane )
  • Table Editor ( sswatson )
  • Tailwind CSS ( Tailwind Labs )
  • Transmit ( Fabio Spaminato )
  • πŸ”₯ Wikpedia Hyperlinker ( windhamdavid πŸ‘ˆπŸ» )
  • WordPress Block Markup ( Carolina Nymark )
  • WordPress Hooks IntelliSense ( John Billion )
  • WordPress Syntax Highlighting ( Matthias Hunt )
  • VIM ( vscodevim )
  • YAML ( Red Hat )

CoPilot​

https://github.com/github/copilot-docs/blob/main/docs/visualstudiocode/gettingstarted.md#getting-started-with-github-copilot-in-visual-studio-code

Ctrl+Enter. GitHub Copilot will open a new tab and suggest multiple options

Keyboard Shortcuts​

  • unassigned shortcuts available at aka.ms/vscodekeybindings

General​

β‡§βŒ˜P, F1 (^) Show Command Palette
⌘P Quick Open, Go to File...
β‡§βŒ˜N (^) New window/instance
⌘W (^) Close window/instance
⌘, (^) User Settings
⌘K ⌘S (^) Keyboard Shortcuts

Basic editing​

⌘X (^) Cut line (empty selection)
⌘C (^) Copy line (empty selection)
βŒ₯↓ / βŒ₯↑ (^) Move line down/up
⇧βŒ₯↓ / ⇧βŒ₯↑ (^) Copy line down/up
β‡§βŒ˜K (^) Delete line
⌘Enter / β‡§βŒ˜Enter (^) Insert line below/above
β‡§βŒ˜\ (^) Jump to matching bracket
⌘] / ⌘[ (^) Indent/outdent line
Home / End (^) Go to beginning/end of line
βŒ˜β†‘ / βŒ˜β†“ (^) Go to beginning/end of file
βŒƒPgUp / βŒƒPgDn (^) Scroll line up/down
⌘PgUp /⌘PgDn (^) Scroll page up/down
βŒ₯⌘[ / βŒ₯⌘] Fold/unfold region
⌘K ⌘[ / ⌘K ⌘] (^) Fold/unfold all subregions
⌘K ⌘ 0 / ⌘K ⌘J (^) Fold/unfold all regions
⌘K ⌘C (^) Add line comment
⌘K ⌘U (^) Remove line comment
⌘/ (^) Toggle line comment
⇧βŒ₯A (^) Toggle block comment
βŒ₯Z Toggle word wrap

Multi-cursor and selection​

βŒ₯ + click (^) Insert cursor
βŒ₯βŒ˜β†‘ (^) Insert cursor above
βŒ₯βŒ˜β†“ (^) Insert cursor below
⌘U (^) Undo last cursor operation
⇧βŒ₯I (^) Insert cursor at end of each line selected
⌘L (^) Select current line
β‡§βŒ˜L (^) Select all occurrences of current selection
⌘F2 (^) Select all occurrences of current word
βŒƒβ‡§βŒ˜β†’ / ← (^) Expand / shrink selection
⇧βŒ₯ + drag mouse (^) Column (box) selection
⇧βŒ₯βŒ˜β†‘ / ↓ Column (box) selection up/down
⇧βŒ₯βŒ˜β† / β†’ (^) Column (box) selection left/right
⇧βŒ₯⌘PgUp (^) Column (box) selection page up
⇧βŒ₯⌘PgDn (^) Column (box) selection page down

Search and replace​

⌘F (^) Find
βŒ₯⌘F (^) Replace
⌘G / β‡§βŒ˜G (^) Find next/previous
βŒ₯Enter Select all occurrences of Find match
⌘D (^) Add selection to next Find match
⌘K ⌘D (^) Move last selection to next Find match

Rich languages editing​

βŒƒSpace, ⌘I (^) Trigger suggestion
β‡§βŒ˜Space (^) Trigger parameter hints
⇧βŒ₯F (^) Format document
⌘K ⌘F (^) Format selection
F12 (^) Go to Definition
βŒ₯F12 (^) Peek Definition
⌘K F12 (^) Open Definition to the side
⌘. (^) Quick Fix
⇧F12 (^) Show References
F2 (^) Rename Symbol
⌘K ⌘X (^) Trim trailing whitespace
⌘K M Change file language

⌘T Show all Symbols
βŒƒG (^) Go to Line...
⌘P (^) Go to File...
β‡§βŒ˜O (^) Go to Symbol...
β‡§βŒ˜M (^) Show Problems panel
F8 / ⇧F8 (^) Go to next/previous error or warning
βŒƒβ‡§Tab (^) Navigate editor group history
βŒƒ- / βŒƒβ‡§- (^) Go back/forward
βŒƒβ‡§M (^) Toggle Tab moves focus

Editor management​

⌘W (^) Close editor
⌘K F (^) Close folder
⌘\ (^) Split editor
⌘ 1 / ⌘2 / ⌘ (^3) Focus into 1 st, 2nd, 3rd editor group
⌘K βŒ˜β† / ⌘K βŒ˜β†’ (^) Focus into previous/next editor group
⌘K β‡§βŒ˜β† / ⌘K β‡§βŒ˜β†’ Move editor left/right
⌘K ← / ⌘K β†’ (^) Move active editor group

File management​

⌘N (^) New File
⌘O (^) Open File...
⌘S (^) Save
β‡§βŒ˜S (^) Save As...
βŒ₯⌘S (^) Save All
⌘W (^) Close
⌘K ⌘W (^) Close All
β‡§βŒ˜T (^) Reopen closed editor
⌘K Enter (^) Keep preview mode editor open
βŒƒTab / βŒƒβ‡§Tab (^) Open next / previous
⌘K P (^) Copy path of active file
⌘K R (^) Reveal active file in Finder
⌘K O (^) Show active file in new window/instance

Display​

βŒƒβŒ˜F (^) Toggle full screen
βŒ₯⌘ (^0) Toggle editor layout (horizontal/vertical)
⌘= / β‡§βŒ˜- (^) Zoom in/out
⌘B (^) Toggle Sidebar visibility
β‡§βŒ˜E Show Explorer / Toggle focus
β‡§βŒ˜F (^) Show Search
βŒƒβ‡§G (^) Show Source Control
β‡§βŒ˜D (^) Show Debug
β‡§βŒ˜X (^) Show Extensions
β‡§βŒ˜H (^) Replace in files
β‡§βŒ˜J (^) Toggle Search details
β‡§βŒ˜U Show Output panel
β‡§βŒ˜V (^) Open Markdown preview
⌘K V (^) Open Markdown preview to the side
⌘K Z (^) Zen Mode (Esc Esc to exit)

Debug​

F9 (^) Toggle breakpoint
F5 (^) Start/Continue
F11 / ⇧F11 (^) Step into/ out
F10 (^) Step over
⇧F5 (^) Stop
⌘K ⌘I (^) Show hover

Integrated terminal​

βŒƒ (^) Show integrated terminal βŒƒβ‡§ Create new terminal
⌘C (^) Copy selection
βŒ˜β†‘ / ↓ (^) Scroll up/down
PgUp / PgDn (^) Scroll page up/down
⌘Home / End (^) Scroll to top/bottom