Probando la beta de Codespaces
¿Qué es Codespaces?
Microsoft ha publicado recientemente la versión beta de Codespaces.
Ahora bien, ¿qué es Codespaces?.
Se trata de un entorno de desarrollo en la nube, por lo que accederemos a él en cualquier momento y desde cualquier sitio con conexión a Internet.
Codespaces es cómo un Visual Studio Code incrustado dentro de GitHub, por lo que nos da la posibilidad de editar nuestro código, depurarlo, compilarlo e incluso desplegarlo.
No sé si conoces Gitpod, pero funciona muy similar.
Codespaces por su parte, soporta las extensiones de Visual Studio Code nativamete incluyendo la extensión Live Share, por lo que podremos colaborar con el equipo en un ejercicio de pair-programming.
Acceso a Codespaces
El acceso a la beta de Codespaces es por invitación, y se puede solicitar en la página web de GitHub sobre Codespaces aquí.
Una vez cursada la petición y al cabo de un tiempo, recibiremos un email confirmándonos que hemos sido aceptados y formamos parte de Codespaces.
A partir de aquí, podremos acceder a Codespaces desde GitHub.
Si vamos a un proyecto que tengamos dentro de GitHub, observaremos que en el apartado Code, aparece una nueva opción Open with Codespaces.
Hello World Codespaces
En mi caso, he probado a utilizar esta característica con mi iPad y un teclado bluetooth y en mi PC, y he editado mi código para ver el resultado, y aunque no será exactamente igual que cuando estoy en un ordenador de escritorio o portátil, realmente las diferencias son muy leves.
Voy a explicar cómo hacer el típico ejemplo de Hello World con Codespaces.
Lo primero de todo es habilitar Codespaces para nuestro proyecto.
Así que me he ido a GitHub, y dentro del proyecto, he seleccionado Code, y dentro de éste, Open with Codespaces.
Aparecerá una ventana que nos indicará que no tenemos ningún codespaces activo, por lo que haremos clic en la opción New codespace.
De esta manera, se iniciará un proceso en el que se generará un codespace para nuestro proyecto, y de esta manera, podremos acceder a nuestro proyecto como si estuviéramos en Visual Studio Code, pero siempre dentro de la web.
Este codespace aparecerá siempre activo para nuestro proyecto, por lo que si vamos al proyecto más tarde, lo encontraremos allí.
Desde el codespace, podemos trabajar casi como si fuera nuestro Visual Studio Code, incluyendo la posibilidad de instalar estensiones.
En mi caso he instalado la extensión C# Snippets.
Una vez que tenemos el entorno de Codespaces tal y como nos gusta, vamos a agregar los ficheros que forman parte de nuestro proyecto.
En mi caso y para hacerlo rápido, he creado el típico ejemplo Hello World con C# siguiendo el pequeño tutorial que sobre C# Snippets encontrarás aquí. Como tarea adicional, también he modificado el csproj para que mi aplicación sea para .NET Core 3.1.
Una vez que tenemos terminado nuestro proyecto, he ejecutado el comando de compilación en el terminal.
Como podemos observar, Codespaces ha compilado nuestra aplicación.
Y por supuesto, ha generado las carpetas de compilación que a nosotros no nos interesa guardar en el repositorio.
En mi caso, no he indicado nada para ignorar estas carpetas, por lo que aparecerán listas para ser subidas al repo de GitHub.
A continuación, he ejecutado mi aplicación de ejemplo, y he observado que se ejecuta correctamente tal y como esperábamos.
Ahora sólo queda subir nuestro código al repositorio de GitHub.
Subiendo nuestro código a GitHub
Como no tengo configurado ningún parámetro ni fichero para que me ignore ciertos ficheros a la hora de sincronizar mis modificaciones de código con mi repo, he seleccionado manualmente esos ficheros, y los he añadido al fichero .gitignore.
Y en la parte superior, he indicado un texto para mi commit, y he pulsado sobre el botón del check en la parte superior o Enter si se quiere para ejecutar la acción de commit.
Aparecerá una ventana que nos preguntará si queremos preparar todos los cambios y comitearlos.
En mi caso he seleccionado la opción Yes.
Ahora sólo nos queda subir estos cambios al repo, por lo que he seleccionado la opción Push para persistir estos cambios en el repo.
Una vez hecho esto y si todo ha ido bien, podremos ver estos cambios aplicados dentro de nuestro repo en GitHub.
Como podemos observar, utilizar Codespaces es realmente sencillo y especialmente útil en diferentes situaciones.
Podemos irnos con una tableta a un sitio con conexión a Internet, y realizar desde allí cambios en nuestro repo de forma sencilla.
Espero que esta entrada te haya resultado útil.
Happy Coding!