Yousif Al-Ogaidi and Harshal Raikwar

View on GitHub →

💡 Inspiration

Sometimes you have to write a lot of code to get a piece of the project done and completing the task before the given deadline makes it hard to read and understand. Therefore, we created a VS Code extension that will help you with providing a snipped code which can save a lot of time. Along with this it also allows users to create custom functions and abbreviations.

💻 What it does

Unfurl is a VS Code extension that helps you with providing the snippet of code you are looking for, custom functions for your language, and abbreviation for your language. The VS Code extension can be useful for anyone who is looking for a code snippet or a function or abbreviation to use in their code and stay focused on the code. Unfurl is easy to use, and efficient.

⚙️ How we built it

TypeScript: For type safety and to make it easier to work with the backend.

🔧 Editing default snippet functions

Go to "Settings" and search for "unfurl.commandname". You can then modify the properties however you wish.

Example unfurl.if:


"label": "if",

"description": "if ($condition) { ... }",

"snippet": "if(${1:condition}) {\n\t$TM_SELECTED_TEXT\n}$0"


🧠 Challenges we ran into

  • As all the teammates were from different time zones, it was a bit difficult to collaborate, but we managed to get the project done.
  • Since we were building a VS Code extension for the first time, we had to learn a lot of things about VS Code.
  • Publishing was a bit tricky, as we were not familiar with the process of publishing a VS Code extension.

🏅 Accomplishments that we're proud of

  • Completing the project within the given time frame.
  • Implemented most of the features we wanted.
  • Created a VS Code extension that can be used by anyone.
  • Publishing our first VS Code extension.

📖 What we learned

  • How to build a VS Code extension.
  • We learned how to publish a VS Code extension.
  • We learned how to use the best tools and frameworks to make the project work.

🚀 What's next for Unfurl

  • Adding more features
  • Adding functionality to implement the custom snippets