Delningen monteras, editorn öppnar filen och bygget körs fortfarande på den bärbara datorn. Inget ger fel, och det är just det som förvirrar. En fjärrsökväg är inte en fjärrverktygskedja, och en editor som kan läsa en fil via en montering anropar gärna den lokala kompilatorn på den. Lösningen är att flytta arbetsytan, inte bara byten.

En monterad katalog är inte en arbetsyta

Montering över SSH eller SMB ger dig en sökväg. Om kompilatorn, byggsystemet och felsökaren kommer från fjärrsidan beror på var editorn väljer att köra dem. Många uppsättningar läser fjärrfiler och kompilerar dem lokalt och misslyckas sedan på en header som bara finns på servern.

Symtomet är subtilt: bygget lyckas med delvisa resultat, eller bryts på en include-sökväg som ser korrekt ut i editorn.

Bevisa vilken värd som svarar

Anslut med en riktig fjärrsession i stället för en montering och kör sedan tre skrivskyddade kommandon i terminalen som sessionen ger dig. VS Code SSH-guide dokumenterar att en terminal i ett anslutet fjärrfönster körs på fjärrvärden och att samma session bär felsökningen. Begär godkännande för fjärrkomponenterna först om organisationen begränsar dem.

hostname namnger maskinen du är på, pwd visar var arbetsytan faktiskt ligger och command -v c++ skriver ut den kompilator som skalet skulle köra. Alla tre svaren bör beskriva servern, inte den bärbara datorn.

De bevisar inte att versionen eller byggkonfigurationen är korrekt. Jämför det med projektets egna instruktioner som ett separat steg.

Följ en ändring genom bygge och felsökning

Gör en liten ändring i fjärrarbetsytan och spara den där. Kör det dokumenterade bygget från samma katalog och bekräfta att utdata speglar din ändring och inte en äldre kopia någon annanstans. Starta sedan felsökaren genom samma fjärrsession, med binärsökvägen och arbetskatalogen pekande in i serverns byggträd. Matchande källsökvägar spelar roll, eftersom en felsökare som löser din ändring till en sökväg på den bärbara datorn felsöker en annan fil.

Om felsökningsmålet rapporterar sökvägar som börjar med din lokala hemkatalog tänker startkonfigurationen fortfarande lokalt.

Nätverksberoenden stannar på värden

En pakethämtning, en git-operation eller en testkörning som startas på byggvärden använder den värdens nätverk och inloggningsuppgifter, inte den bärbara datorns VPN-session. Att den bärbara datorn når en privat paketspegel säger inget om huruvida servern kan. Om bygget behöver ett register behöver servern en rutt dit, och det är ett brandväggssamtal, inte en editorinställning.

Det omvända gäller också för testapplikationer. Att nå en tjänst på servern från webbläsaren är en separat anslutning som kräver en godkänd privat sökväg eller en begränsad vidarebefordran, inte en öppen lyssnare.

Koppla från utan att förlora arbetet

Spara och commit, eller registrera åtminstone arbetsträdet, innan anslutningen faller. En fjärrredigeringssession lovar inte att ett pågående bygge eller en osparad buffert överlever ett nätavbrott. För allt som måste leva längre än din session, använd projektets stödda jobb- eller sessionsflöde.

Arbetsfördelningen är då tydlig: den bärbara datorn är ett gränssnitt, servern äger arbetsytan och verktygskedjan, och VPN levererar rutten. Att flytta filer och att flytta bygget är två separata beslut.

Relaterade artiklar