El recurso compartido se monta, el editor abre el archivo y la compilación sigue ejecutándose en el portátil. Nada da error, y eso es justo lo que confunde. Una ruta remota no es una cadena de herramientas remota, y un editor que puede leer un archivo a través de un montaje invocará sin dudar el compilador local sobre él. La solución es mover el espacio de trabajo, no solo los bytes.

Un directorio montado no es un espacio de trabajo

Montar por SSH o SMB te da una ruta. Que el compilador, el sistema de compilación y el depurador vengan del lado remoto depende de dónde decida ejecutarlos el editor. Muchas configuraciones leen archivos remotos y los compilan en local, y luego fallan en un archivo de cabecera que solo existe en el servidor.

El síntoma es sutil: la compilación tiene éxito con resultados parciales, o se rompe en una ruta de inclusión que en el editor parece correcta.

Demuestra qué host responde

Conéctate con una sesión remota real en lugar de un montaje y luego ejecuta tres comandos de solo lectura en la terminal que esa sesión te da. La guía de SSH de VS Code documenta que una terminal en una ventana remota conectada se ejecuta en el host remoto y que la misma sesión transporta la depuración. Pide antes aprobación para los componentes remotos si la organización los restringe.

hostname nombra la máquina en la que estás, pwd muestra dónde vive realmente el espacio de trabajo y command -v c++ imprime el compilador que ejecutaría el intérprete de órdenes. Las tres respuestas deberían describir el servidor, no el portátil.

No demuestran que la versión o la configuración de compilación sean correctas. Compáralo con las instrucciones del propio proyecto como paso aparte.

Sigue un cambio a través de la compilación y la depuración

Haz un cambio pequeño en el espacio de trabajo remoto y guárdalo allí. Ejecuta la compilación documentada desde ese mismo directorio y confirma que la salida refleja tu cambio y no una copia más antigua en otro sitio. Después inicia el depurador por la misma sesión remota, con la ruta del binario y el directorio de trabajo apuntando al árbol de compilación del servidor. Que las rutas de origen coincidan importa, porque un depurador que resuelve tu cambio a una ruta del portátil está depurando otro archivo.

Si el objetivo de depuración informa de rutas que empiezan por tu directorio personal local, la configuración de inicio sigue pensando en local.

Las dependencias de red se quedan en el host

Una descarga de paquetes, una operación de git o una ejecución de pruebas iniciada en el host de compilación usa la red y las credenciales de ese host, no la sesión VPN de tu portátil. Que el portátil llegue a un espejo privado de paquetes no dice nada sobre si el servidor puede. Si la compilación necesita un registro, el servidor necesita una ruta hacia él, y eso es una conversación de cortafuegos, no un ajuste del editor.

Lo mismo vale a la inversa para las aplicaciones de prueba. Llegar a un servicio del servidor desde tu navegador es una conexión aparte que necesita una ruta privada aprobada o un reenvío restringido, no un puerto de escucha abierto.

Desconecta sin perder el trabajo

Guarda y haz commit, o al menos registra el árbol de trabajo, antes de que caiga la conexión. Una sesión de edición remota no promete que una compilación en curso o un búfer sin guardar sobrevivan a una interrupción de red. Para todo lo que deba durar más que tu sesión, usa el flujo de trabajo o de sesiones que admita el proyecto.

El reparto de trabajo es entonces explícito: el portátil es una interfaz, el servidor posee el espacio de trabajo y la cadena de herramientas, y la VPN proporciona la ruta. Mover archivos y mover la compilación son dos decisiones separadas.

Artículos relacionados