The 3 Best VS Code Extensions to Handle TODOs
Visual Studio Code has a rich ecosystem of plugins and extensions that help make our jobs easier and faster.
TODOs and FIXMEs are part of our everyday lives as software developers. So, it makes sense to use the right extensions to improve our workflow. There are a massive number of extensions in VSCode which deal with TODOs. We’ve chosen the three most impactful extensions for three different use cases.
TODOs or issues?
Before we dive into the very best VSCode extensions, it's essential to understand whether the use case for TODOs is right for you in the first place.
TODOs are an excellent solo tool. They can be used to quickly jot down ideas to help you stay focussed on the task at hand. TODOs also innately have context, making them far more useful than a simple list of tasks.
But TODOs are a terrible multiplayer tool. When TODOs make it to `main`, you end up with an extensive and invisible backlog that can't be managed. And this has a hefty price – spiralling tech debt and declining code quality.
Use TODOs for:
- Personal projects
- Pre-established open-source conventions
- Spikes
- On your own branch of a collaborative project, before merging with `main`
Avoid TODOs for:
- All other collaborative projects, such as in professional contexts
VSCode Extensions for TODOs and FIXMEs
1. TODO Highlight v2 Extension
Ideal for: Solo projects, non-commercial work. Choose this if you want a no-frills approach.
The TODO Highlight v2 Virtual Studio Code extension is the simplest plugin on our list. It does what it says on the tin, highlighting TODOs, FIXMEs and other custom annotations within your code. It supports different colour themes to help you navigate your annotations.
Both the original TODO Highlight and TODO Highlight V2 are available on VS Code – the old version is no longer maintained.
Add TODO Highlight v2 to VSCode here.
2. Stepsize
Ideal for: Modern engineering teams. Choose this if you want a sustainable way to manage technical debt
The Stepsize VS Code extension is the right tool for developers working in professional engineering teams.
Stepsize lets you:
- Create, view and manage issues from your code editor
- Convert TODOs into issues and keep your codebase clean
- Make tech debt visible and actionable
- Radically improve velocity and quality
Remember what we said about TODOs vs issues? TODOs should only be single-player. TODOs that get merged into `main`/`master` cause endless, invisible backlogs which aren’t actionable. This leads to spiralling tech debt.
TODOs and FIXMEs lack context and visibility. When you use Stepsize, issues are visible throughout your software development lifecycle. And they're loaded with context because they're linked directly to code.
Use a tool like Stepsize to manage issues without leaving your codebase. Stepsize integrates with platforms like Jira and Linear if you want it to.
Get started with adding Stepsize to VSCode here. Also available for JetBrains.
3. Todo Tree Extension
Ideal for: Solo projects, non-commercial work. Choose this if you’re navigating a more complex but single-player codebase.
The TODO Tree VSCode tool searches your codebase for TODOs and FIXMEs, then displays them in your activity bar in a tree view.
Their navigation view is a little like a simplified version of Stepsize’s issue navigation panel, but specifically for code annotations. It’s more geared toward single-player project work. Being able to click on the tree nodes helps you navigate around your codebase and fix issues in your project with more ease.
Todo Tree also has highlighting features, just like TODO Highlight V2. Their highlighting features work with custom annotations, too.
Wrapping up
How we handle TODOs or FIXMEs in our code should depend on what kind of project we’re working on.
If you’re working on a solo project or spiking out a feature, use the TODO Highlight V2 extension for straightforward highlighting. Or choose Todo Tree for more advanced navigation.
For multiplayer projects in modern engineering teams, choose Stepsize to convert TODOs into actionable issues linked to code.