Visual Studio Code is a free, cross-platform, open source code editor from Microsoft. You might have also heard it called VS Code, or sometimes, just Code.
It’s the editor I use and enjoy daily. You may already know that it’s an excellent option for Python developers – it supports linting, debugging, features AI-assisted code auto completion, and more.
With just a little configuration Code can also be so much more!
Learn about three exciting features in Code below.
1: Extensions 🔗
Code starts out as a lightweight editor that’s extensible via extensions. That allows you to only install the tools and plugins that are useful to you.
When you first download and install Code, you’ll have a pretty bare bones editor. It comes with simple support for languages like JavaScript, TypeScript, CSS, and HTML, but support for other languages can be downloaded as extensions.
The extension ecosystem isn’t just for languages. You can also find useful plugins, lightweight tools, themes, customizations, key maps to use keyboard shortcuts from other editors, and much more.
Some of my favorite extensions are:
- Python Extension
- Rich feature support for the Python language. Awesome features like AI-powered IntelliSense, Jupyter notebook support, a test explorer, and more!
- autoDocstring
- Quickly generate docstrings for Python functions.
- GitLens
- Supercharge git by with at-a-glance git blame annotations, navigation of git repositories, powerful comparison commands, and more.
- Night Owl theme
- A Visual Studio Code theme for the night owls out there. Fine-tuned for low-light situations, for those who like to code late into the night.
- Peacock
- Allows you to change the color of each new window, allowing quick visual identification when working on multiple projects.
- TODO Highlight
- Really make your
TODO
s andFIXME
s pop!
- Really make your
🌌 Ahhh I finished it! (Omg, I could keep working on this forever)
— Sarah Drasner (@sarah_edo) May 17, 2018
I made a @code theme! It's called Night Owl. I some research into what works best for low light, colorblindness contrasts, and comprehension! Previews use @_philpl's Dank Mono w ligatureshttps://t.co/iDTmrt4TCz pic.twitter.com/0NZ7Nxmmjh
If you think you won’t be using a plugin for a while, you don’t have to go through the effort of completely uninstalling it. Instead, you can temporarily disable it.
Configure your settings for both Code and Extensions via settings.
2: Jupyter Cell Debugging 🐞
The Python extension has many great features that allow you to work with Jupyter notebooks with ease – in a full-fledged IDE environment.
If you use Jupyter notebooks, you know how hard debugging can be. The annoyance of having to switch between your browser, your terminal, your notebook, and your editor can be a real drag.
To help your workflow, the latest Jupyter feature – Cell Debugging – is coming soon to the Python Extension for Code!
Here it is! A preview of the #jupyter cells debugging feature inside @code - showed off at @europython for the first time, is coming up in the #python extension @pythonvscode shortly! ✌️ pic.twitter.com/3KHUUreBRd
— Rong Lu (@davorabbit) July 10, 2019
As you can tell from the tweets, it’s a highly anticipated feature!
Soon, support for debugging Jupyter cells will be available inline.
It’s a feature that will save you tons of time, and that’s cause to celebrate! 🎉
3: Live Share 👥
I work remotely from Portland, OR. As a remote developer, being able to collaborate with others is a top priority.
Collaborating remotely on software has long been a struggle. Thankfully, Visual Studio Code has a plugin that makes the process simple and pain free – Live Share.
Before you were likely stuck using tools like tmux with text-based editors, or dealing with spotty network connections, blurry screens, and fading audio on video calls.
The Live Share extension improves the process of remote collaboration by leaps and bounds.
To get started, you and the developer you’d like to work with will both need to install Code, then download the Live Share extension pack. Now, one of you will need to start a shared session, and the other person will need to join the session.
Once you do, you’ll be able to collaborate easily. Your teammate will be able to see your code in their editor, without having to clone a repo, or even install dependencies from your codebase.
You’ll see the other person’s cursor, but you can also navigate independently in your own Code instance. That means your themes, keyboard shortcuts, extensions, and custom settings are available to you. As a bonus you can even chat or talk over audio with your coding partner.
This feature is particularly useful for Code Reviews. Let’s say you’d like to talk through some comments you made on someone’s pull request. Just start a live share session, checkout the PR branch (use the GitHub Pull Requests extension to make it even easier), and that’s it. Sometimes it’s easier to talk through a miscommunication than leave endless back-and-forth comments.
That’s genuinely the best possible scenario for collaboration.
Wrapping Up
Many other features of Code deserve mention – remote development over SSH, Containers, or Windows Subsystem for Linux, snippets, and more.
That’s the benefit – you don’t have to dive in all at once. You can explore the features of Code at your own pace. So if you haven’t given it a try yet, there’s no time like the present. Download Visual Studio Code, read the getting started with Python guide, and share your thoughts in the comments below.