From 48644a6c98aed2e9a7cae8466c7c099504177f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Gim=C3=A9nez=20D=C3=ADaz?= <98734290+marcosgdz03@users.noreply.github.com> Date: Sun, 3 May 2026 18:13:18 +0200 Subject: [PATCH] feat: Sistema de plantillas para Java y JavaSpring MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduce el sistema de plantillas para generar proyectos Java con Spring Boot y otras tecnologías Java. ## ✅ Mejoras - 🔥 Sistema de selección de frameworks Java con UI - 🏛️ Plantillas para JavaSpring (REST, Clean Architecture, Microservices) - ⚙️ Plantillas para Node.js (NestJS, Express) - 📁 Estructura completa de proyectos con archivos JSON configurables ## 📝 Detalle - Selector de frameworks basado en QuickPick de VS Code - Generación automática de estructura de carpetas y archivos - Soporte para múltiples patrones de diseño Closes #7 --- package.json | 4 +- src/generator/java/springGenerator.ts | 155 +++++++++++++++++++++++--- src/snippets/generatorSnippets.ts | 41 ++++--- src/templates/java/clean.json | 16 +++ src/templates/java/javaTemplates.ts | 80 +++++++++++++ src/templates/java/microservices.json | 29 +++++ src/templates/java/rest.json | 14 +++ src/templates/javascript/nestjs.json | 5 + src/templates/javascript/simple.json | 5 + 9 files changed, 316 insertions(+), 33 deletions(-) create mode 100644 src/templates/java/clean.json create mode 100644 src/templates/java/javaTemplates.ts create mode 100644 src/templates/java/microservices.json create mode 100644 src/templates/java/rest.json create mode 100644 src/templates/javascript/nestjs.json create mode 100644 src/templates/javascript/simple.json diff --git a/package.json b/package.json index 0a500ac..8da3de2 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "sql-helper", "displayName": "SQL Helper", "description": "Advanced extension with SQL, Java JDBC, Python and JavaScript/TypeScript snippets for databases", - "version": "0.5.2", + "version": "0.5.3", "publisher": "marcosgdz03", "engines": { "vscode": "^1.106.0" @@ -93,7 +93,7 @@ "compile": "tsc -p ./", "watch": "tsc -watch -p ./", "pretest": "npm run compile && npm run lint", - "lint": "eslint 'src/**/*.{ts,js}'", + "lint": "eslint src/**/*.ts", "test": "node ./out/test/runTest.js" }, "devDependencies": { diff --git a/src/generator/java/springGenerator.ts b/src/generator/java/springGenerator.ts index 066930f..e5d043e 100644 --- a/src/generator/java/springGenerator.ts +++ b/src/generator/java/springGenerator.ts @@ -1,8 +1,52 @@ +import * as vscode from "vscode"; import * as fs from "fs"; import * as path from "path"; type Database = "PostgreSQL" | "MySQL" | "SQLite"; +interface Template { + name: string; + description: string; + config: { + package: string; + architecture: string; + }; +} + +export async function chooseSpringTemplate(): Promise