Inc. Disabled Breakpoints
When false, disabled breakpoints are not included in the compilation
and use less memory. When true, disabled breakpoints are compiled and
upload allowing them to be disabled/enabled during program runtime without
recompilation. (
Read more)
Startup Delay or Dtr
Enable/disable optional delay when the board starts to give the debugger
window time to open. Set to '0' for default. When enabled and debugging
using main serial DTR is automatically forced ON, when using any other
serial port or transport the delay (ms) is enforced
Startup Wait
If set to "True", the board does not start the program automatically
after upload, instead it waits for a "Go" command from the PC. In this
case, a message is displayed notifying you that the board is waiting
for a "Go".
Validation Skip
The Default setting is "False", which causes two compilation stages,
the first without and the second with debugging code inserted. The first
stage ensures that your code is correct before Visual Micro inserts
breakpoint code, otherwise strange error messages would occur. If you
change this setting to "True", all compilation is done in one stage
which speeds up compilation. The resulting program code is the same
regardless of this setting.
Report Frequency Type
Set the unit type for the frequency of automated reports, see the "Report
Frequency" setting. The Default is milliseconds. Example: Report
Frequency Type=Seconds and Report Frequency=2
will give a new report data packet every 2 seconds. Setting to "NoFilter"
will report as fast as possible, which is only useful if your loop()
function is not "free running" but has a controlled timing behavior.
Define _DEBUG Constant
Automatically #defines a configuration specific _DEBUG constant. You
can enter an integer here, 0 means "do not define". Do NOT use this
option if you do not know how it works. This setting applies to all
compilations for the current configuration only (Debug, Release...).
If you compile using the original (Arduino) IDE it will not know about
this constant. This constant does not affect the Visual Micro
debugging system but is intended for our own use.
Extra c flags
Extra flags that will be used when the C compiler is invoked. This compiler is used for files with the ".C" file extension.
Extra c.elf flags
Extra flags that will be used when the 'gcc' tool is invoked to build the final .elf file.
Extra cpp flags
Extra flags that will be used when the C++ compiler is invoked. This compiler is used for files with the ".CPP" file extension.
Extra eep flags
Extra flags that are used when generating the .eep output file
Extra elf2hex flags
Extra flags that are used when generating the .hex file from the .elf file. The .hex file is the input file used by the uploader
Extra flags
Extra compiler flags
that will be applied to all gcc tools
Extra s flags
Extra compiler flags
that will be used when the gcc assembler is invoked
Generate Prototypes
Enables the generation of so-called "
function
prototypes". Function prototypes are needed to tell the compiler
that a function exists and what parameters and return value type it
has. If set to "true", then Visual Micro generates prototypes for
.INO files in the background, and the user does not have to care
about them. If set to "False", .INO files behave like .CPP files,
and the user must write the prototypes himself.
Learn more about source file types
here.
Includes via Gcc
Automatically search for library includes within underlying sources. Use gcc deep search instead of simple
regex (see Arduino I .6.6+). This option will increase build times considerably. It is recommended to switch
this option off after adding *includes for any required libraries to the
"ino" source code.
Micro Optimise Build (Project Global)

Compare Dates and Times
Re-compile individual source code if the date/time is greater than
the object file data time. If other conditions have forced compile
of sources then this property is assumed False.
Mcu Defines Affect Core
If set to "True", causes the Arduino core files to be recompiled when
known mcu #defines are changed in this project property list or using
a menu item such as Teensy Speed.
Mcu Defines Affect Libs
If set to "True", causes the libraries to be recompiled when known mcu
#defines are changed in this project property list or using a menu item
such as Teensy Speed.
Project Defines Affect Core
If set to "True", causes the Arduino core files to be recompiled when
#defines are changed in this project properties list.
Project Defines Affect Libraries
If set to "True", causes libraries to be recompiled when #defines are
changed in this project properties list.
Source Defines Affect Libraries
If set to "True", causes libraries to be recompiled when #defines are
changed in the project source codes. Compilation of sketches that include
libraries will be slower if the projects macros/#defines have altered
since last compile. This is a global project property
Misc

(Name)
The name of your project. If you want to change your project's name
here, then you can do so, but it much more convenient to use the method
described
here.
In any case, the main source file containing the setup() and loop()
functions must have the same name as your project.
(Micro Debug)
Controls whether the debugging functions of Visual Micro are
used or not for the chosen configuration. (There is also a system wide switch that controls whether
debugging is on or off,
Read more)
This setting allows you to switch debugging on/off
for configurations you have created on your own, in addition to the
default "Debug" and "Release".
As long as you only use the default "Debug" and "Release"
configurations, it is not recommended to change anything to this
setting. Otherwise this documentation won't match the behavior of
Visual Micro on your PC.
Micro Project Id
An automatically generated unique Visual Micro project id,
do not change
Project Dependencies
(For internal use only, do not change)
Project File
This read only field shows where the project file is stored
Root Namespace
(For internal use only, do not change)
Upload Port
The fixed port name this project will use when uploading via
bootloader/usb. This property can also be set by altering the
toolbar port when this project is active
In special cases, you can also enter an IP address here, and thus
you can avoid to require Apple Network Discovery