neuundbesser
Goto Top

Visual Studio Code: Speichern zusätzlich auf separatem Pfad

Hallo zusammen,

ich arbeite nun seit ca. 6 Monaten mit VS Code und einfache JS- / PHP-Skripte zu erstellen und suche nach einer Lösung für folgende Aufgabe.
Beim Speichern eines jeweiligen Skriptes im voreingestellten Verzeichnis soll zusätzlich ein Backup auf einem separatem Pfad erfolgen. Geil wäre es, wenn bei Letzterem zusätzlich der Dateiname unabhängig einstellbar wäre, ist aber kein Muss.

Hab schon diverse Recherchen angestoßen, jedoch wahrscheinlich mit den falschen Keywords.

Kann wer helfen / Tips geben ?

Danke vorab.

Content-Key: 3109289928

Url: https://administrator.de/contentid/3109289928

Printed on: April 30, 2024 at 00:04 o'clock

Member: colinardo
colinardo Jun 18, 2022, updated at Jun 19, 2022 at 11:37:28 (UTC)
Goto Top
Servus @neuundbesser,
nimmst du bspw. eines der zahlreichen frei erhältlichen RunOnSave AddOns für VS Code wie z.B. das hier
Run On Save for Visual Studio Code
Und packst dann in dessen Befehlszeile einen copy/robocopy oder PowerShell copy-item Aufruf mit der Zielbezeichnung deiner Wahl, bswp. sinnvoll mit Zeitstempel versehen.
An den Quellpfad der aktuell in VS gespeicherten Datei kommst du bei obigem Addon mit der Variablen ${file}, die du in die copy Befehlszeile als Quelle einbauen kannst.
Wenn du eine echte Versionierungs suchst solltest du dich aber mal mit Git &Co. beschäftigen.

Grüße Uwe
Member: tk1234
tk1234 Jun 18, 2022 at 19:10:25 (UTC)
Goto Top
Moin,

Beim Speichern eines jeweiligen Skriptes im voreingestellten Verzeichnis soll zusätzlich ein Backup auf einem separatem Pfad erfolgen.

Was bezweckst du damit genau? Als Backup stelle ich mir eine Sammlung von verschiedenen Versionsständen einer Datei sehr unpraktisch vor … Sinnvoller wäre es mit einer Versionsverwaltung zu arbeiten und für die "Versionen" zwischen den eingecheckten Ständen dürfte der mit dem Märzupdate eingeführte lokale Verlauf ganz hilfreich sein.

Gruß
Tobias
Member: neuundbesser
neuundbesser Jun 19, 2022 at 07:29:16 (UTC)
Goto Top
Hi,
und danke schonmal für die bisherigen Feedbacks.
Nein, ich meinte tatsächlich NICHT die Variante via Github & Co ( will mein Chef aus mir unbekannten Gründen nicht... ).
Vielmehr stelle ich mir vor:
Bisher wird beim speichern die Datei auf...

\\kundenserver\share\skripte\js\dateiname_versionxyz.js

geschrieben.

Erreichen möchte ich, dass zukünftig auf ...

\\kundenserver\share\skripte\js\dateiname_versionxyz.js

und zusätzlich auf ...

\\InternerEntwicklungsserver\sharexy\projekteyx\Dateiname_Versionxy_DD.MM.YY_HH:MM.js

geschrieben wird.

Es sollte in VSC doch irgendwie möglich sein, zusätzlich zum Standard-Save-Pfad mindestens einen weiteren beliebigen zu konfigurieren. Aber entweder ist das sehr gut versteckt oder ich finde es nur schlicht nicht.

Gruß
Member: tk1234
tk1234 Jun 19, 2022 updated at 08:06:50 (UTC)
Goto Top
Moin,

Zitat von @neuundbesser:
Nein, ich meinte tatsächlich NICHT die Variante via Github & Co ( will mein Chef aus mir unbekannten Gründen nicht... ).

Dann solltest du vielleicht deinen Chef mal nach den Gründen fragen - vielleicht kannst du ja seine Bedenken ausräumen. Github brauchst du auch garnicht, du kannst auch Git lokal installieren und es nutzen ohne dass die Daten euer System verlassen.

Erreichen möchte ich, dass zukünftig auf ... […] und zusätzlich auf ... […] geschrieben wird.

Hast du die von colinardo genannte Erweiterung mal ausprobiert? Damit sollte sich das gewünschte Verhalten doch erreichen lassen.

Es sollte in VSC doch irgendwie möglich sein, zusätzlich zum Standard-Save-Pfad mindestens einen weiteren beliebigen zu konfigurieren.

Standardmäßig wohl eher nicht - wenn man eine Datei speichert, speichert man die üblicherweise an genau einem Ort. Der Sinn bei jedem Speichern eine Datei mit dem aktuellen Stand zu erzeugen erschließt sich mir auch nicht - zumal es durch das ungünstige Datumsformat quasi unmöglich ist, die Dateien der Reihe nach anzuschauen (von vergleichen mal ganz zu schweigen, das kann git o.ä. viel besser). Und warum schreibt ihr direkt auf den Server des Kunden? Warum nicht erst auf den Entwicklungsserver und erst wenn alles läuft wird der Code in die Produktivumgebung beim Kunden geschoben?

Gruß
Tobias
Member: colinardo
colinardo Jun 19, 2022 updated at 12:20:45 (UTC)
Goto Top
Zitat von @neuundbesser:
Vielmehr stelle ich mir vor:
Bisher wird beim speichern die Datei auf...

\\kundenserver\share\skripte\js\dateiname_versionxyz.js

geschrieben.

Erreichen möchte ich, dass zukünftig auf ...

\\kundenserver\share\skripte\js\dateiname_versionxyz.js

und zusätzlich auf ...

\\InternerEntwicklungsserver\sharexy\projekteyx\Dateiname_Versionxy_DD.MM.YY_HH:MM.js

geschrieben wird.

Es sollte in VSC doch irgendwie möglich sein, zusätzlich zum Standard-Save-Pfad mindestens einen weiteren beliebigen zu konfigurieren. Aber entweder ist das sehr gut versteckt oder ich finde es nur schlicht nicht.

Wow, man sollte einfach nur mal unsere Posts vollständig lesen! face-sad

Muss man hier wohl mal wieder vor beten:

back-to-top1. Extension installieren
https://marketplace.visualstudio.com/items?itemName=pucelle.run-on-save

back-to-top2. Einstellungen in der settings.json bearbeiten, Pfad anpassen und speichern (für das Beispiel mal nur aktiviert für *.js Dateien)
"runOnSave.commands": [  
        {
            "match": "\\.js$",  
            "command": "$dt = get-date -f 'yyyy_MM_dd_HH_mm_ss';copy-item ${file} \\\\SERVER\\SHARE\\Pfad\\${fileBasenameNoExtension}_$dt${fileExtname}",  
            "runIn": "terminal"  
        }
    ]
back-to-top3. Testweise neue JS-Datei erstellen, abspeichern, kurz warten und schon sollte eine Kopie auf dem Zielpfad liegen.

Sehe also ehrlich gesagt das Problem hier nicht. Alles da was man braucht, man muss nur wollen und ein klein bisschen lesen!

Grüße Uwe
Member: neuundbesser
neuundbesser Jun 19, 2022 at 12:22:02 (UTC)
Goto Top
DANKE, UWE !!
ABSOLUT TOP !!!

sollte ich das Ganze auch für eine ( oder mehrere ) Dateerweiterung anwenden wollen, dann wohl...

...
"match": "\\.php$", "\\.js$",
...

Korrekt ?

Nochmals Danke...
Member: colinardo
Solution colinardo Jun 19, 2022 updated at 13:12:38 (UTC)
Goto Top
"match": "\\.php$", "\\.js$",
Korrekt ?
Nein, machst du so:
"match" : "\\.(php|js)$"  
Regular Expressions Tutorial

Schönen Sonntag.