Programación Colaborativa con Live Share en VS Code

Clase 28 de 42Curso de Git y GitHub

Contenido del curso

Fundamentos de Git y control de versiones

Introducción a GitHub

Herramientas de colaboración en GitHub

Resumen

Trabajar de forma colaborativa en la nube sin que nadie acceda a tu equipo personal es una de las grandes ventajas de combinar GitHub Codespaces con la extensión Live Share de Visual Studio Code. Esta combinación permite que dos o más personas editen código en tiempo real, sugieran cambios y unifiquen su trabajo antes de hacer un commit, todo dentro de un entorno virtual aislado.

¿Cómo iniciar una sesión de Live Share en Codespaces?

Con el proyecto de Django ya configurado y el Codespace en línea, lo primero es verificar que la extensión Live Share esté instalada. Desde la sección de extensiones en VSCode, se puede buscar "Live Share" y confirmar que aparece entre las extensiones del Codespace [01:08]. Sin embargo, existe un atajo más rápido: basta con desplazarse hasta la parte inferior del explorador de archivos, donde aparece la sección de Live Share [01:30].

Al presionar esa sección, se genera un enlace de invitación que se copia automáticamente al clipboard [01:40]. Ese enlace es lo único que necesitas enviar a tu colaborador para que se una a la sesión.

¿Qué ve el invitado al conectarse?

Cuando el invitado abre el enlace, tiene dos opciones:

  • Abrir la sesión directamente en Visual Studio Code de escritorio.
  • Continuar en la versión web del editor.

Lo recomendable es que el invitado use VSCode de escritorio para optimizar recursos [02:15]. Al conectarse, el invitado puede mantenerse como anónimo o registrarse con un nombre de usuario. Una vez dentro, verá el cursor del anfitrión y podrá seguir su actividad en tiempo real [02:45].

¿Cómo funciona la edición en tiempo real?

La experiencia de pair programming o programación en pareja es completamente interactiva. Ambas partes pueden ver las modificaciones del otro en tiempo real o semirreal [03:30]. El anfitrión puede:

  • Seguir la actividad del invitado y ver su cursor.
  • Observar las ediciones que el colaborador sugiere.
  • Mantenerse pasivo mientras el otro realiza cambios.

En la demostración, el colaborador Miguel corrigió detalles como la capitalización de la "H" en GitHub Codespace, mostrando cómo las sugerencias se reflejan de inmediato en el código del anfitrión [04:10].

¿Quién recibe el crédito de los cambios en Live Share?

Un detalle importante: todas las ediciones que el invitado realice quedan dentro del entorno del anfitrión. Esto significa que al hacer un commit, el crédito principal será del dueño del Codespace [04:30]. Sin embargo, Visual Studio Code añade un mensaje indicando que el trabajo fue hecho en colaboración con el otro participante, reconociendo parcialmente la contribución.

Esta dinámica es relevante al trabajar en equipos donde la trazabilidad de las contribuciones importa. El trabajo de todos se puede unificar en un solo commit una vez que la sesión colaborativa ha concluido [05:50].

¿Qué considerar al finalizar la sesión colaborativa?

Al tratarse de un entorno virtual, existen aspectos críticos que no debes olvidar:

  • Si cierras el Codespace, la sesión de todos los colaboradores se cierra automáticamente [05:00].
  • Si la extensión Live Share no está registrada en el archivo devcontainer.json, podrías necesitar reinstalarla al reabrir el Codespace [05:12].
  • Para finalizar la colaboración sin cerrar el Codespace, selecciona la opción Stop Collaboration Session [05:40].

La principal ventaja de este flujo es el aislamiento: nadie accede a tu equipo físico ni a tu entorno de desarrollo personal. Todo se ejecuta en la nube, lo que brinda seguridad y comodidad tanto si usas VSCode de escritorio como la versión web [06:15].

Una vez concluidas todas las actividades, es fundamental regresar a github.com/codespaces, ubicar tu plantilla y eliminar el Codespace desde los tres puntos del menú [05:55]. Esto evita consumo innecesario de recursos en la nube.

¿Ya probaste hacer pair programming con alguien de tu equipo usando esta herramienta? Comparte tu experiencia y cuéntanos cómo te fue colaborando en tiempo real desde la nube.