Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>JEX StartersNew to Visual Studio Code? Get it now.
JEX Starters

JEX Starters

raultm

|
6 installs
| (1) | Free
Snippets y generadores de proyectos Java Spring Boot, Laravel + React y React.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

JEX Starters

JEX Starters es una extension de Visual Studio Code con snippets y generadores para acelerar desarrollos Java con Spring Boot.

Esta extension esta pensada para proyectos que sigan convenciones JEX, pero no es una publicacion oficial de ninguna administracion u organismo publico.

Caracteristicas

  • Snippets Java y YAML con prefijo jex-.
  • Generacion de esqueleto de entidad Spring Boot desde la paleta de comandos.
  • Creacion de clases base para controller, mapper, model, repository, servicios y validator.
  • Generacion de tests unitarios asociados.
  • Actualizacion de una plantilla OpenAPI base cuando el flujo de generacion lo requiere.
  • Creacion de proyectos Spring Boot con las convenciones comunes del servicio.
  • Aplicacion de configuracion estandar sobre proyectos Spring Boot existentes.
  • Creacion de proyectos Laravel + React mediante el starter kit oficial.
  • Creacion de aplicaciones independientes con React 18 y JavaScript.
  • Creacion de aplicaciones Spring Boot + React 18 en una estructura conjunta.

Uso

Proyecto estandar

Para crear un proyecto nuevo con las convenciones comunes, ejecuta:

Jex Starters: Crear Proyecto Estandar

La extension descargara el proyecto desde Spring Initializr y aplicara la configuracion compartida: pom.xml, recursos, OpenAPI, Logback, .vscode, GitLab CI, .versionrc, .gitignore y scripts locales. La receta no fija una version concreta de Spring Boot: deja que Spring Initializr genere la version 4 disponible y despues anade la configuracion comun sobre ese proyecto. Java queda configurado en 21.

El proyecto queda preparado como WAR para servidor externo: spring-boot-starter-tomcat se marca como provided, se conserva o genera ServletInitializer, y se incluyen tareas de VS Code para arrancar en local y generar el WAR con el perfil dev.

Para aplicar esa misma configuracion sobre el proyecto abierto, ejecuta:

Jex Starters: Aplicar Configuracion Estandar

El comando es idempotente: anade o actualiza configuracion comun, conserva archivos existentes que no debe sobrescribir y muestra un resumen final.

Proyecto Laravel + React

Para crear un monolito Laravel + React, ejecuta:

Jex Starters: Crear proyecto Laravel + React

El flujo se comporta como el comando de Spring Boot: solicita el nombre de la aplicacion, solicita la carpeta destino, muestra progreso, impide sobrescribir carpetas con contenido y ofrece abrir el proyecto creado.

Laravel no dispone de un endpoint ZIP equivalente a Spring Initializr. El comando usa Composer para ejecutar el mismo paquete que emplea el instalador oficial de Laravel al seleccionar React:

composer create-project laravel/react-starter-kit nombre-del-proyecto --stability=dev --no-interaction

Por tanto, requiere PHP 8.3 o superior y Composer disponibles en el equipo. Si el PHP disponible en el PATH no llega a 8.3, la extension avisa y permite indicar php.exe o la carpeta de una instalacion compatible; esa ruta puede guardarse en la configuracion jexStarters.php83Path para futuros proyectos. Composer descarga e instala el starter oficial, y el comando crea .env desde .env.example solo si el instalador no lo hubiera creado.

El starter oficial incluye Laravel, React, TypeScript, Inertia, Vite, Tailwind CSS y shadcn/ui en resources/js.

Al finalizar, el comando ofrece instalar las dependencias de frontend. Comprueba Node.js y npm; si falta alguna herramienta, conserva el proyecto generado y muestra el comando npm install para ejecutarlo manualmente.

Proyecto React 18 independiente

Para crear una aplicacion frontend independiente con JavaScript, ejecuta:

Jex Starters: Crear proyecto React 18 (JavaScript)

El comando usa el generador oficial de Vite con la variante react de JavaScript y despues fija React y React DOM en 18.3.1. Usa npm solo para invocar Vite y Yarn para las dependencias de la aplicacion: ejecuta yarn add fetchssoapi sweetalert2 loglevel, que añade las librerias al package.json e instala el conjunto de dependencias del proyecto en una sola operacion. No incluye TypeScript ni necesita Laravel, PHP o Composer. Se necesita Node.js, npm, Yarn e internet.

El starter incluye src/api/fetchBackEnd.js, src/api/api.js y src/helpers/functionalHelpers.js como base para las peticiones al backend. Al crear el proyecto, .env se genera desde .env.example con VITE_BACKEND=http://localhost:8080; también incluye VITE_MODIFIABLE_ENVIRONMENT y VITE_SSO_ENVIRONMENT. api.js ofrece operaciones CRUD genericas y maneja respuestas 401 con SweetAlert2; createUnauthorizedHandler permite conectar el login o cierre de sesion de cada aplicacion. El proyecto generado incluye README-api.md con ejemplos de uso.

El caso de uso createReact18Project acepta postCreateCommands, una lista de comandos que se ejecutan despues de generar el proyecto y copiar el cliente API. Esto permite ampliar mas adelante el generador con instalaciones de librerias, conservando el mismo flujo de creacion.

Una vez instaladas las dependencias, ejecuta:

npm run dev

Aplicacion Spring Boot + React 18

Ejecuta el comando:

Jex Starters: Crear aplicación Spring + React 18

El comando reutiliza los generadores de Spring Boot y React 18 y crea ambos proyectos dentro de una carpeta comun:

nombreaplicacion/
├── backend/   # Spring Boot, Java 21 y Maven
├── frontend/  # React 18, Vite y cliente API
├── .gitignore
└── README.md

Necesitas Java 21, Node.js, npm, Yarn e internet. Para iniciar el backend, ejecuta ./mvnw spring-boot:run desde backend (en Windows, mvnw.cmd spring-boot:run). Para iniciar React, ejecuta yarn dev desde frontend. El frontend toma la URL del backend de frontend/.env. El backend generado permite CORS desde http://localhost:5173 para desarrollo local.

El generador actual de Vite requiere Node.js 20.19+ o 22.12+; el comando comprueba ese requisito antes de crear el proyecto.

Generacion de entidad

Abre un proyecto Spring Boot en VS Code y ejecuta el comando:

Jex Starters: Generar Esqueleto de Entidad

La extension busca el pom.xml en la raiz del proyecto para detectar groupId y artifactId, y con esos datos calcula el packageName base.

Despues solicita el nombre de la entidad en singular y plural, en formato CamelCase. Por ejemplo:

Provincia
Provincias

Con esos datos genera archivos en src/main/java como:

  • controllers/ProvinciasController.java
  • mappers/ProvinciaMapper.java
  • models/Provincia.java
  • repositories/ProvinciaRepository.java
  • services/provincias/CrearProvincia.java
  • services/provincias/ActualizarProvincia.java
  • services/provincias/BorrarProvincia.java
  • services/provincias/ListarProvincias.java
  • services/provincias/ObtenerProvincia.java
  • validators/ProvinciaValidator.java

Tambien genera tests unitarios en src/test/java como:

  • controllers/ProvinciasControllerTest.java
  • mappers/ProvinciaMapperTest.java
  • models/ProvinciaTest.java
  • services/provincias/CrearProvinciaTest.java
  • services/provincias/ActualizarProvinciaTest.java
  • services/provincias/BorrarProvinciaTest.java
  • services/provincias/ListarProvinciasTest.java
  • services/provincias/ObtenerProvinciaTest.java
  • validators/ProvinciaValidatorTest.java

Snippets incluidos

Los snippets disponibles usan el prefijo jex-:

  • jex-entity
  • jex-entity-with-dates
  • jex-test-service
  • jex-test-controller
  • jex-service
  • jex-repository
  • jex-mapper
  • jex-openapi-endpoint
  • jex-endpoint-full-crud
  • jex-openapi-schemas
  • jex-service-create-unit-test
  • jex-service-findAll-unit-test
  • jex-service-findById-unit-test

Requisitos del proyecto

El generador asume un proyecto Spring Boot con:

  • pom.xml en la raiz del workspace.
  • JUnit 5 y Mockito disponibles mediante las dependencias de test generadas por Spring Initializr.
  • MapStruct configurado para generar la implementacion de los mappers.
  • Entidades OpenAPI generadas con nombres como ProvinciaSummary, ProvinciaDetail, ProvinciaCreate, ProvinciaDetailResponse y ProvinciasListResponse.

Desarrollo

Para probar la extension desde VS Code, abre esta carpeta en VS Code y ejecuta Run Extension desde el panel de depuracion, o pulsa F5 si esa configuracion esta seleccionada.

Se abrira una ventana nueva llamada Extension Development Host. En esa ventana abre un proyecto Spring Boot de prueba y ejecuta el comando Jex Starters: Generar Esqueleto de Entidad.

Ejecutar los tests:

npm run test:run

Empaquetar

Generar un .vsix instalable:

npm run package

Instalar el .vsix en VS Code:

Extensions: Install from VSIX...

Publicar en Visual Studio Marketplace

y subir a https://marketplace.visualstudio.com/manage/publishers/

Proximas versiones

Para publicar una nueva version, primero aplica los cambios de codigo o plantillas, ejecuta los tests y genera el paquete local:

npm run test:run
npm run package

Despues incrementa la version siguiendo SemVer:

commit-and-tag-version --release-as 0.3.5

Crea VSIX para publicar en https://marketplace.visualstudio.com/manage/publishers:

npx @vscode/vsce package --allow-missing-repository 

Si en el futuro se adopta Conventional Commits, se puede automatizar el changelog, el commit y la etiqueta con commit-and-tag-version:

npm install --save-dev commit-and-tag-version
npm pkg set scripts.release="commit-and-tag-version"
npm run release
vsce publish
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft