


VSCode Themes Community - Discover, share and create themes using a mix of Sacred Geometry and Color Theory
TLDR
I've created a tool to generate VSCode themes, you can save, share and download themes ready to install to VSCode or publish to the marketplace.
The main features are:
- Harmonious colors generation using an innovative way mixing Sacred Geometry patterns and traditional Color Theory.
- Download the created theme and others already in .vsix ready to be installed on VSCode or even publish to the marketplace.
- Save, edit and share your themes collection.
VSCode Themes Community -
Github repo
It was made with Svelte 5 and Svelte-kit.
Some introduction
I've always been curious about how the so called Sacred Geometry patterns can please the eyes and mind with its intelligent and complex design.
Also, I could never settle for a VSCode theme for more than one week, for me, it is necessary to have different themes so I can change once in a while in order to make my coding journey more pleasant. I was always looking for new themes for my already extensive collection.
Then, I started to create my own themes, this way, I could not only select the colors of my preference at the moment, but also control the code highlighting granularity over the different languages VSCode supports.
But it was never easy, look for all the matching colors for so many different syntax tokens, adjust the tokens and scopes, the ui colors and so on...using color theory can help a lot, you select a color and by using some color schemes you can get one, two, three or more matching colors (but there is not a big variety of color schemes), after that you have to play around with some saturation and lightness parameters to fine-tune the colors for the different tokens and ui elements always considering if the contrast ratio for all selected foreground colors against the background is at an acceptable level... Maybe, by now, you can see where I'm going at, to create a theme that is not only harmonious but also functional and follows some minimum acceptable standards can become a very complex task.
The "necessity" for different themes to satisfy this almost pathological need to diversify and change the colors I have on my screen when working in conjunct with my, earlier mentioned, curiosity of how sacred geometry patterns can please ones eyes and mind drove me to this project.
The idea and implementation
What if I could, in the same way the color theory with its color schemes derives some set of matching colors from an initial color, think of some method to instead using the traditional color schemes calculation, adapt some Sacred Geometry patterns equations on top of the color wheel?
After studying a lot of different sacred geometry patterns, I came up with a list of more than 30 patterns which the equations were suitable for this mad scientist experiment. And this is when the color generation algorithm for this project was born.
The algorithm
By selecting one sacred geometry pattern from a list and a base hue with a slider, the algorithm generates a specific amount of base hues derived by the selected sacred geometry pattern equation on top of the traditional color wheel. After that, it generate the colors for all elements in the UI by slightly variating the lightness and saturation parameters randomly using for each element one of the generated "color scheme" derived hues. Then using the same technique it generates the color for each of the needed syntax tokens used in the theme. Lastly, it generates the ansi colors for the terminal.
I've developed a way to preview in realtime the theme using the Monaco Editor with Shiki plugin for code highlighting with VSCode themes instead of the syntax highlighting system provided by the Monaco Editor. Placed some elements around the editor to mimic the VSCode editor's interface with some code snippets of different languages to show as much as possible the tokens and scopes pre-defined by the generated theme. But still there are some limitations in the tokens scopes within the Monaco Editor that makes the online preview a little less granular than when the theme is installed on VSCode itself, but at least, the difference is an increase of granularity in the syntax and semantic highlighting.
After the algorithm generates all the colors, there is the possibility to fine-tune each color independently with real-time feedback in the preview component.
The main features are:
- Harmonious colors generation using an innovative way mixing Sacred Geometry patterns and traditional Color Theory.
- Download themes you created and others already in .vsix ready to be installed on VSCode or even publish to the marketplace.
- Save, edit and share your themes collection.
Check it out!
Anyway, what I'm trying to say is, if you're interested in a place where you can discover, share and create new VSCode themes, please visit VSCode Themes Community. You can also check out the source code at the Github repository.
I would love to receive feedbacks of any kind about anything, usability, token scopes, colors generated...really anything. And of course, feel free to open an issue in case you find some.
Also, I'm liking so much to develop this project that I have plans to extend the theme generation algorithm beyond VSCode, the plan is to make it generate themes for anything that can receive a theme. Ambitious ain't it? Contributions are more than welcome in case you have some spare time and liked the project and the idea.
Other experiments
I've also made a theme generator for Shadcn UI using the same algorithm, but it need a lot of work in the ui and every other part of it, it was just a proof of concept. You can find it in my Github personal page.
If you came this far, thanks a lot for the reading!
The above is the detailed content of VSCode Themes Community - Discover, share and create themes using a mix of Sacred Geometry and Color Theory. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Frequently Asked Questions and Solutions for Front-end Thermal Paper Ticket Printing In Front-end Development, Ticket Printing is a common requirement. However, many developers are implementing...

JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

There is no absolute salary for Python and JavaScript developers, depending on skills and industry needs. 1. Python may be paid more in data science and machine learning. 2. JavaScript has great demand in front-end and full-stack development, and its salary is also considerable. 3. Influencing factors include experience, geographical location, company size and specific skills.

How to merge array elements with the same ID into one object in JavaScript? When processing data, we often encounter the need to have the same ID...

Learning JavaScript is not difficult, but it is challenging. 1) Understand basic concepts such as variables, data types, functions, etc. 2) Master asynchronous programming and implement it through event loops. 3) Use DOM operations and Promise to handle asynchronous requests. 4) Avoid common mistakes and use debugging techniques. 5) Optimize performance and follow best practices.

Discussion on the realization of parallax scrolling and element animation effects in this article will explore how to achieve similar to Shiseido official website (https://www.shiseido.co.jp/sb/wonderland/)...

In-depth discussion of the root causes of the difference in console.log output. This article will analyze the differences in the output results of console.log function in a piece of code and explain the reasons behind it. �...

The latest trends in JavaScript include the rise of TypeScript, the popularity of modern frameworks and libraries, and the application of WebAssembly. Future prospects cover more powerful type systems, the development of server-side JavaScript, the expansion of artificial intelligence and machine learning, and the potential of IoT and edge computing.
