Updated 24 April 2025
Notes on setting up Visual Studio Code (vscode). My machines are mostly Linux, but I have also used vscode as my primary editor on the work Windows 10 laptop. Like many of Microsoft's "free" offerings, vscode is always changing, so the location and even existence of settings described here may not be as described below. Questions should be directed to the appropriate subject matter fora on the Internet.
NOTE: I currently use vim for most of my code editing, and the open source Theia IDE (https://theia-ide.org) as my IDE for complex projects. Theia is pretty much a drop-in replacement for vscode, without the latter's proprietary features (that include many popular closed-source extensions from Microsoft).
To install the Fira Code font on Windows, see Manually installing fonts on Linux and Windows. There is a fonts-firacode package for Ubuntu.
- Install from binary. If on Linux, this will add the appropriate repo for later updates.
- Install the following basic extensions:
- Material Icon Theme (Philipp Kief)
- Python (Microsoft, this will also install Pylance and Python Debugger)
- Select color and icon themes.
- File... Preferences... Color Theme... Dark+ (default dark)
- File... Preferences... File Icon Theme... Material Icon Theme
- Modify File... Preferences... Settings.
-
Commonly Used:
- Files: Auto Save... onFocusChange
- Editor: Tab Size... 4
- Editor: Insert Spaces... check
-
Font:
- Font Family... Fira Code
- Font Ligatures...
"editor.fontLigatures": false,
- Font Size... 16
- Font Weight... normal
- Terminal... Font Size... 14
- Some additional extension
- C/C++ (Microsoft)
- ESLint (Microsoft)
- JSON Tools (Erik Lynd)
- Jupyter (Microsoft, should also install Keymap and Notebook Renderers)
- Live Server (Ritwick Dey)
- Markdown Preview Github Styling (Matt Bierner)
- vscode-pdf (tomoki1207)
- Rainbow CSV (mechatroner)
- XML Tools (Josh Johnson)
- Telemetry
- Editor > Experimental: Tree Sitter Telemetry > uncheck (disable)
- Telemetry > Feedback > disable (uncheck)
- Telemetry: Telemetry Level > off (disable all)