VSCode Platformio changes code back to unedited when compiling

So, I have code for an arduino here.
I already know the edit and that it should work.
There’s just one problem with Platformio:
After I edit the code, press CTRL S to save and then click on compile/upload, the code kind off gets changed back to the original, just for it to give me that nifty error message.
As if I were to edit something in Photoshop, press CTRL Z a few times and then save the picture.

Here’s the output:

Dependency Graph
|-- <SmoothThermistor> 1.3.1
|-- <ClickEncoder> 0.0.0-alpha+sha.9337a0c46c
|-- <EEPROM> 2.0
|-- <PID> 1.2.1
|-- <TimerOne> 1.1
|-- <U8glib> 1.19.1
Building in release mode
Compiling .pio\build\uno\src\main.cpp.o
Compiling .pio\build\uno\libcf7\SmoothThermistor\SmoothThermistor.cpp.o
Compiling .pio\build\uno\libc51\ClickEncoder\ClickEncoder.cpp.o
Archiving .pio\build\uno\lib444\libEEPROM.a
In file included from .pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:12:0:
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h: In constructor 'ClickEncoder::ClickEncoder(int8_t, int8_t, int8_t, uint8_t, bool)':
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:165:8: warning: 'ClickEncoder::buttonHeldEnabled' will be initialized after [-Wreorder]
   bool buttonHeldEnabled;
        ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:158:8: warning:   'bool ClickEncoder::accelerationEnabled' [-Wreorder]
   bool accelerationEnabled;
        ^
Compiling .pio\build\uno\lib4e7\PID\PID_v1.cpp.o
.pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:44:1: warning:   when initialized here [-Wreorder]
 ClickEncoder::ClickEncoder(int8_t A, int8_t B, int8_t BTN, uint8_t stepsPerNotch, bool active)
 ^
In file included from .pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:12:0:
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:158:8: warning: 'ClickEncoder::accelerationEnabled' will be initialized after [-Wreorder]
   bool accelerationEnabled;
        ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:154:20: warning:   'volatile int16_t ClickEncoder::delta' [-Wreorder]
   volatile int16_t delta;
                    ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:44:1: warning:   when initialized here [-Wreorder]
 ClickEncoder::ClickEncoder(int8_t A, int8_t B, int8_t BTN, uint8_t stepsPerNotch, bool active)
 ^
In file included from .pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:12:0:
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:163:19: warning: 'ClickEncoder::button' will be initialized after [-Wreorder]
   volatile Button button;
                   ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:156:20: warning:   'volatile uint8_t ClickEncoder::steps' [-Wreorder]
   volatile uint8_t steps;
                    ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:44:1: warning:   when initialized here [-Wreorder]
 ClickEncoder::ClickEncoder(int8_t A, int8_t B, int8_t BTN, uint8_t stepsPerNotch, bool active)
 ^
In file included from .pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:12:0:
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:156:20: warning: 'ClickEncoder::steps' will be initialized after [-Wreorder]
   volatile uint8_t steps;
                    ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:150:10: warning:   'int8_t ClickEncoder::pinA' [-Wreorder]
   int8_t pinA;
          ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:44:1: warning:   when initialized here [-Wreorder]
 ClickEncoder::ClickEncoder(int8_t A, int8_t B, int8_t BTN, uint8_t stepsPerNotch, bool active)
 ^
In file included from .pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:12:0:
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h: In constructor 'ClickEncoder::ClickEncoder(int8_t, bool)':
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:165:8: warning: 'ClickEncoder::buttonHeldEnabled' will be initialized after [-Wreorder]
   bool buttonHeldEnabled;
        ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:158:8: warning:   'bool ClickEncoder::accelerationEnabled' [-Wreorder]
   bool accelerationEnabled;
        ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:74:1: warning:   when initialized here [-Wreorder]
 ClickEncoder::ClickEncoder(int8_t BTN, bool active)
 ^
In file included from .pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:12:0:
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:158:8: warning: 'ClickEncoder::accelerationEnabled' will be initialized after [-Wreorder]
   bool accelerationEnabled;
        ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:154:20: warning:   'volatile int16_t ClickEncoder::delta' [-Wreorder]
   volatile int16_t delta;
                    ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:74:1: warning:   when initialized here [-Wreorder]
 ClickEncoder::ClickEncoder(int8_t BTN, bool active)
 ^
In file included from .pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:12:0:
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:163:19: warning: 'ClickEncoder::button' will be initialized after [-Wreorder]
   volatile Button button;
                   ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:156:20: warning:   'volatile uint8_t ClickEncoder::steps' [-Wreorder]
   volatile uint8_t steps;
                    ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:74:1: warning:   when initialized here [-Wreorder]
 ClickEncoder::ClickEncoder(int8_t BTN, bool active)
 ^
In file included from .pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:12:0:
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:167:22: warning: 'ClickEncoder::analogInput' will be initialized after [-Wreorder]
   bool analogInput = false;
                      ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.h:150:10: warning:   'int8_t ClickEncoder::pinA' [-Wreorder]
   int8_t pinA;
          ^
.pio\libdeps\uno\ClickEncoder\ClickEncoder.cpp:74:1: warning:   when initialized here [-Wreorder]
 ClickEncoder::ClickEncoder(int8_t BTN, bool active)
 ^
.pio\libdeps\uno\SmoothThermistor\src\SmoothThermistor.cpp:53:2: error: invalid preprocessing directive #IF
 #IF !defined(ESP32) || !defined(ESP8266)
  ^
.pio\libdeps\uno\SmoothThermistor\src\SmoothThermistor.cpp:55:2: error: invalid preprocessing directive #ENDIF
 #ENDIF
  ^
src\main.cpp: In function 'void viewSettings()':
src\main.cpp:560:31: warning: comparison with string literal results in unspecified behaviour [-Waddress]
   if (isEditing && topText == "") {
                               ^
*** [.pio\build\uno\libcf7\SmoothThermistor\SmoothThermistor.cpp.o] Error 1
===================================================================================================== [FAILED] Took 4.55 seconds =====================================================================================================
The terminal process "C:\Users\minec\.platformio\penv\Scripts\platformio.exe 'run', '--target', 'upload'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

Editing files in .pio\libdeps in very volatile.

Does the same happen when you copy the SmoothThermistor folder into the lib/ folder of the project, fix the code there and clean and recompile the project a few times?

Perfect, thank you! Now it works exactly how I wanted. I will remember this tip in the future!

1 Like