Tools > Options Settings Reference

The following list describes all settings that are located in the menu under Tools > Options > Visual Micro > General.

All these settings are not project specific and are stored system wide.

Note IconNote:

The following list is ordered according to the categorized view of the Settings list.
To switch the Tools > Options view to the categorized view, use this icon on the top left of the window:

Tools Options Categorized View

Application Features
Allow Duplicate Boards
If enabled will allow for duplicate boards in different versions of the same platform.
Clone for Project When Including Libraries
Create a shared project library and a copy of the library source code when including libraries from the library list/menu.
Clone for Solution When Including Libraries
Create a shared solution library and a copy of the library source code when including libraries from the library list/menu.
Clone Libraries Sub Folder
The name of the sub folder that is used when the libraries are cloned to solution or project. This value must be a sub folder path, it is combined with the solution or project path when a new cloned lobrary location is created.
Clone Library Versions
Apply version numbering to cloned libraries.
Create Shared Project When Including Libraries
Create a shared library project when selecting libraries from the list.

License Key
Enter or remove a purchased license key to activate/deactivate your edition of Visual Micro and its features. If you deactivate during a trial period you will not be able to reactivate it again! If you deactivated a license, you will be able to reuse it on a different computer.
License Status
This is the current state of your license
Rollout Mode
This mode automatically attempts to register unlicensed machines when the application starts. It is useful for mass rollout of enterprise/educational licenses. When 'True', the license key and rollout mode are read from %ProgramData%\VMicro\Settings.xml. See this page for a complete list of settings or copy %LOCALAPPDATA%\VMicro\Settings.xml. Tip: %PROGRAMDATA%\VMicro\Settings.xml can also be used to install settings and the debugger for all user profiles.
Upload/Debug Active Code
BuiId/upIoad/debug the project that is currently being edited, regardless of the "Startup project" selection. Applies to Visual Micro toolbar and menu upload/debug commands. Also applies to Visual Micro 8uiId and upload commands. Does not apply to 'Solution>Start' events or F5 which always assume the 'Startup' project.
Applications & Locations
Application Ide Locations
Opens the Configuration Manager (read more)
Contributions Folder
The locations where .json/packages and downloaded library and hardware staging files are stored.
The Default is %APPDATA%\roaming\arduino15.
The location of the 'cygwin\bin' folder where 'cygwin' is the root of the cygwin installation. This property is optional, Cygwin is required by certain projects like ArduPlane. More information can be found here and here
My Visual Micro Configs
Optionally enter the folder where Visual Micro custom applications config is (or will be) stored. If unspecified then 'MyDocuments\Visual Micro' folder is used. Additional features pack license holders have the facility to create/register new ide apps and override hardware settings using this configuration.
Readonly Platform Projects Folder
The locations where readonly shared platform projects (vcxitems) will be created.
Auto Re-Connect
Automatically detect disconnects from your Arduino board over the serial line, makes repeated attempts to reconnect. Tip: Alternatively, you can untick the "Connect" button on the Serial Monitor to prevent auto-reconnect, then tick it again when the device has become available again.
Auto Scroll
When inbound serial data is received the Serial Monitor auto scrolls to the location where the cursor is.
Baud Rate
(only for internal purposes, do not change)
Clear on Open
If set to "True", clears the inbound data window of the Serial Monitor every time Visual Micro reconnects to the Arduino board.
Clear on Open
If set to "True", clears the inbound data window of the Serial Monitor every time serial data is sent to the Arduino board, from the Serial Monitor.
CStr Output
(only for internal purposes, do not change)
(only for internal purposes, do not change)
Friendly Port Lists
Show additional information in the port selection box COM Port Selection of the Serial Communications Toolbar and window titles. This property is ignored if "Network Discovery" is enabled.
Friendly Port Menus
(only for internal purposes, do not change)
Last Port
(only for internal purposes, do not change)
Line Endings
(only for internal purposes, do not change)
(only for internal purposes, do not change)
Logs Locations
Sets the folder path where log files are stored by the Serial Monitor window. This path can also be edited in the serial monitor menu item "Log"
Network Discovery
Allow DNS network discovery for hosts such as the Arduino Yun. Requires "Apple Bonjour for Windows" to be installed otherwise network devices will not be found. You can get Apple Bonjour by installing Apple iTunes or by searching for a download location here.
Outbound Suggestions
Turns of the autocomplete feature of the outbound edit field of the Serial Monitor (item 1 in the image)
Port Discovery Error
The last error that was encountered during a port discovery event. If an error was encountered then friendly port names and network ip discovery are set to false. Re-enable as required.
(only for internal purposes, do not change)
Rx date format
The Rx line prefix date format
Screen Buffer Size
Specifies the maximum size of bytes the Serial Monitor stores and displays. If the buffer runs full, older data will be removed from it.
Single Instance
(only for internal purposes, do not change)
Ssh Connection Timeout
Timeout in milliseconds when connecting to remote network devices such as the Arduino Yun. Set to 0 for the default (which is currently 50ms because we are using telnet on localhost). Irrelevant when using serial connections.
Terminal Font
Font used to display output in the Serial Monitor
Wrap Text
Whether to wrap text when displayed in the Serial Monitor
Allow Local board.txt
This feature is only used in the Pro Version of Visual Micro (Default=false). This feature will override the build and upload properties with an Arduino compatible board.txt, if it can be found in the current project folder.
Allow Local Libraries
This feature is only used in the Pro version of Visual Micro (Default=False). Using this feature will automatically enable "Compile files in project"
Complile ALL Project Folder Sources
If "True": Always include all sources that exist directly in the project folder ignoring the fact they might or might not be included in the Visual Studio project. This means, that even if files directly in the project folder are excluded from a project, they will still be compiled (This is the same Way the Arduino IDE works). Projects will be re-scanned each time they are opened, any missing files from the project root will be re-added (.ino,.cpp etc.)
Compile Files In Project
Use the Visual Studio project to determine which sources to compile. Normally for Arduino the physical folder is scanned to determine which sources to compile. Switching this option to true will allow compilation of files that are in sub folders. When using subfolders,  your project will not compile in the Arduino IDE. You will always need to use IDEs such as Visual Studio, Atmel Studio or Eclipse to build the project. (Default=True)
Show/Hide Hidden (.c)
The "Show/Hide Hidden Files" command will inlcude short cuts to ".c" files. This will cause more than normal false intellisense errors but improves code navigaton.
Allow Core Source Override
Do not build core source code if a file of the same name exists in the project sources.
Allow Library Source Override
Do not build library source code if a file of the same name exists in the project sources.
Always Export Binary
Certain boards provide facility to export a binary (merged hex) to the build folder. Enabling this setting will run the export at the end of every build. Builds will be slower with this option enabled.
Build Cores Folder
Temporary cached cores in a specific folder. The default is [user temp folder]\VMBCore.
Build Folder
An IDE restart is required after changing this property. Temporary build in a specific folder. The default is [user temp]\VMBuilds.
Build Folder Enabled
Build in a temporary folder. If False then the projects output folder is used.
Build In Project Intermediate
Do not use an external build folder. Build directly into the Intermediate Folder specified in the project properties. NOTE: Allowing a folder below the current project folder to contain temp build sources will cause confusion when using the Arduino IDE to build.
Build Uses Configuration
Append the active configuration name to the temporary build folder
Copy Output To Project Intermediate
Build in a temp folder and then copy the resulting program outputs to the folder specified in the current project property. For Visual Studio this is the Intermediate Directory and for Atmel Studio it is the project build folder.
Deep Library Search
Deep search uses gcc-e to scan code and libraries to discover 'other' library includes. This option can be switched off if all libraries have an #include in the project_name.ino. This setting can be overriden per project using the 'vMicro>Compiler' menu.
Disassemmbled View Auto Activate
Show the disassembled view automatically after each build. Only applies when Disassembly is enabled in a projects properties.
Parallel Build
Build all files in each group (folder) at the same time.
Project Folder -I
Always as a -I include for the project folder. (note: Cpp only projects will automatically enable this setting during build)
Shared Projects Folder -I
Always as a -I include for each shared project folder.
Show Build Folder
"True" shows the build folder after compilation in the Output Window.
Show Build Properties
"True" shows the build properties for the current hardware in the Output Window when building.
Stop On Error
"True" stops the compilation immediately if core or library compilation return an error, does not continue with compilation of your sketch's source files. This can be useful as source compilations make no much sense until core and library compilations work correctly.
Show detailed compiler output
"True" shows compiler warnings in the Output Window when compiling.
Compiler warnings are very useful and should be taken seriously to avoid coding errors.
Same as vMicro > Compiler Warnings menu command

Note IconNote:

Compiler Warnings often help you in finding hidden bugs in your code.

    if( counter = 4 )
        counter == 4;

Both these code lines are legal, but probably it is not what you intended: The first line should possibly be a comparison (==), but it is an assignment (=), and the second line should be an assignment, but it is a comparison without any effect.
Both lines are valid C++ but make no sense and indicate a programming mistake.

Compiler warnings can show you such spots.

Warnings for Core
Show core hardware compiler warnings
Warnings for Libraries
Show library compiler warnings
Use Temporary Folder
Build in a temporary folder. If False then the projects output folder is used
"True" shows detailed compiler output in the Output Window when compiling.
Same as vMicro > Verbose Messages menu command
Compiler Optimisation
Core Modified
"True" skips compilation of the core if there were no changes since the last compilation. This saves compilation time by avoiding unneeded compilations.
Library Modified
"True" skips compilation of libraries if there were no changes since the last compilation. This saves compilation time by avoiding unneeded compilations.
Add Lib #Includes On Install
Add #incudes to current project when installing libraries.
Update Indexes
Automatically check for updates to libraries and hardware (BSP's) when the board or library manager tools are used. This causes the index.json files to be re-downloaded from the web
Gdb and On Chip Debugging
Gdb Enable
Enables extended, gdb based debugging for board that supports it (read more)
Managed Gdb
(Internal only)
Managed NMake
(Internal only)
OpenOCD Enable
(Internal only)
Always Re-Add Header
In some versions of Visual Studio, intellisense will only refresh reliably when Visual Micro removes and re-adds the auto generated vsarduino.h header. Disable this feature to prevent this feature. If the intellisense becomes wrong then switching board or re-opening the project will fix the problem. It is recommended to leave this value in its default setting ("True").
Intellisense is the built-in functionality that shows popup windows with a selection of functions and variables while you type in the source code editor.
Mcu General
Max number of recently used boards to show at the top of the boards list.
Default is 20
Recently Used Boards
Semi colon seperated list of recently used boards - internal use only
Micro Debug
Hit Counters
Controls if breakpoint hit counters count how often a breakpoint was hit ("Counter") or represent a millisecond time counter ("Milliseconds"). (Read more)
Library Debugging
Applies only to Serial debugging, do not use with Hardware debuggers. Allow library debugging. When ebaled library code is compiled from a copy that is automatically created in the temp build folder. This allows the debugger to add debug commands without altering the original code.
User Experience Messages
Feed back during serial debugging relating to a better experience. Additional messages will show in the debug trace such as:- The serial debugger timed out waiting for
Micro Debug - Automated
loop() - Auto Create Breakpoint
If set to "True" and if no breakpoints are defined when debug starts, then a tracepoint is automatically created at the start of the loop() function. (Read more about breakpoints).
The following settings in this section are all related to this demo breakpoint.
loop() - Condition Enabled
If set to "True", then the demo breakpoint contains a break condition. (Read more about breakpoints)
loop() - Conditional Expression
Enter an optional default breakpoint conditional expression for the demo tracepoint that is automatically created. For new user educational purposes only.
loop() - Hit Count Frequency (ms)
The number of milliseconds between execution of the demo breakpoint.
loop() - Hit Counter
If True then your board will run at full speed periodically reporting demo breakpoints every n milliseconds (default n=250).
loop() - Message/Watch
Enter a message or list of {watch expressions} for the demo breakpoint. Expressions must be global values and valid for EVERY project. Please see the Project Properties for more granular control.
loop() - Message/Watch Enabled
If set to "True", then showing a Message/Watch expression for the demo breakpoint is enabled.
Micro Explorer
View Project Properties
If set to "True", opening the Micro Explorer Help Window, will also open the current Project Properties Window.
On Shutdown
Delete Commands
Delete macros and commands from visual studio on exit. Startup time will be a bit slower. If you find some menu items are missing then switch this options off and run visual studio once with the following command line switch: devenv.exe /resetaddin Visual.Micro.Visual.Studio.Arduino.Helper
Last Programmer
(only for internal purposes)
Upload Using
Represents the setting of the "Upload Using Programmer" menu item in the Tools menu.
Shared Core Platform Cache
Clear On Solution Clean
Clear the centralize the caching when cleaning a solution
Centralize caching when compiling platform/hardware core and variants
Available Version
Shows the version number of the newest Visual Micro version available on If the "Check for updates" value is set to "True", then you will be informed that a newer version is ready for download.
Check for updates
If set to "True", then Visual Micro checks for updates on periodically and informs you if a new version is ready for download.
Hardware ID
(only for internal purposes)
Fast IDE start
If set to "True", Visual Micro and the Visual Studio/Atmel Studio IDE start independently is separate threads, which increases startup performance
Pause Pro features
Disables all "Pro" features in the Visual Micro Pro version and lets the Pro version appear as it was the free version. Mainly used for testing in case of problems.
Serial No.
(only for internal purposes)
Stop trying to sell me stuff
If set to "True", then Visual Micro will not inform you anymore about upgrade offers.
Url Override
An alternate location to find Visual Micro software updates. Leave this field empty unless instructed by a Visual Micro support person.
User Interface
(only for internal purposes)
Toolchain Locations
Leave this empty for standard Arduino and Arduino 1.5+. This is for Arduino 1.0.x custom tool chain. You must have also installed your own version of WinAVR from
Tutorial Mode
If this setting is true, then Visual Micro shows additional message windows that help new users. It also sets and automatic "demo breakpoint" at the start of the "loop() function" as described here.
User Interface
If set to "True", diagnostics trace messages will be written to a sub folder below the location where the visual micro components are installed. Administrator permissions might be required. Use this setting only if you were told to use it by a Visual Micro support person.
Use Intellisense Fallback Location
"True" prevents intellisense from creating read only "PCH" folders in the project folder that are hard to delete. "True" lets Intellisense manage its data in a different folder that is not part of the solution folder. This setting should be left to "True" unless in special support cases.
All other settings in this section are for internal purposes only

Assembly Location
Show where the visual micro program files have been installed
(used internally for the update notification system)
Version Minor
(used internally for the update notification system)