Extension VSCode pour accélérer le développement sur les projets Enso + CLI Cronos.
📚 Documentation complète : docs/ (site VitePress, disponible en français et en anglais)
Commandes Cronos (backend .NET/C#)
| Commande |
Description |
enso-devtools.cronos.createApplicationService |
Crée un Application Service et son interface |
enso-devtools.cronos.createEntity |
Crée les couches entité |
enso-devtools.cronos.createController |
Crée un Controller dans le dossier spécifié |
enso-devtools.cronos.createExpression |
Crée une expression basée sur une Entity |
enso-devtools.cronos.createModel |
Crée un Model dans le dossier spécifié |
enso-devtools.cronos.createEnum |
Crée un enum |
enso-devtools.cronos.createValidator |
Crée un Validator basé sur un Model |
enso-devtools.cronos.createPagedListParameters |
Crée un PagedListParameters |
enso-devtools.cronos.createSettingService |
Crée un Setting Service (appsettings.*.json) |
enso-devtools.cronos.generateEnum |
Génère les fichiers TypeScript d'enum depuis les enums C# |
enso-devtools.cronos.generateModel |
Génère les fichiers TypeScript de model depuis les models C# |
Commandes Front (Vue.js/TypeScript)
| Commande |
Description |
enso-devtools.front.createComponent |
Crée un nouveau composant Vue.js (.vue + SetupService.ts) |
enso-devtools.front.createService |
Crée un nouveau service frontend |
enso-devtools.front.createEntity |
Crée une nouvelle entité frontend |
enso-devtools.front.createObjectSkeleton |
Génère un objet basé sur un type/interface existant |
enso-devtools.front.implementApi |
Implémente les méthodes d'une API dans un service |
enso-devtools.front.openComponentSetup |
Bascule entre le .vue et son SetupService.ts associé |
enso-devtools.front.migrateFrontToFileNesting |
Migre les SetupService vers le pattern file nesting |
enso-devtools.front.generateSharedIndexFile |
Génère index.ts et shims-volar.d.ts pour les composants partagés |
enso-devtools.front.generateFontIconHtmlDemoFile |
Génère une page HTML de démo des icônes FontIcon |
enso-devtools.front.generateFontIconSvgFile |
Génère les SVG de prévisualisation FontIcon |
enso-devtools.front.generateOrionIconSvgFile |
Génère les SVG de prévisualisation OrionUI |
Commandes Git
| Commande |
Description |
enso-devtools.git.createMergeRequest |
Ouvre le formulaire GitLab de création de MR, pré-rempli depuis la branche et optionnellement lié à Jira |
Commandes LSP
| Commande |
Description |
enso-devtools.lsp.restart |
Enso Devtools: Restart Language Server — redémarre le serveur @enso/lsp en relisant la configuration |
L'icône Enso dans la barre d'activité expose deux vues :
- Controller/API Pairing — associe un
*Controller.cs .NET à son *Api.ts TypeScript, affiche le statut de synchronisation des méthodes et permet d'ajouter/supprimer des méthodes dans le fichier API. L'appairage et la correspondance méthode à méthode sont calculés par le serveur Enso LSP (routes héritées résolues, appairage par lien/nom/route, dérives signalées) ; le même index fournit des CodeLens dans les contrôleurs et les fichiers API, et des diagnostics de désynchronisation dans le panneau Problèmes.
- API/Service Pairing — associe un
*Api.ts à son *Service.ts, même principe de synchronisation — et même moteur : l'appairage (liens croisés, homonymie par projet frontend), la correspondance des wrappers (y compris renommés) et les éditions viennent du serveur Enso LSP, qui signale aussi en diagnostic les wrappers dont la méthode d'API a disparu.
Vue Usages d'un composant
Disponible dans l'explorateur quand un fichier .vue ou *SetupService.ts est actif. Liste tous les fichiers qui utilisent ce composant avec le numéro de ligne, et permet d'ouvrir directement les occurrences.
Les usages sont fournis par le serveur Enso LSP, qui en tient l'index à jour : la vue ne relit plus le projet à chaque changement d'onglet, et elle ignore les balises en commentaire. La recherche est cloisonnée par projet frontend (le dossier parent du src englobant) : deux applications d'un même dépôt (Web/FrontEnd, Web/AdminFrontEnd) ne partagent pas leurs composants, et leurs homonymes ne sont jamais mélangés. Sans serveur disponible, la vue reste vide et affiche la marche à suivre.
Enso LSP (serveur de langage compagnon)
Serveur de langage embarqué dans l'extension, qui vérifie les règles du Manifeste Développement FrontEnd portant sur les relations entre fichiers — appairage {Name}.vue ↔ {Name}Setup.ts, sections du composant — et fournit quatre index : usages d'un composant, références Event Bus, appairage Contrôleur .NET ↔ API front et appairage API ↔ Service, exposés en CodeLens, diagnostics et vues de la sidebar.
Complémentaire de @enso/linter (règles intra-fichier) et de Vue Language Server. Aucune installation : le serveur est livré avec l'extension.
📖 Documentation complète — fonctionnement, configuration des projets legacy et en cours de migration, exclusions.
L'extension expose aussi un serveur MCP aux agents IA de VSCode (Copilot) : fournisseur natif démarré automatiquement, six outils enso_* (diagnostics, scaffolding conforme, graphe du workspace) — voir Serveur MCP et CLI enso-lsp (usage terminal et CI).
Snippets
Des snippets sont fournis pour accélérer l'écriture de code :
- TypeScript (
enso-typescript.json) — patterns Enso/SetupService
- LESS (
enso-less.json) — patterns de style
Paramètres
| Paramètre |
Défaut |
Description |
ensoDevtools.cli.Name |
"cronos" |
Nom local du CLI Cronos |
ensoDevtools.frontTools.useFileNesting |
true |
Groupe .vue et *SetupService.ts pour le file nesting VSCode |
ensoDevtools.frontTools.useSplitViewForSetupService |
true |
Ouvre *SetupService.ts en vue divisée |
ensoDevtools.frontTools.usePureTsProps |
true |
Utilise les props TypeScript pures dans les SetupService |
ensoDevtools.frontTools.useSetup |
false |
Utilise *Setup.ts au lieu de *SetupService.ts |
ensoDevtools.frontTools.fontIconCssPath |
— |
Chemin vers le CSS iconfont à analyser |
ensoDevtools.frontTools.fontIconSvgPath |
— |
Chemin vers le dossier SVG iconfont |
ensoDevtools.frontTools.componentCreationEngineVersion |
2 |
Version du moteur de création de composants |
ensoDevtools.frontTools.useSharedIndexFileScript |
true |
Régénère l'index partagé à chaque création de composant partagé |
ensoDevtools.git.jiraUrl |
— |
URL de base Jira pour lier les issues dans les descriptions de MR |
ensoDevtools.lsp.enabled |
true |
Active le serveur LSP compagnon Enso |
ensoDevtools.lsp.path |
— |
Surcharge de développement : chemin absolu vers un build local du serveur. Vide = serveur embarqué |
ensoDevtools.lsp.setupConvention |
Setup |
Convention canonique : Setup (manifeste) ou SetupService (projets legacy) |
ensoDevtools.lsp.useDefaultExport |
false |
Génère la classe Setup en export default (projets legacy) |
ensoDevtools.lsp.acceptSetupService |
true |
Tolère aussi l'autre convention comme appairage valide (migration en cours) |
ensoDevtools.lsp.exclude |
[] |
Globs additionnels exclus du scan LSP — préfixer par **/ pour exclure un dossier où qu'il soit (ex. **/Mail/**) |
ensoDevtools.lsp.pairingIgnore |
App.vue, Base*Setup(Service).ts |
Fichiers exemptés de la règle d'appairage |
ensoDevtools.lsp.requireStyleSection |
true |
Signale l'absence de section <style scoped> dans un .vue (et propose le quick fix) |
ensoDevtools.lsp.baseSetupImport |
@/components/BaseSetup |
Import de la classe de base dans le squelette généré — son suffixe suit setupConvention |
ensoDevtools.lsp.decoratorsImport |
@/utils/decorators |
Import de @Reactive dans le squelette généré |
ensoDevtools.lsp.trace.server |
off |
Trace du protocole LSP (canal « Enso LSP ») |
Pour une configuration avancée, un fichier enso.config.ts à la racine du projet permet de surcharger les paramètres VSCode. Voir la documentation pour les détails.