This project was inspired through the pain of switching node versions because I used many different LTS node versions when I'm working on different projects. I found nvm to be quite handy on solving this problem. But, switching through the nvm CLI is kinda slow because I need to open a terminal and all that stuff, so I thought of switching the versions through a shortcut inside vscode.

What it does

It integrates and visualize nvm inside a vscode extension, you can add, switch, and delete node versions from the vscode-nvm extension.

How we built it

Through our experience with TypeScript, and rigorous reading of the VSCode API and nvm documentation, we're able to build the nvm integration through making a vscode extension.

Challenges we ran into

  • Wanky nvm CLI makes it harder to figure how to run nvm commands from a sub-shell.
  • Huge time difference between teammates makes it harder to communicate.

Accomplishments that we're proud of

  • We're able to integrate the base features of nvm, which is a CLI to a VSCode extension
  • We're able to communicate even our timezones are way different.

What we learned

  • Learned how to build and publish a VSCode extension
  • Learned simple string parsing with regex

What's next for vscode-nvm

  • Fetching the remote versions are slow, if only there is a way to smart cache detection for this?
  • Add windows support with nvm-windows

Built With

Share this project: