Automatisches Speichern des Arduino Codes

Hallo,

mir ist aufgefallen, dass Änderungen im Code automatisch gespeichert werden.
Wenn ich Code aufrufe und ändere, erscheint erstmal das Paragrafensymbol.
Über das Hochladen wird ja anscheinend ein automatisches Speichern aktiviert. Aber gerade als Anfänger probiert man ja viel rum, ist diese Funktion dann sinnvoll?

Ich muss ja nun ständig neue Kopien des Codes anfertigen um die Zwischenschritte abzuspeichern.

Hi

Das Speichern habe ich deaktiviert, da man sich ruck zuck einen funktionierenden Code versaut hat.
Was Du dann machen kannst, wenn ein Versuch klappt, Du aber weiter basteln willst, ist ARCHIVIEREN.
Das packt den aktuellen Sketch (nicht die Files auf der Platte) in ein ZIP.

Zwar etwas umständlich, Das wieder zur Benutzung zu überreden (ZIP entpacken, der Ordner muß den Namen der Haupt-Ino haben ...), aber immerhin Etwas.

MfG

Man kann auch bei jedem Speichern eine Kopie name.ino_YYYYMMDDHHMISS automatisch erzeugen.
Aufräumen muss man allerdings selbst.

Gruß Tommy

Auch wäre es gut wenn du mal auf Fragen eingehst, die dir in anderen Threads gestellt werden.
Dann wissen wir zumindest, das du an unseren Antworten auch interessiert bist.

Okay, nun habe ich die Funktion zum Deaktivieren gefunden. Ich denke, so hat es für mich mehr Sinn.
So funktioniert es ja auch bei jedem anderen Bearbeitungsprogramm, das ich nutze.
Danke für die Info.

@Hot Systems:
Ich habe gerade ziemlich viele Baustellen offen, ich weiß. Ganz normal als Neuling, nehme ich an. Ging es um einen bestimmten Beitrag? =)

Tommy56:
Man kann auch bei jedem Speichern eine Kopie name.ino_YYYYMMDDHHMISS automatisch erzeugen.
Aufräumen muss man allerdings selbst.

Gruß Tommy

Wie?

Schon mal über git oder andere Versionsverwaltungssysteme für Quellcode nachgedacht?

Ich nutze inzwischen auch für meine lokalen Projekte Git (nicht nur Arduino). Zumindest wenn es sich nicht nur um reinen Test- und WegwerfCode handelt. Git hat inzwischen sehr leistungsfähige grafische Oberflächen. Die Kommandozeile braucht man so gut wie garnicht mehr. Die Möglichkeit Branches anzulegen ( um mal schnell was zu testen ohne den 'Hauptcode' zu ändern ) und die Änderungen zwischen beliebigen Zwischenständen visualisieren zu können möchte ich nicht mehr missen.
Da stört dann auch das automatische Speichern der Arduino IDE nicht - im Gegenteil.

Wichtige Stände kann man als Zip speichern - die kann man dann auch ohne Git wiederherstellen.

Mit 1 Powershellscript (FSWatcher.ps1):

$folder = Get-Location
$filter = '*.???'  # .ino, .cpp
$filter1 = '*.?'   # .h .c

$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}
$fsw1 = New-Object IO.FileSystemWatcher $folder, $filter1 -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}

Register-ObjectEvent $fsw Changed -SourceIdentifier FileChanged -Action {
$name = $Event.SourceEventArgs.Name
$timeStamp = Get-Date -format _yyyyMMddHHmmss
$fileName = $Event.SourceEventArgs.FullPath
$toName = $fileName+$timestamp
Write-Host "von $fileName nach $toName"
Copy-Item -Path $fileName -Destination $toName
}

Register-ObjectEvent $fsw1 Changed -SourceIdentifier FileChanged1 -Action {
$fileName = $Event.SourceEventArgs.FullPath
$name = $Event.SourceEventArgs.Name
$timeStamp = Get-Date -format _yyyyMMddHHmmss
$toName = $fileName+$timestamp
Write-Host "von $fileName nach $toName"
Copy-Item -Path $fileName -Destination $toName
}

und einer cmd-Datei, um für das ps1-Script die Sicherheitseinstellungen zu deaktivieren (FSWatcher.cmd):

powershell -ExecutionPolicy Unrestricted /noexit -File E:\sketchbook\FSWatcher.ps1

So einfach kann man die Ausführungsverhinderung für Scripte aushebeln. :wink:

Die cmd aufrufen und dann werden alle Änderungen beim Speichern in neue Dateien mit dem Zeitstempel hintendran kopiert.
Aufräumen muss man händisch :wink:

Gruß Tommy

Rintin:
Schon mal über git oder andere Versionsverwaltungssysteme für Quellcode nachgedacht?

aktuell nutze ich SVN. Man muss sich halt angewöhnen, nach Erweiterungen zu commiten, nicht überall gleichzeitig rumzufummeln und was vernünftiges als Check in dazuzuschreiben :wink:

Powershellscript

Ah,ja...
Aus der Richtung weht der Wind...

Mal schauen, was ich damit anfangen kann.

Danke!

Hallo,

ich mach das einfacher und sichere mittels Batchscript und WinRar die gewünschten Ordner mit "Monatsstempel".
Die Sketche selbst nummeriere ich je nach Versionsstand, vor größeren Änderungen, beim speichern durch.

Bsp.:

winrar a -agYYMM "D:\Backup\Arduino 1811 Sketche_" "C:\Users\Doc\Documents\Arduino"