Just a follow-up, after updating a bunch of stuff, I realized that when doing "Start Debugging" in Visual Studio with Visual MIcro, Visual Micro enables some debug behavior which apparently doesn't work for STM32 ( and I wasn't expecting it to work for stm32 ), causing the code to not run on the board (not sure why). Anyway the issue was that I didn't know that "Start Debugging" and "Run without debugging" actually generate different binaries.visual_micro wrote:Might be useful to know that Visual Micro allows you to control the way the compiler cache works.Signal32 wrote: Actually VisualMicro does some funky things about how it compiles the code( totally different than the Arduino IDE). From what I've seen it builds what it thinks won't change into libraries then it only builds the sketch file that you change into an object and does the linking. Sketch compiling is very fast, same with linking.
Because of this different approach to compiling I've hit some issues that made the binary unable to run so I had to do combinations of restart the IDE / clean / rebuild to get it to work. So it's not foolproof.
If you would like more info or to request new features then feel free to create a thread in the forum at www.visualmicro.com/forums.
Having said that I wouldn't expect you to hit caching issues and would like to hear more detail in the forum if possible.
If you are a library or core editor and have toggled the "hidden" source codes into the current project? Again the compiler should be intelligent and handle changes correctly even if it means a full recompile. If not I would appreciate knowing about it.
The "Run without debugging" builds seem to all work fine so there is no issue with compilation. Start debugging still doesn't seem to currently work with STM32, but I wasn't planning on using that feature either way.
And yes, using Visual Micro, small-change builds are nearly instant taking under 1/2 seconds to build.