diff --git a/buildroot/share/vscode/AutoBuildMarlin/extension.js b/buildroot/share/vscode/AutoBuildMarlin/extension.js
index 5f1fb5c85c3a05676d6c6e03d00fc23281a6e7a3..01198a62bbf3e2acda2775e17cf2a376ef4a6e00 100644
--- a/buildroot/share/vscode/AutoBuildMarlin/extension.js
+++ b/buildroot/share/vscode/AutoBuildMarlin/extension.js
@@ -8,6 +8,7 @@ function activate(context) {
 
   var NEXT_TERM_ID = 1;
   var pio_build     = vscode.commands.registerCommand('piobuild',     function () {
+    vscode.commands.executeCommand('workbench.action.files.saveAll');
     const terminal = vscode.window.createTerminal(`AB Build #${NEXT_TERM_ID++}`);
     terminal.show(true);
     terminal.sendText("python buildroot/share/atom/auto_build.py build");
@@ -18,11 +19,13 @@ function activate(context) {
     terminal.sendText("python buildroot/share/atom/auto_build.py clean");
   });
   var pio_upload    = vscode.commands.registerCommand('pioupload',    function () {
+    vscode.commands.executeCommand('workbench.action.files.saveAll');
     const terminal = vscode.window.createTerminal(`AB Upload #${NEXT_TERM_ID++}`);
     terminal.show(true);
     terminal.sendText("python buildroot/share/atom/auto_build.py upload");
   });
   var pio_traceback = vscode.commands.registerCommand('piotraceback', function () {
+    vscode.commands.executeCommand('workbench.action.files.saveAll');
     const terminal = vscode.window.createTerminal(`AB Traceback #${NEXT_TERM_ID++}`);
     terminal.show(true);
     terminal.sendText("python buildroot/share/atom/auto_build.py traceback");