Visual Studio Code is a versatile cross-platform text editor. Before discovering this tool, I used to have separate editors, version control configurations, and development environments for LaTeX and Python. Now, I can get everything done with one amazing application.

It has been developed by the VS Code team at Microsoft and the source code is distributed under the terms of the MIT License. It’s worth noting that their official binaries are not fully open-source, however, as they come bundled with Microsoft branding, telemetry and licensing and are released under the Microsoft Software License Terms. To avoid this, you’re free to compile it yourself using the source code, or you can download VSCodium instead. I use VSCodium myself and can highly recommend it.

What makes VS Code even greater is the large number of useful extensions you can find in the Visual Studio Marketplace or, alternatively, the Open VSX Registry. I’ll be listing my favourites here. Most of these are highly configurable, so you can customise them to suit your needs. I’ve made my settings and customisations public on GitHub.

Text editing

Code Spell Checker is a basic spell checker which is a must-have for me as I’m prone to typos.

LaTeX Workshop has allowed me to produce LaTeX documents without a standalone LaTeX editor. It’s feature-rich and works great if you have a Git + LaTeX workflow for version control.

markdownlint is an extension that has enabled me to maintain best practices while writing markdown files to ensure a standardised document. It is also useful to spot trailing spaces.

Markdown All in One, among other things, allows you to create table of contents automatically using markdown headings, and it will even update automatically if you make changes to your document structure. If you want to ignore a certain heading from the table of contents, just comment <!-- omit in toc --> next to it. It also has keyboard shortcuts so you can easily format your markdown file.

Programming and data

Python is an all-in-one extension that has eliminated the need to install a dedicated Python IDE. You can even run Jupyter Notebooks using this extension!

Rainbow CSV is useful if you have CSV files in your repository. It allows me to distinguish columns easily by highlighting them in different colours. It also has other features, such as running SQL-like queries.

R LSP Client has been extremely useful in writing and formatting R code.

Leave a comment

Your email address will not be published. Required fields are marked *.