Visual Studio Code, “VSCode”, is the hugely featureful successor to projects like Atom & Visual Studio itself, the extensibility of VSCode is key to this success and I’m going to share what I do to make VSCode work for me.
Extensions
- Ansible
- Auto Close Tag XML/HTML helper
- Auto Rename Tag XML/HTML helper
- Bash IDE for Bash scripting language
- Better Comments for comment highlighting
- Better TOML syntax
- C/C++ Extension Pack for C/C++ programming languages
- Docker to interact with Docker daemon, including docker-compose
- GitHub Pull Requests
- GitLens
- Go Lang for Go programming language
- HashiCorp Terraform
- Live Preview
- Makefile Tools run Makefiles via VSCode
- Markdown All in One for Markdown
- Markdown Preview Mermaid Support for MermaidJS in Markdown
- Python Extension Pack for Python programming language
- Remote - Containers to connect your VSCode into a container
- Remote - SSH to connect your VSCode to a remote server via SSH
- Remote - WSL to connect your Windows VSCode to a local Windows Subsystem for Linux instance
- reStructureText to handle Python’s preferred documentation syntax (which I dislike immensely)
- shell-format
-
Todo Tree
summarise your
TODO
s in the sidebar - YAML syntax
Specific
- Hugo Language and Syntax Support for Hugo static-site generator
- Jupyter for jupyter notebooks in VSCode
- Kubernetes
- Cloud Code to access Google Cloud: Kubernetes, Cloud Run, APIs, Secret Manager, Apigee & more
- nRF Kconfig for linux kernel kconfig syntax
Themes
I use Atom One Light and Material Icon Theme .
My preferred dark theme is Darcula Theme 🦇
Special mentions to Light Pink Theme , a warrior’s theme.
Settings
Remote.SSH: Lockfiles in Tmp
avoids locking issues on network filesystemsRemote.SSH: Remote Server Listens On Socket
feels more secureGit: Autofetch
fetch changes automaticallyTerminal > Integrated: Scrollback
set to 10,000Terminal > Integrated: Font Family
I set this to Hack fontTerminal > Integrated: Allow Chords
off, allowsctrl+k
to work in TerminalTerminal > Integrated: Copy On Selection
on, saves having to pressCtrl+Shift+C
Terminal > Integrated: Default Location
set to editor, new terminals appear as an editor tab instead of an overlayHTML: Auto Closing Tags
disabled, triggers excessivelyWindow: New Window Dimensions
inherit, so all your windows are your preferred sizeEditor: Word Wrap
on, obviouslyEditor: Word Based Suggestions
this gets in the way of writing documentation/blogsDiff Editor: Ignore Trim Whitespace
ignores leading/trailing whitespace changes
GitLens
Most of these are configured in Gitlens’ startup screen:
Gitlens > Current Line: Enabled
disabled, don’t really need to know who authored every single line, too much visual spamGitlens > Code Lens: Enabled
disabled, same as above but adds lines above function blocks, even more visual spamGitlens > Code Lens > Authors: Command
false, disable popup when accidentally clicking the author infoGitlens > Hovers: Enabled
disabled, disable git info popup when mousing over a line/function, makes it impossible to point to code on a screenshare
I hope you find these suggestions useful, please let me know if any of these stop working.