Configuración de Desarrollo Remoto en Visual Studio Code

Desarrollo Remoto en Visual Studio Code

VS Code facilita el desarrollo remoto mediante extensiones especializadas. La documentaicón oficial se encuentra en Remote Development in VS Code, y el paquete de extensiones está disponible en el marketplace.

Paquete de Extensiones para Desarrollo Remoto

  • Remote - SSH: Conexión a máquinas remotas vía SSH.
  • Remote - Containers: Trabajo dentro de contenedores Docker.
  • Remote - WSL: Integración con el Subsistema de Windows para Linux.

Comparación de características: SSH permite acceso a servidores, Containers proporciona entornos aislados, y WSL ofrece compatibilidad con Linux en Windows.

Remote - SSH

Esta extensión requiere un servidor SSH instalado en el host remoto y un cliente SSH local.

Configuración Inicial

Para conectarse, use el panel de comandos de VS Code. Seleccione "Remote-SSH: Connect to Host..." e introduzca la dirección del host. Alternativamente, use "Add New SSH Host..." para guardar la configuración en un archivo SSH.

Otros comandos útiles incluyen "Remote-SSH: Open Configuration File..." para editar configuraciones personalizadas.

Ejemplo de Conexión Directa

Al conectarse, VS Code despliega automáticamente un servidor remoto en el directorio ~/.vscode-server/. A continuación, un ejemplo de su estructura:

[user@remote ~]$ ls -la .vscode-server/
drwxr-x  3 user user   4096 Jun 20 10:15 bin
drwxr-x  5 user user   4096 Jun 20 10:17 data
drwxr-x  3 user user   4096 Jun 20 10:18 extensions
[user@remote ~]$ tree -L 2 .vscode-server/bin/
.vscode-server/bin/
├── 1234abcd5678ef90
│   ├── node
│   ├── server.sh
│   └── ...

Configuración en Archivo SSH

Para conexiones persistentes, edite el archivo ~/.ssh/config con entradas como:

Host mi-servidor
    HostName 192.168.1.100
    User desarrollador
    Port 2222
    IdentityFile ~/.ssh/id_rsa

Esto permite seleccionar "mi-servidor" directamente desde el conector remoto de VS Code.

Acceso sin Contraseña

Genere un par de claves SSH y copie la clave pública al host remoto para evitar introducir contraseñas en cada conexión:

$ ssh-keygen -t rsa -b 4096
$ ssh-copy-id usuario@192.168.1.100

Las extensiones instaladas en el entorno remoto no afectan a la instalación local de VS Code, pero proporcionan funcionalidades como autocompletado y depuración directamente en el servidor.

Remote - Containers

Esta extensión utiliza Docker para crear entornos de desarrollo reproducibles.

Requisitos del Sistema

Necesita Docker Engine (versión 18.06+) y Docker Compose (versión 1.21+). Ejemplo de verificación en Linux:

$ docker --version
Docker version 20.10.12, build e91ed57
$ docker-compose --version
docker-compose version 2.2.3

VS Code debe iniciarse con un usuario no root para evitar problemas de permisos.

Crear un Contenedor de Ejemplo

Para iniciar un proyecto nuevo, use el comando "Remote-Containers: Try a Sample". Seleccione una plantilla, como Python o Java, y VS Code generará archivos de configuración en un directorio .devcontainer.

El contenido típico incluye:

# Archivo .devcontainer/Dockerfile
ARG BASE_IMAGE=python:3.9
FROM $BASE_IMAGE
RUN pip install --no-cache-dir requests

Y el archivo .devcontainer/devcontainer.json que define la configuración del contenedor.

Abrir una Carpeta en Contenedor

Use "Remote-Containers: Open Folder in Container" para iniciar un entorno basado en la configuración existente. Si no hay configuración, VS Code ofrecerá crear una automáticamente.

Durante el proceso, se descargna imágenes base, se construye el contenedor y se establece la conexión. Los cambios en los archivos se realizan directamente dentro del contenedor.

Adjuntarse a un Contenedor en Ejecución

El comando "Remote-Containers: Attach to Running Container" permite conectarse a contenedores Docker activos. Una vez conectado, la terminal y las extensiones operan dentro del contexto del contenedor.

Remote - WSL

Para usuarios de Windows, esta extensión integra VS Code con el Subsistema de Windows para Linux. Asegúrese de tener WSL instalado y una distribución configurada. La documentación detallada está disponible en la guía oficial de Microsoft.

Solución de Problemas

Permisos de Docker: Si Docker requiere sudo, agregue su usuario al grupo docker:

sudo usermod -aG docker $USER
newgrp docker

Permisos de sudo: Para permitir que un usuario ejecute comandos con sudo sin contraseña, edite /etc/sudoers con visudo y añada:

nombre_usuario ALL=(ALL) NOPASSWD: ALL

Extensiones no encontradas en remoto: Conéctese siempre con un usuario no root para evitar este problema.

Recursos Adicionales

Para más detalles, consulte la documentación oficial de VS Code y Docker, así como ejemplos comunitarios sobre configuraciones avanzadas de desarrollo remoto.

Etiquetas: VSCode RemoteSSH DockerContainers WSL DesarrolloRemoto

Publicado el 6-2 06:12