Zdieľaný priečinok sa pripojí, editor otvorí súbor a zostavovanie napriek tomu beží na notebooku. Nič nehlási chybu, a práve to mätie. Vzdialená cesta nie je vzdialený nástrojový reťazec, a editor, ktorý dokáže čítať súbor cez pripojenie, naň ochotne zavolá miestny kompilátor. Riešením je presunúť pracovný priestor, nie len bajty.

Pripojený adresár nie je pracovný priestor

Pripojenie cez SSH alebo SMB vám dá cestu. Či kompilátor, systém zostavovania a debugger prichádzajú zo vzdialenej strany, závisí od toho, kde ich editor rozhodne spustiť. Mnohé nastavenia čítajú vzdialené súbory a kompilujú ich lokálne a potom zlyhajú na hlavičkovom súbore, ktorý existuje len na serveri.

Príznak je nenápadný: zostavenie uspeje s čiastočnými výsledkami alebo sa zlomí na ceste k include, ktorá v editore vyzerá správne.

Dokážte, ktorý hostiteľ odpovedá

Pripojte sa skutočnou vzdialenou reláciou namiesto pripojenia a potom v termináli, ktorý vám táto relácia dá, spustite tri príkazy len na čítanie. VS Code sprievodca SSH dokumentuje, že terminál v pripojenom vzdialenom okne beží na vzdialenom hostiteľovi a že tá istá relácia nesie ladenie. Ak organizácia vzdialené komponenty obmedzuje, najprv si vyžiadajte ich schválenie.

hostname pomenuje stroj, na ktorom ste, pwd ukáže, kde pracovný priestor skutočne leží, a command -v c++ vypíše kompilátor, ktorý by shell spustil. Všetky tri odpovede by mali opisovať server, nie notebook.

Nedokazujú, že verzia alebo konfigurácia zostavovania je správna. Porovnajte to s pokynmi samotného projektu ako samostatný krok.

Prejdite jednu zmenu zostavovaním aj ladením

Urobte malú zmenu vo vzdialenom pracovnom priestore a uložte ju tam. Spustite dokumentované zostavenie z toho istého adresára a overte, že výstup odráža vašu zmenu, a nie staršiu kópiu inde. Potom spustite debugger tou istou vzdialenou reláciou, s cestou k binárke a pracovným adresárom mieriacimi do stromu zostavenia servera. Zhoda ciest k zdrojom je dôležitá, pretože debugger, ktorý vašu zmenu priradí ceste na notebooku, ladí iný súbor.

Ak cieľ ladenia hlási cesty začínajúce vaším miestnym domovským adresárom, konfigurácia spustenia stále myslí lokálne.

Sieťové závislosti zostávajú na hostiteľovi

Stiahnutie balíka, operácia git alebo spustenie testov na hostiteľovi zostavovania používa sieť a prihlasovacie údaje tohto hostiteľa, nie VPN reláciu vášho notebooku. To, že notebook dosiahne na súkromné zrkadlo balíkov, nič nehovorí o tom, či naň dosiahne server. Ak zostavenie potrebuje register, server k nemu potrebuje trasu, a to je rozhovor o firewalle, nie nastavenie editora.

Opak platí rovnako pre testovacie aplikácie. Dosiahnuť službu na serveri z vášho prehliadača je samostatné spojenie, ktoré potrebuje schválenú súkromnú cestu alebo obmedzené presmerovanie, nie otvorený naslúchač.

Odpojte sa bez straty práce

Pred pádom spojenia uložte a spravte commit, alebo aspoň zapíšte stav pracovného stromu. Vzdialená editačná relácia nesľubuje, že bežiace zostavenie alebo neuložený buffer prežijú výpadok siete. Pre všetko, čo má prežiť vašu reláciu, použite projektom podporovaný postup úloh alebo relácií.

Deľba práce je potom jasná: notebook je rozhranie, server vlastní pracovný priestor a nástrojový reťazec a VPN dodáva trasu. Presunúť súbory a presunúť zostavovanie sú dve oddelené rozhodnutia.

Súvisiace články