# Visual Studio Code

Visual Studio Code es un entorno de desarrollo integrado (IDE) creado por Microsoft. Sirve principalmente para escribir, depurar y compilar programas de software. Cuenta con características como resaltado de sintaxis, autocompletado de código y depuración paso a paso. Además, es compatible con sistemas de control de versiones como Git. Es una herramienta clave tanto para principiantes como para desarrolladores experimentados debido a su potencia y flexibilidad.

Para la gestión de archivos en Visual Studio Code, debemos seguir los siguientes pasos:

1. Asegurarnos de que tenemos las claves SSH en `C:\Users\$USUARIO\.ssh` o en un directorio similar:
    ```{image} /_static/tutoriales/archivos/vscode/step_01.png
    ```

    **Nota**: en este paso se asume que las credenciales SSH ya están generadas y configuradas; es decir, que ya tenemos acceso a alguno de nuestros clusters.
    Debemos reemplazar `$USUARIO` con el nombre de usuario que nos fue comunicado por email.

1. Abrimos Visual Studio Code y, abajo a la izquierda, seleccionamos {guilabel}`Abrir una ventana remota`:
    ```{image} /_static/tutoriales/archivos/vscode/step_02.png
    ```

1. Seleccionamos {guilabel}`Conectar al host`:
    ```{image} /_static/tutoriales/archivos/vscode/step_03.png
    ```

1. Seleccionamos {guilabel}`Agregar nuevo ssh host` y escribimos la dirección del cluster. Por ejemplo, para conectarnos a Nabucodonosor:

    ```console
    ssh $USUARIO@nabucodonosor.ccad.unc.edu.ar
    ```

    ```{image} /_static/tutoriales/archivos/vscode/step_04.png
    ```

1. Seleccionamos qué archivo de configuración actualizar (normalmente el que tiene la ruta del paso 1). En este ejemplo: `C:\Users\$USUARIO\.ssh\config`
    ```{image} /_static/tutoriales/archivos/vscode/step_05.png
    ```

1. Hacemos clic en {guilabel}`Conectar`.
    ```{image} /_static/tutoriales/archivos/vscode/step_06.png
    ```

1. Ingresamos la contraseña:
    ```{image} /_static/tutoriales/archivos/vscode/step_07.png
    ```

1. Ya tenemos configurado el acceso remoto usando Visual Studio Code.
    Notaremos que, abajo a la izquierda, el entorno nos indica que estamos conectados a Nabucodonosor mediante SSH.

    ```{image} /_static/tutoriales/archivos/vscode/step_08.png
    ```

    Podremos ver el sistema de archivos del lado izquierdo al agregar un directorio al explorador:

    ```{image} /_static/tutoriales/archivos/vscode/step_09.png
    ```

    Además, podremos trabajar con GitHub desde allí y versionar nuestro trabajo (hacer commit, push, etc.), todo dentro del explorador remoto.

1. Por último, cuando queramos cerrar la conexión, presionamos el botón de abajo a la izquierda:
    ```{image} /_static/tutoriales/archivos/vscode/step_08.png
    ```

1. Y seleccionamos la opción {guilabel}`Cerrar conexión remota`:
    ```{image} /_static/tutoriales/archivos/vscode/step_11.png
    ```
