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.

Flujo 1: Editar en ScriptCase (normal)
Este es el flujo más común y sencillo.

Cómo funciona
- Editas código en ScriptCase — Abres un evento, método o SQL y lo modificas
- Guardas en ScriptCase — Haces clic en "Guardar"
- GitSCase detecta el cambio — Automáticamente
- Haces commit en GitSCase — Sincronizas con el repositorio local
- 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

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

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.

Cómo funciona
- Editas código en tu editor — Abres el archivo del repositorio local y lo modificas
- Guardas en tu editor — El archivo se guarda en el repositorio local
- Detectas cambios en GitSCase — Comparas repo vs ScriptCase
- Aplicas cambios en GitSCase — Escribe el código en ScriptCase
- 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)

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

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

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
| Aspecto | Editar en ScriptCase | Editar 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 |
| Herramientas | Editor de ScriptCase | VS Code, Sublime, etc. |
Sincronización: Clave del éxito
Regla de oro: ScriptCase y el repositorio local deben estar siempre sincronizados.

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

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

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
- Commit — Guarda cambios desde ScriptCase
- Detección — Aplica cambios externos
- Metodología con Backups — Setup de equipo