Edición de código

Hay dos formas de editar el código de tu proyecto: dentro de ScriptCase o en un editor externo (VS Code, Sublime, etc.). Cada una tiene un flujo diferente.

Dos flujos de edición de código

Flujo 1: Editar en ScriptCase (normal)

Este es el flujo más común y sencillo.

Flujo de edición en ScriptCase

Cómo funciona

  1. Editas código en ScriptCase — Abres un evento, método o SQL y lo modificas
  2. Guardas en ScriptCase — Haces clic en "Guardar"
  3. GitSCase detecta el cambio — Automáticamente
  4. Haces commit en GitSCase — Sincronizas con el repositorio local
  5. Subes a GitHub — Compartes con el equipo

Paso a paso

En ScriptCase:

1. Abrir aplicación
2. Abrir evento (ej: onExecute)
3. Modificar código PHP
4. Guardar

Editor de ScriptCase con código

En GitSCase:

1. Tab "Commit"
2. Ver el cambio detectado
3. Seleccionar el cambio
4. Commit

GitSCase detectando cambios automáticamente

En GitHub Desktop:

1. Commit to main
2. Push origin

Ventaja: GitSCase detecta automáticamente. No necesitas hacer nada especial.

Importante: Siempre hacer commit

Después de editar en ScriptCase, siempre haz commit en GitSCase para sincronizar:

  • ✅ ScriptCase tiene el código actualizado
  • ✅ Repositorio local tiene el código actualizado
  • ✅ Ambos están sincronizados

Si no haces commit:

  • ✅ ScriptCase tiene el código actualizado
  • ❌ Repositorio local tiene el código viejo
  • ❌ Están desincronizados

Flujo 2: Editar en editor externo (avanzado)

Este es el flujo ideal para desarrolladores que prefieren usar VS Code, Sublime, o cualquier editor externo.

Flujo de edición externa

Cómo funciona

  1. Editas código en tu editor — Abres el archivo del repositorio local y lo modificas
  2. Guardas en tu editor — El archivo se guarda en el repositorio local
  3. Detectas cambios en GitSCase — Comparas repo vs ScriptCase
  4. Aplicas cambios en GitSCase — Escribe el código en ScriptCase
  5. Generas código en ScriptCase — Manualmente, para que ScriptCase compile

Paso a paso

En tu editor (VS Code, Sublime, etc.):

1. Abrir carpeta del repositorio local
2. Navegar a: root/Admin/form_usuarios/events/onExecute.php
3. Modificar código PHP
4. Guardar (Ctrl+S)

VS Code editando archivo del repositorio

En GitSCase:

1. Tab "Detectar cambios"
2. Detectar cambios
3. Ver el cambio: onExecute.php modificado
4. Aplicar el cambio

GitSCase detectando cambios externos

En ScriptCase:

1. Abrir la aplicación (form_usuarios)
2. Hacer clic en "Generar código" (botón de engranaje)
3. Espera a que compile

Botón generar código en ScriptCase

En ScriptCase:

1. Abrir la aplicación (form_usuarios)
2. Hacer clic en "Generar código" (botón de engranaje)
3. Esperar a que compile

Importante: ScriptCase no detecta cambios externos automáticamente. Debes generar código manualmente después de aplicar cambios desde GitSCase.

¿Por qué generar código?

ScriptCase compila tu código PHP en archivos ejecutables. Si modificas el código externamente:

  • ✅ El código fuente está actualizado (en la base de datos de ScriptCase)
  • ❌ El código compilado está desactualizado
  • ❌ La aplicación no funcionará correctamente hasta que generes código

Generar código = Compilar

Ventajas de editar externamente

  • Mejor editor — Syntax highlighting, autocomplete, plugins
  • Búsqueda avanzada — Buscar en todos los archivos a la vez
  • Refactoring — Renombrar variables, funciones, etc.
  • Git integrado — Ver diffs, historial, blame
  • Múltiples archivos — Editar varios archivos simultáneamente

Comparación de flujos

AspectoEditar en ScriptCaseEditar externamente
Detección automática✅ Sí❌ No
Commit necesario✅ Sí❌ No (ya está en el repo)
Aplicar cambios❌ No✅ Sí
Generar código✅ Automático⚠️ Manual
Facilidad🟢 Fácil🟡 Intermedio
HerramientasEditor de ScriptCaseVS Code, Sublime, etc.

Sincronización: Clave del éxito

Regla de oro: ScriptCase y el repositorio local deben estar siempre sincronizados.

Diagrama de sincronización

Escenario 1: Editaste en ScriptCase

Estado inicial:
- ScriptCase: código viejo
- Repo local: código viejo
✅ Sincronizados

Editas en ScriptCase:
- ScriptCase: código nuevo ✅
- Repo local: código viejo ❌
❌ Desincronizados

Haces commit en GitSCase:
- ScriptCase: código nuevo ✅
- Repo local: código nuevo ✅
✅ Sincronizados de nuevo

Flujo de sincronización desde ScriptCase

Escenario 2: Editaste externamente

Estado inicial:
- ScriptCase: código viejo
- Repo local: código viejo
✅ Sincronizados

Editas en tu editor:
- ScriptCase: código viejo ❌
- Repo local: código nuevo ✅
❌ Desincronizados

Aplicas cambios en GitSCase:
- ScriptCase: código nuevo ✅
- Repo local: código nuevo ✅
✅ Sincronizados de nuevo

Generas código en ScriptCase:
- ScriptCase: código compilado ✅
✅ Aplicación funciona correctamente

Flujo de sincronización desde editor externo

Casos de uso reales

Caso 1: Cambio pequeño

Mejor opción: Editar en ScriptCase

1. ScriptCase → Abrir evento → Modificar → Guardar
2. GitSCase → Commit
3. GitHub Desktop → Push

Rápido y simple.

Caso 2: Refactoring grande

Mejor opción: Editar externamente

1. VS Code → Buscar y reemplazar en todos los archivos
2. Guardar todos los cambios
3. GitSCase → Detectar → Aplicar
4. ScriptCase → Generar código en cada app modificada
5. GitHub Desktop → Commit + Push

Más eficiente para cambios masivos.

Caso 3: Trabajar offline

Mejor opción: Editar externamente

1. Editar en VS Code sin conexión
2. Guardar cambios localmente
3. Cuando tengas conexión:
   - GitSCase → Detectar → Aplicar
   - ScriptCase → Generar código
   - GitHub Desktop → Push

Caso 4: Recibir cambios de otros

Siempre igual:

1. GitHub Desktop → Pull
2. GitSCase → Detectar → Aplicar
3. ScriptCase → Generar código (si es necesario)

No importa si el otro desarrollador editó en ScriptCase o externamente.

Errores comunes

❌ Error 1: Editar en ScriptCase y no hacer commit

Problema:

  • ScriptCase tiene código nuevo
  • Repo local tiene código viejo
  • Al hacer pull, pierdes tus cambios

Solución:

  • Siempre hacer commit después de editar en ScriptCase

❌ Error 2: Editar externamente y no aplicar cambios

Problema:

  • Repo local tiene código nuevo
  • ScriptCase tiene código viejo
  • La aplicación no funciona como esperas

Solución:

  • Siempre aplicar cambios en GitSCase después de editar externamente

❌ Error 3: Aplicar cambios y no generar código

Problema:

  • ScriptCase tiene el código fuente actualizado
  • Código compilado está desactualizado
  • La aplicación no funciona

Solución:

  • Siempre generar código después de aplicar cambios externos

❌ Error 4: Editar en ambos lados sin sincronizar

Problema:

  • Editas en ScriptCase
  • Editas en VS Code
  • No sincronizas
  • Conflicto total

Solución:

  • Elige un flujo y síguelo consistentemente
  • Si cambias de flujo, sincroniza primero

Recomendaciones

Para principiantes

Usa el Flujo 1 (editar en ScriptCase):

  • Más simple
  • Menos pasos
  • Menos posibilidad de error
  • GitSCase detecta automáticamente

Para desarrolladores avanzados

Usa el Flujo 2 (editar externamente):

  • Mejor editor
  • Más productivo
  • Más control
  • Requiere disciplina para sincronizar

Para equipos

Establece una regla:

  • Todos usan el mismo flujo, o
  • Cada uno usa el que prefiera pero sincroniza correctamente

Lo importante: Que todos sincronicen ScriptCase ↔ Repo local.

Checklist de sincronización

Después de editar en ScriptCase

  • [ ] Guardar en ScriptCase
  • [ ] GitSCase → Tab "Commit"
  • [ ] Seleccionar cambios
  • [ ] Commit
  • [ ] GitHub Desktop → Push

Después de editar externamente

  • [ ] Guardar en tu editor
  • [ ] GitSCase → Tab "Detectar cambios"
  • [ ] Detectar cambios
  • [ ] Aplicar cambios
  • [ ] ScriptCase → Generar código
  • [ ] GitHub Desktop → Commit + Push

Después de recibir cambios (pull)

  • [ ] GitHub Desktop → Pull
  • [ ] GitSCase → Detectar cambios
  • [ ] Aplicar cambios
  • [ ] ScriptCase → Generar código (si es necesario)
  • [ ] Refrescar ScriptCase (F5)

Próximos pasos

Pregunta cualquier cosa sobre la documentación