Before we start, let me state this: Visual Studio Code is one of the best code editors out there. It’s lightweight, open-sourced, and multiplatform. Its extension library is impressively vast, allowing you to customize it to your liking. I’m writing this blog using it, as I use it for coding at work and for my projects.
What is GitMarker?
Firstly, I started this project for fun and with no pretensions, which is still this way. I wanted to learn something different from the usual daily basis at work. I’ve wanted to understand about developing extensions for Visual Studio Code for some time now, and after spending a few days reading the Extension API documentation, I realized how easy and fun it could be.
I needed an idea to motivate me to study such API in a way I could explore all or almost all resources VS Code can provide. Of course, I haven’t become a specialist, and there are probably different ways to implement the same features or overcome some of the limitations the API still has, but through the journey and some readings on the project’s issues, it’s noticeable that the development team has improved the API enormously over the years and still.
The project is just a repository bookmark manager developed from a GitHub user to others. Simple as that. In practice, it consumes the GitHub’s rest API for searching GitHub repositories and grabbing some remarkable details, such as counting stars, forks, license used and so on. Having this list organized by categories and being able to import and export them, although pretty simple, can be very handy for keeping your favorite projects tracked within the editor.
What is worth covering?
Although this is just a record of my little adventure, I will cover the following subjects with a series of short articles using GitMarker as a reference:
- How I bootstrapped it using Yeoman
- (DI) Injecting Types using InversifyJS
- Building and refreshing a Tree View
- Controlling the UI using package.json manifest
- Data Storage and Secrets Storage
- Configuring the extension Settings
- Messages and Dialogs
- QuickPick and Pagination
See you in the next chapter!