


Communauté de thèmes VSCode - Découvrez, partagez et créez des thèmes en utilisant un mélange de géométrie sacrée et de théorie des couleurs
TLDR
J'ai créé un outil pour générer des thèmes VSCode, vous pouvez enregistrer, partager et télécharger des thèmes prêts à être installés sur VSCode ou publiés sur le marché.
Les principales fonctionnalités sont :
- Génération de couleurs harmonieuses en utilisant une manière innovante mélangeant les motifs de la géométrie sacrée et la théorie traditionnelle des couleurs.
- Téléchargez le thème créé et d'autres déjà en .vsix prêts à être installés sur VSCode ou même à publier sur la place de marché.
- Enregistrez, modifiez et partagez votre collection de thèmes.
Communauté de thèmes VSCode -
Dépôt Github
Il a été réalisé avec Svelte 5 et Svelte-kit.
Une introduction
J'ai toujours été curieux de savoir comment les motifs dits de la Géométrie Sacrée peuvent plaire aux yeux et à l'esprit grâce à leur conception intelligente et complexe.
De plus, je ne pourrais jamais me contenter d'un thème VSCode pendant plus d'une semaine, pour moi, il est nécessaire d'avoir des thèmes différents pour pouvoir en changer de temps en temps afin de rendre mon parcours de codage plus agréable. J'étais toujours à la recherche de nouveaux thèmes pour ma collection déjà vaste.
Ensuite, j'ai commencé à créer mes propres thèmes, de cette façon, je pouvais non seulement sélectionner les couleurs de ma préférence du moment, mais aussi contrôler le code mettant en évidence la granularité sur les différents langages pris en charge par VSCode.
Mais cela n'a jamais été facile, recherchez toutes les couleurs correspondantes pour autant de jetons de syntaxe différents, ajustez les jetons et les étendues, les couleurs de l'interface utilisateur, etc.... utiliser la théorie des couleurs peut beaucoup aider, vous sélectionnez une couleur et en utilisant certains schémas de couleurs, vous pouvez obtenir une, deux, trois couleurs assorties ou plus (mais il n'y a pas une grande variété de schémas de couleurs), après cela vous devez jouer avec certains paramètres de saturation et de luminosité pour affiner les couleurs pour les différents jetons et éléments de l'interface utilisateur toujours en considérant si le rapport de contraste de toutes les couleurs de premier plan sélectionnées par rapport à l'arrière-plan est à un niveau acceptable... Peut-être qu'à présent, vous voyez où je veux en venir, créer un thème qui soit non seulement harmonieux mais aussi fonctionnel et suivre certaines normes minimales acceptables peut devenir une tâche très complexe.
La "nécessité" de différents thèmes pour satisfaire ce besoin presque pathologique de diversifier et de changer les couleurs que j'ai sur mon écran lorsque je travaille en conjonction avec ma curiosité, mentionnée plus haut, de la façon dont les motifs de géométrie sacrée peuvent plaire aux yeux et à l'esprit. moi à ce projet.
L'idée et la mise en œuvre
Et si je pouvais, de la même manière que la théorie des couleurs avec ses schémas de couleurs dérive un ensemble de couleurs correspondantes à partir d'une couleur initiale, penser à une méthode pour utiliser à la place le calcul des schémas de couleurs traditionnels, adapter certaines équations de motifs de géométrie sacrée sur en haut de la roue chromatique ?
Après avoir étudié de nombreux modèles de géométrie sacrée différents, j'ai dressé une liste de plus de 30 modèles dont les équations étaient adaptées à cette expérience de savant fou. Et c’est à ce moment-là qu’est né l’algorithme de génération de couleurs pour ce projet.
L'algorithme
En sélectionnant un motif de géométrie sacrée dans une liste et une teinte de base avec un curseur, l'algorithme génère une quantité spécifique de teintes de base dérivées de l'équation du motif de géométrie sacrée sélectionnée au-dessus de la roue chromatique traditionnelle. Après cela, il génère les couleurs de tous les éléments de l'interface utilisateur en faisant varier légèrement les paramètres de luminosité et de saturation de manière aléatoire en utilisant pour chaque élément l'une des teintes dérivées du « jeu de couleurs » généré. Ensuite, en utilisant la même technique, il génère la couleur pour chacun des jetons de syntaxe nécessaires utilisés dans le thème. Enfin, il génère les couleurs ansi pour le terminal.
J'ai développé un moyen de prévisualiser en temps réel le thème en utilisant l'éditeur Monaco avec le plugin Shiki pour la mise en évidence du code avec les thèmes VSCode au lieu du système de coloration syntaxique fourni par l'éditeur Monaco. Placement de quelques éléments autour de l'éditeur pour imiter l'interface de l'éditeur VSCode avec quelques extraits de code de différents langages pour afficher autant que possible les tokens et scopes prédéfinis par le thème généré. Mais il existe néanmoins certaines limitations dans la portée des jetons dans l'éditeur de Monaco qui rendent l'aperçu en ligne un peu moins granulaire que lorsque le thème est installé sur VSCode lui-même, mais au moins, la différence est une augmentation de la granularité dans la syntaxe et la mise en évidence sémantique. .
Une fois que l'algorithme a généré toutes les couleurs, il est possible d'affiner chaque couleur indépendamment avec un retour en temps réel dans le composant d'aperçu.
Les caractéristiques principales sont :
- Génération de couleurs harmonieuses en utilisant une manière innovante mélangeant les motifs de la géométrie sacrée et la théorie traditionnelle des couleurs.
- Téléchargez les thèmes que vous avez créés et d'autres déjà en .vsix prêts à être installés sur VSCode ou même à publier sur le marché.
- Enregistrez, modifiez et partagez votre collection de thèmes.
Vérifiez-le!
Quoi qu'il en soit, ce que j'essaie de dire, c'est que si vous êtes intéressé par un endroit où vous pouvez découvrir, partager et créer de nouveaux thèmes VSCode, veuillez visiter la communauté des thèmes VSCode. Vous pouvez également consulter le code source sur le référentiel Github.
J'aimerais recevoir des commentaires de toutes sortes sur n'importe quoi, la convivialité, les portées des jetons, les couleurs générées... vraiment n'importe quoi. Et bien sûr, n'hésitez pas à ouvrir un numéro au cas où vous en trouveriez.
De plus, j'aime tellement développer ce projet que j'ai prévu d'étendre l'algorithme de génération de thème au-delà de VSCode, le plan est de lui faire générer des thèmes pour tout ce qui peut recevoir un thème. Ambitieux, n'est-ce pas ? Les contributions sont plus que bienvenues si vous avez du temps libre et que vous avez aimé le projet et l'idée.
Autres expériences
J'ai également créé un générateur de thème pour l'interface utilisateur Shadcn en utilisant le même algorithme, mais cela nécessite beaucoup de travail dans l'interface utilisateur et dans toutes les autres parties, ce n'était qu'une preuve de concept. Vous pouvez le trouver sur ma page personnelle Github.
Si vous êtes arrivé jusqu'ici, merci beaucoup pour votre lecture !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

Les principales utilisations de JavaScript dans le développement Web incluent l'interaction client, la vérification du formulaire et la communication asynchrone. 1) Mise à jour du contenu dynamique et interaction utilisateur via les opérations DOM; 2) La vérification du client est effectuée avant que l'utilisateur ne soumette les données pour améliorer l'expérience utilisateur; 3) La communication de rafraîchissement avec le serveur est réalisée via la technologie AJAX.

L'application de JavaScript dans le monde réel comprend un développement frontal et back-end. 1) Afficher les applications frontales en créant une application de liste TODO, impliquant les opérations DOM et le traitement des événements. 2) Construisez RestulAPI via Node.js et Express pour démontrer les applications back-end.

Comprendre le fonctionnement du moteur JavaScript en interne est important pour les développeurs car il aide à écrire du code plus efficace et à comprendre les goulots d'étranglement des performances et les stratégies d'optimisation. 1) Le flux de travail du moteur comprend trois étapes: analyse, compilation et exécution; 2) Pendant le processus d'exécution, le moteur effectuera une optimisation dynamique, comme le cache en ligne et les classes cachées; 3) Les meilleures pratiques comprennent l'évitement des variables globales, l'optimisation des boucles, l'utilisation de const et de locations et d'éviter une utilisation excessive des fermetures.

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Les choix de Python et JavaScript dans les environnements de développement sont importants. 1) L'environnement de développement de Python comprend Pycharm, Jupyternotebook et Anaconda, qui conviennent à la science des données et au prototypage rapide. 2) L'environnement de développement de JavaScript comprend Node.js, VScode et WebPack, qui conviennent au développement frontal et back-end. Le choix des bons outils en fonction des besoins du projet peut améliorer l'efficacité du développement et le taux de réussite du projet.

C et C jouent un rôle essentiel dans le moteur JavaScript, principalement utilisé pour implémenter des interprètes et des compilateurs JIT. 1) C est utilisé pour analyser le code source JavaScript et générer une arborescence de syntaxe abstraite. 2) C est responsable de la génération et de l'exécution de bytecode. 3) C met en œuvre le compilateur JIT, optimise et compile le code de point chaud à l'exécution et améliore considérablement l'efficacité d'exécution de JavaScript.
