Puzzles allows you to sharpen your coding skills inside of your tailored Visual Studio Code environment and add your own tests.
Solve problems from Reddit's /r/dailyprogrammer, Project Euler, Coding Bat, and Advent of Code in a fully-featured IDE, rather than a <textarea />
(ugh), and write custom test cases, akin to a real job interview... which is the whole point of your practice anyway!
Use Puzzles to prepare for technical interviews and start solving coding problems like you would in actual interviews today!
Want to practice LeetCode specifically? Check out this extension instead! It should be what you're after... though Puzzles likely can help you as well!
Like this project? Leave a review here or a star on GitHub.
Here's how to build Puzzles into your daily coding practice routine.
-
Download this extension!
-
Create a folder for your solutions
# For example... cd ~ mkdir puzzles cd puzzles code .
-
Hit
CTRL + SHIFT + P
, typepuzzles
and select your problem of choice -
Get to solving!
-
(Optional) Initialize a Git repository in your new folder and publish your work to GitHub!
See this in practice (and code along with me) here!
As mentioned, Puzzles currently supports problems from Reddit's /r/dailyprogrammer, Project Euler, Coding Bat, and Advent of Code. It fetches a user-specified or random problem for any of those three sites, creates a folder, and stores both a Markdown file with the problem description and creates a .[py|js|ts|java|cpp]
file for you to begin your solution. For Advent of Code, it also has the ability to fetch your problem input.
An outline of planned features is below!
Here's my plan for near-future development:
- Support other programming language starters
- Make starters better. Include unit test templates, for example
- Support Cracking the Coding Interview problems
- Create a custom, curated list of coding problems to use for this extension
None required! Note that Puzzles does create folders and files though, so you'll likely want to create a separate workspace on your computer for your work.
In the future, there will be an option to set your preferred solving language. You can "Set Default Language" command.
Currently, the extension is a bit... shaky. There is a plan to stop scraping soon and add a better data source. If you experience any issues at all, open an issue or reach out via email for support!
This project was originally being part at Microsoft's VS Code hackathon. It is actively under early development; if you're interested in helping grow this project, please file a ticket or open a pull request!
New features:
- Advent of Code problem input support; note all session information is stored client-side via the Visual Studio Code
SecretStorage
API - Many bug fixes and improvements
New features:
- Language support for JavaScript, TypeScript, Java, and C++
- Advent of Code support
- Fixed Project Euler support
- Upgraded to Node v22
New features:
- Documentation overhaul and renaming from
vscode-puzzle
→ Puzzles - Get a random problem from Project Euler, or select a specific problem number (#13)
Initial release for Microsoft's VS Code Hack-a-thon, sponsored by MLH.
Supported:
- Problems from Reddit's r/dailyprogrammer, accessed via the Reddit API
- Problems from Project Euler
- Problems from Coding Bat
- The problem statement formatted into a Markdown file
- A pre-generated Python file for your solution