1 minute read

In this article I list some useful VS Code (Visual Studio Code) extensions I use while developing Python.

Extensions

Python

IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), Jupyter Notebooks, code formatting, refactoring, unit tests, and more.

Overall the most extensive Python extension. Simple features like code highlighting goes a long way.

AutoDocstring - Python Docstring Generator

Generates python docstrings automatically

Generates a nice boiletplate for docstrings. Please use type hints.

Jupyter

Jupyter notebook support, interactive programming and computing that supports Intellisense, debugging and more.

I love debugging and writing examples with Jupyter Notebooks and this extension offers good support for them in VS Code. Notebooks are helpful especially for scientists.

Git Graph

View a Git Graph of your repository, and perform Git actions from the graph.

I like the visual representation of the Git graph. However, I still do most of the actions in command line.

Remote SSH

Open any folder on a remote machine using SSH and take advantage of VS Code’s full feature set.

Helpful if I have to SSH to a remote machine and inspect or code something remotely. Game changer for me.

Code Spell Checker

A basic spell checker that works well with code and documents.

I notice spelling mistakes rather easily and that can be irritating if a text is filled with them. This extension can catch some of the mistakes early on. I would also suggest to add a spelling checker to your project’s CI.

Markdown All in One

All you need to write Markdown (keyboard shortcuts, table of contents, auto preview and more)

As documenting the code or generally writing something in Markdown, this extension is helpful - especially the preview feature and syntax highligting. Especially as posts in this blog is written in Markdown.

reStructuredTest

reStructuredText language support (RST/ReST linter, preview, IntelliSense and more)

Code documentation helper, especially when working with Sphinx.

Conclusion

Normal Python development does not need that many extensions (individual preference).

I have not tested any of the AI assisted extensions, which is something I should do in the future.

Of course when developing with multiple programming languages, the extension list will grow.

Tags:

Categories:

Updated: