Arduino for Visual Studio - Release Notes

Recommended download method is from inside the IDE via "Extensions and Updates".

For older releases please register on our Forum, with downloads available on the Beta and AS7 Releases, Previous Releases and Release Notifications.

If downloads do not run then > Right click Open With > Visual Studio Version Selector

Visual Micro Release 21.06.06.17 - 19th July 2021 - VS 2017-2019

  • Multi Project: Fix ensuring Active Code Has Priority Over Solution Explorer (Reported Here)
  • Default JSON URLs: Amended to use latest STM32 JSON
  • Uploader: Portenta H7 - Defaulted use 1200 touch to false to prevent upload issues for DFUUtil
  • Serial Debug: Removal of *.h File Debugging due to errors created being ambiguous when used
  • Hardware Debugging: Fix for Portenta H7 MRI Debug > Start Action, ensuring it attaches correctly
  • Hardware Debugging: Correction to Portenta MRI Debugger Name
  • Hardware Debug: Addition of DAPLink Debugger to STM32 Platforms (Official and STM32Duino)
  • Hardware Debug: Fix to Portenta H7 Configuration for MIR Debugging COM Port specification (mbed_portenta v2.0.0 Platform)
  • Hardware Debug: Addition of all working SWD Debuggers to the Nano 33 BLE board (mbed_nano v2.0.0 Platform)
  • Hardware Debugging: Addition of Raspberry Pi Pico Debuggers (read more here)
  • Hardware Debugging: Addition of Portenta H7 (M7 Core) Built-In MIR Debugging  (read more here)
  • Intellisense: Improvements to Portenta H7 ThreadDebug, and Core Switching now updates intellisense correctly
  • Intellisense: Fixes for updated MBED Packages now available to split out Nano 33 BLE, Portenta, Edge and Raspberry Pi Pico Boards
  • Intellisense: Arduino MBED RP2040 fixes for Raspberry Pi Pico Board (Reported Here)

Visual Micro Release 21.06.06.4 - 22nd June 2021 - VS 2017-2019, AS7

  • IDE Configurations: Added "Arduino 2.0" for Arduino IDE 2.0 (beta) users
  • Cloned Shared Library Projects: Library.properties file created if one is not present in the cloned library
  • STM32: Alignment of Hardware Debug Tool to XPack Arm Toolchain supplied with "STM32 MCU based boards" Core
  • ESP32: Serial Debug: Prevention of Serial.begin() replacement by default (Reported Here)

Visual Micro Release 21.06.06.0 - 6th June 2021 - VS 2017-2019, AS7

  • Optimization: Major Fixes ensuring projects always use the optimization option selected on new and existing projects
  • Hardware Debugging: Arduino SAM, STM32F3 & Energia CC3200/LM4F/MSP430 removal of incorrect static default debug tool
  • Intellisense: Fix to Arduino JSON for ESP32 / STM32F1 cores
  • Build: Fix for build hooks that use the dos /c command. Affects users that have a space in the temp build path

Visual Micro Release 21.05.27.0 - 28th May 2021 - VS 2017-2019, AS7

  • Serial Debug: Fixed issue where it did not launch unless Debugging > Automatic Debugging was enabled
  • Serial Debug: Off correctly in new Project in Release Mode, and additional warning regarding Automatic Debugging effects
  • ATMega2560: Removal of auto injected --relax compilation parameter.
  • Intellisense: Minor Improvement for ESP32 Core
  • Intellisense: Improved for ESP8266 v3.0.0 Core
  • Intellisense: Improved for STM32 and STM32F1 Cores
  • Intellisense: Improved for STM32Duino Cores with correct XPack Arm None Eabi Toolchain Selection
  • INO File Discovery: Fixes for Atmel Studio
  • INO File Discovery: Now allows ProjectName.INO to be moved to Virtual "Folder Source Files"
  • DeActivate License: Improved Feedback to User if an issue is encountered

Visual Micro Release 21.04.27.0 - 28th April 2021 - VS 2017-2019, AS7

  • Serial Debug: Off correctly in new Project in Release Mode, and additional warning regarding Automatic Debugging effects
  • Build Process: Improvements for HPP file compilation
  • Upload: ESP32 Fix for ESP32 Beta 2.0 Core
  • Added resiliency around changes for any Read Only VM System Files related to project

Visual Micro Release 21.01.16.18 - 20th April 2021 - VS 2017-2019, AS7

  • Fix for all Debugging Probes when used with any Arduino Core which has Experimental Debugging (e.g. SAMD)
  • Further Fix for Encoded characters in path names, with pre/post build hooks (e.g. ESP32 Partitions CSV and Hungarian User Names, Error on Partitions.csv)
  • Fix for any Read Only VM System Files related to project, e.g using TFS Version Control without Checkout.
  • Further Fix for Encoded characters in path names, with pre/post build hooks (e.g. ESP32 Partitions CSV and Hungarian User Names, Error on Partitions.csv)
  • Fix for Encoded characters in path names, with pre/post build hooks (e.g. ESP32 Partitions CSV and Hungarian User Names)
  • Prototype Generation: Fix for CTags issue with namespaces and functions

Visual Micro Release 21.01.06.10 - 17th March 2021 - VS 2017-2019, AS7

  • UI: vMicro Menu: Removal of "Try" from "Try, Buy Activate" as trial auto-starts on installation
  • Boards List: Removal of duplicate entries for e.g. MightyCore and ATTiny Cores
  • Snippets: Addition of ESP32 OTA Example Snippet
  • Intellisense: Fixes for Clear Core SAM Board Package
  • Intellisense: Improvements to SAMD MKRZERO
  • Intellisense: Improvements for SAMD (Seeeduino WIO Terminal)
  • Intellisense: Fixes to add CubeCell Platform Intellisense Definitions(https://www.visualmicro.com/forums/YaBB.pl?num=1610984995/2#2)
  • Libraries: Additional prompt for dependency auto-installation
  • Serial Monitor: Resolved Crash when data sent to disconnected port
  • Prototype Generation: Prototypes no longer generated when CTAGS output is misaligned between Signature and Code
  • Build Process: Fix to #line additions for {build.opt.name} file included in STM32
  • Build Process: Fix to Comment Stripping which may cause issues in some builds with mixed string delimeters
  • Build Process: MBED: Fix to 8dot3 paths to ensure they do not affect the Portenta Boards
  • Upload Process : Atmel Studio: Fix for upload.verify setting so it is correctly set
  • Serial Debug: Addition of WifiNINA Compatible Boards for Wifi Serial Debugging (Arduino UNO WiFi Rev.2, Arduino NANO 33 IoT, Arduino MKR 1010, Arduino MKR VIDOR 4000 WiFi)
  • MicroWebServer: Expanded to Handle DTR/RTS additional params via script (for e.g. Nano33BLE as doenst work when disabled)
  • GDB: New Local Board.txt property to reset the program when Debug > Stop is pressed, instead of leaving the program stopped (vs-cmd.Debug.ResetOnStop=true)
  • GDB: Fix when debugging Project *.h files, ensuring correct project file is opened (instead of buildFolder file)
  • GDB: StepOver can now skip all but first iteration of loops/conditionals, with added board.txt property "vs-cmd.Debug.StepOverGDB=until"
  • GDB: Fix for STM32 Core, Nucleo F030R8 config corrected to f0x.cfg
  • GDB: Additional Break All Property to for custom GDB Stop Commands, forcing BreakAll to run before any custom commands (tools.<>.midebugger.stop.break=true)

Visual Micro Release 21.01.06.0 - 15th January 2021 - VS 2017-2019, AS7

  • Intellisense: Fixes for Portenta H7 Intellisense (Reported Here)
  • Library Complilation: LD Flags Fix to ensure Library *.a folder is added to Linker Path (Reported Here)
  • GDB: Fixes for NRF5x Debuggers STLinkv2, JLink, BMP to remove upload selection reliance
  • Intellisense: Improvements for ESP32, NRF52 Boards to reduce errors
  • GDB: Addition of NRF5x Debuggers STLinkv2, JLink, BMP
  • License Management: Addition of General > Deactivate License, allowing transfer to another machine
  • Intellisense: Improvements for SAMD and MBED Boards
  • Prototype Generation: Fixes for incorrect detection of rawliteral() JS code in prototype generation
  • Intellisense: SAMD: Fixes for __disable_irq() / memcpy() etc..
  • IDE Location Screen: Hints updated for clarity
  • Library Compilation: When StopOnError is Enabled stops on first library compliation failure
  • Build Hooks: now fires "hooks.deploy.postupload", as well as vmdeploy (https://www.visualmicro.com/forums/YaBB.pl?num=1605708425/3#3)
  • Prototype Generation: Fixes for template<> definitions causing error on compile
  • Micro Explorer - Manage Libraries: Updating a library no longer automatically adds the library to the project
  • Build Core Caching: Fix for potential core caching issue in last two forum releases (20.09.10.12 + 20.09.10.13)
  • Serial Debug: Correction to datatype error seen in compilation for DigitalPinWrite (caused issues on ESP32)
  • License Expiry Message: Amended to be clearer as to causes, and solutions when this happens
  • Intellisense: Reduction of errors shown for Arduino Portenta H7 Board
  • Library Build: Processing of sub folders improved to remove conflicts reported (e.g. Sparkfun Artemis)
  • Switched to a new SSH library. Fixes Arduino Yun R2 network upload, www files upload and terminal. Also applies to other boards that use more recent ssh encryption.
  • Compiler: Comment Stripper Improved to ensure division broken over two lines is not treated as a comment (as seen in TensorFlow Hello_World Example)
  • Prototype Generation: Further improvements to ensure prototypes aren't generated when datatype matching fails (e.g. vector<string>  from this report)
  • Prototype Generation: Improved prototype code derivation to resolve Multi Line Signature Issues
  • License Expiry: Output Window message to remind users now added when Licenses have expired
  • Disasssembly View: Additional fixes to quoting of command run in background to generate the objdump output + logfile
  • GDB: Addition of BBC MicroBit (+Other NRF5 Boards) for BuiltIn CMSIS-DAP Debugging via GDB + OpenOCD
  • GDB: Debug Menu > Optimization: "Default Optimization" now works for Debugging, and passes -Og parameter to compiler
  • ESP8266 UDP Debug: Cleanup of Socket Closure, ensured working in conjunction with ESP8266Webserver

Visual Micro Release 20.09.10.2 - 18th September 2020 - VS 2017-2019, AS7

  • Esp32 multi ino intellisense fix (.2)
  • Libraries: Architecture tie up between STM32F1 and STM32 for compatability between Official and Roger Clarke Cores
  • Libraries: Additional support for library.properties ldflags integration into compiler.libraries.ldflags
  • Intellisense: Fix for STM32 Intellisense for datatype issues and toolchain paths
  • GDB: Addition of Blackpill STM32F401CCU6 to Debugging Configurations
  • Prototype Generation: Fixes for single and multiline template usage, with improved insertion accuracy.
  • Disassembly Output: Fix for erroneous quoting encountered in previous releases
  • Intellisense support for MEGAAVR toolchain
  • Intellisense: Improved parameter merging to resolve board properties into board specific defines (e.g. MegaAVR Core)
  • Disassembly Output: Improved messaging and exposure of command when errors are encountered
  • Default Toolbars now excludes the Debug Toolbar for faster loading times.
  • Disassembly View: Improved Messaging and execution speed, resolves issues for ESP32,ESP8266,Portenta H7 (Enabled via Project Properties)
  • Serial Debug: Fix for Compilation error when non-UDP debugging for SendUserMessage() introduced in previous release.
  • Intellisense Improvement for Malloc() on SAMD Platforms (including MKR1000)
  • ESP32/ESP8266 UDP Debug: Addition of MicroDebug.SendUserMessage() to allow custom user messages to be sent to the UDP Serial Monitor
  • Library Discovery: Ensure potentially matched libraries contain *.h file expected before matching (bug in last two versions).
  • Improvements to "library name" from "header file name" matching.
  • These changes ensure that revision 2.2 of the Arduino Library Specification is fully implemented.
  • Build Paths: Fixes to ensure short paths are only used on platforms / paths where known to improve builds
  • CTags Prototype Generation: Improved to handle templates correctly when generating prototypes

Visual Micro Release 20.07.08.0 - 8th July 2020 - VS 2017-2019, AS7, CLI

  • Resolve library paths improved to fully meet the Arduino specification. Libraries with architecure matching the current platform have higher priority. Included header files that that 'start with', 'end with' or 'contain' the name of a library are matched correctly.
  • Added the ability to select an alternative COM port when using any hardware debugger that has the capability.
  • Library Discovery: Fixed to ensure correct library discovery process is followed with all Location and Architecture depandancies
  • GDB: *New* Local Debug Port selection shown when using Hardware -> GDBStubs / Black Magic Probe, to select Debugging Port separately to Serial Monitor
  • Build Paths: Fix for short paths to only be used on specific platforms for sketch code
  • Upload Verification: Fix to ensure if Upload > Verify is disabled, that "upload.verify=" to avoid errors
  • Change: Sketchbook/libraries have priority over architecure/libraries
  • Build Paths: Improvement to use shorter 8dot3 filenames as part of build process (reduces path length issues with multiple libraries)
  • ESP8266 UDP Debug: Fix ensuring connections handled correctly for this variant
Visual Micro Release 20.06.30.0 - 30th June 2020 - VS 2017-2019
  • Intellisense: Improvement when adding Libraries to Project
  • GDB: Teensy 3/4 GDB Stub Integration
  • GDB: Fix for DUE Native USB Uploads via Atmel ICE and JLink to set correct GPNVM Bits after Erase Reported Here
  • GDB: Seperation of Start Debugging and Attach to Process commands for all OpenOCD Debuggers, ensuring Start Debugging resets board, and Attach To
  • GDB and error reporting line number were 1 line wrong. Applied to the project_name.ino only.
  • CLI new property to override build path -builder.build_temp_path=
  • The NoIDE option was missing all hardware debuggers.

Visual Micro Release 20.06.18.0 - 18th June 2020 - VS 2017-2019

  • Fix: Compiler error line number reporting when deep search for libraries was enabled was wrong if the setup() or loop() were the first methods in the .ino code. This issue applied to .ino code only.
  • Fix: Zip file was not created during the build process when Export Sketch was enabled.

Visual Micro Release 20.05.18.9 - 17th June 2020 - VS 2017-2019 (pre)

  • Fix: AVR Intellisense Fix for __cplusplus (Reported Here)
  • Fix: Comment Stripping improved for quoted quotes (Reported Here)
  • Fix: Teensy Serial Monotor - Now works without line terminators being received from board (Reported Here)
  • Improvement: Project File Validation only occurs when using File > Open > New Arduino project for faster loading of large projects (e.g. Marlin Firmware)
  • Fix: Prototype Generation improved to accomodate scope operator in function parameters ("::")
  • Fix: Automated parrallel builds of the same project could raise an error saving the build settings.
  • Fix: SerialDebug: SerialUSB Detection when no RemotePort set (Reported Here)
  • Fix: Addition of JLink GDB  Configs for Adafruit Itsy Bitsy M4 (SAMD51) Reported Here)
  • Fix to Prototype Generation so Setup() and Loop() prototypes are not auto generated with the new CTAGS system.
  • Fix: SoftwareSerial debugging failed in builds from the past 60 days.
  • Fix Serial debugger failed to locate the debug libraries if "deep search for libraries" had been disabled.

Visual Micro Release 20.05.18.1 - 18th May 2020 - VS 2017-2019

  • Platform explorer improvements. There were many refresh issues since Microsoft introduced DpiAwareness into Visual Studio over the past 9 months.
  • Fix for the latest STM32. Results of build hooks improved discovery.
  • Fix const strings were not always ignored when stripping comments pre-gccE
  • Updated SharpZip library used by board manager to expand downloaded toolchains.
  • .1 fixes an issue reading the sketchbook path from the arduino ide preferences when a \portable folder is not being used.

Visual Micro Release 20.03.21.21 - 12th May 2020 - VS 2017-2019

  • Fix: Board Package Resiliency added to ensure package.json files are available for Additional Board URL toolchains
  • Addition: "Add > New Item" Templates updated to allow code to be added into specific folders (and subfolders) directly from Solution Explorer view
  • Fix: Board Package Install / Discovery improved, ensuring tools are installed beneath the packager folder (e.g adafruit nRF52 Core)

Visual Micro Release 20.03.21.11 - 1st May 2020 - VS 2017-2019

  • Fix: Prototype Generation: Improved to avoid conflicts with ISR / extern C code (reported here)
  • Fix: Code Snippet Refactor (usage video)
  • Fix: Menu Options Clean for Auto-Reporting per-breakpoint (See Debugger Menu for additional Options)
  • Fix: Code Snippet Content Fixes, now listed as vMicro in snippets list
  • Fix: Prototype Generation updated for additional cases
  • Fix: GDB Arduino Zero
  • Fix: Compiler missing prototype generation failed for method signatures that contain ...
  • Fix: Automatically clear {upload.verify} property when the toolchain does not specify a default value for the property and verify is OFF (default)

Visual Micro Release 20.03.21.2/3 - 21st March 2020 - VS 2017-2019/AS7/CLI (STABLE)

  • sp3 Fix: Resolve a compile issue with shared projects (prevent duplicate compilation of shared project code when deep search and ctags are enabled). Applies to Visual Studio shared projects.
  • Deep search lib discovery:- Escape -D defines in compiler patterns if they have quoted literal values. An example being esp32 which has a -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" property. Esp32 also does not defined the recipe.preproc.macros variables which causes Visual Micro to use the the cpp compiler recipe.  Deep search will now add missing chars and escpape defined in the same that it already does when compiling. In this case the Esp32 define becomes "-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"".  Whilst deep search has always worked without the correct escaped command line the new ctags based prototype generation could not function because it can't ignore compiler errors caused by invalid -D defines. In short, recent releases of visual micro would have failed with some esp32 boards (and possibly others) unless ctags was disabled in a local board.txt
  • When prototype generation via ctags is off the older prototype generation system should have been used.
  • Fallback to using older system to generate missing prototypes if the new gcc based system fails. An information message should state this has happened and ask for report.
  • Remove error message when ctags parsing fails but the fallback has worked. (we will mature the ctags system during the next few weeks!)
  • ctags failed to generate prototypes under various situations! I think we finally nailed the new prototype discovery which is required to be compatible with the arduino ide. Sorry for the pain during the past week.

Visual Micro Release 20.03.21.0 - 21st March 2020 - VS 2017-2019/AS7/CLI

  • When prototype generation via ctags is off the older prototype generation system should have been used.
  • Fallback to using older system to generate missing prototypes if the new gcc based system fails. An information message should state this has happened and ask for report.
  • Remove error message when ctags parsing fails but the fallback has worked. (we will mature the ctags system during the next few weeks!)
  • ctags failed to generate prototypes if there was a space anywhere in the path to .ino sources

Visual Micro Release 20.03.18.1 - 20th March 2020 - VS 2017-2019/AS7/CLI

  • An important fix for the background daily check for updates. Was checking way too often in recent builds (if enabled)!

Visual Micro Release 20.03.18.0 - 18th March 2020 - VS 2017-2019/AS7/CLI

  • Fix build errors in recent release: Comments in code could cause the "auto insert of missing prototypes" to be inserted in the wrong position. This is part of the new ctags system that better caters for user types in .ino code.
  • Reminder: The new way that visual micro generates prototypes can be switched back to way previous releases worked with the following local project board.txt property:- vm.ctags=false

Visual Micro Release 20.03.1 - 17th March 2020 - VS 2017-2019/AS7/CLI

  • sp7 fixes an issue (in sp6) adding missing prototypes when the .ino code does not have any #includes
  • Standalone shareable Web debugger updated (Experimental) (Read More Here)
  • GDB debug disconnect forces gdb to exit. Cleaner shutdown.
  • Support precompiled=true, link .a/.so files discovered in the library [mcu name] folder.
  • Extend check to ignore special case missing prototypes for setup() and loop() where (void) is declared as an argument to the two methods.
  • Fix: Resolve new python location for recent changes in the esp8266 package. Visual Micro spiffs (web server data files) upload now supports both older and newer esp tool chain versions.
  • Fix: Unabe to create new Arduino projects in Atmel Studio 7. Either failed or caused a hang/lockup of the IDE.
  • Insertion of the auto generated missing prototypes (using CTags) is updated to also cater for 1st method in an .ino other than the project_name.ino. This will avoid many compile issues when user types are defined in the .ino code and subsequently used in method sigantures that have missing prototypes. Reminder: CTags are only used for missing prototype generation if "deep search for libraries" (Gcc-E) is enabled.
  • Inserting soft debug breakpoints on 1st line of the setup() or loop() is now supported.
  • CLI fixes and new properties
  • GDB Hardware Debugging - Programmer/Upload Config updates (check selections after update), OpenOCD Updated to 2020-02-13
  • Experimental - Export local web debugger. pre-alpha option to export a self contained portable debugger. Allow a board that is already programmed with visual micro soft debugger break and/or trace points to be connected to another pc that does not have an IDE  (visual studio or visual micro) installed. Applies to software debug only! "vMicro>Debugger>Export Web Debugger". tip: Close the serial terminal after soft debug starts and review the Micro Build output window for usage instructions. Read More Here
  • new - Esp32 OTA UDP software debugging (Video Demo)
  • new - Teensy virtual usb port discovery
  • new - Teensy virtual usb Console
  • new - Teensy virtual usb software debugging for all USB Types (Read More Here)
  • Fix: Automatic prototype insertion before first method in .ino files (in previous releases the prototypes were inserted before the first code line which required manual insertion of prototypes)
  • Fix: Software debugging did not work if the setup() and loop() methods were not in the project_name.ino
  • Fix: Software debugging breakpoints were ignored if placed on the first line of a method (on the method name or the line with the methods opening brace)
  • Hardware Debuggers: SAM - Improved support (+ JLink)
  • Add GDB support (hardware debugging) for the MXChip Azure IoT Board
  • Teensy 1.5 changes for intellisense.
  • STM32duino intellisense paths and fixes for latest toolchains
  • Ability to exclude certain unneeded variant files from intellisense intellisense.excludes=[semi-colon; sep list of file names without paths]. STM32 is preconfigured with this property.
  • Fix: SPIFFS: Manually installed esp8266 core under the "ArduinoIDE/hardware" folder failed to resolve python path

Visual Micro Release 1912.28 - 14th January 2020 - VS 2017-2019

  • Esp8266 publish server data files: The latest esp8266 platforms has capability to use the built in python tools. If users had not installed python an error would be encountered when attempting to publish server data (spiffs upload)
  • Fix to support Stm32duino 1.8 (Prebuild event hook allows compilation of output)
  • Esp8266 Publish Server Data Files (spiffs): Automatic detection of Esp32 2.6.2+ and older versions. The Esp8266 2.6.2+ core requires this change.
  • STM32 GDB debug improvement.

Visual Micro Release 1911.17 - 21th November 2019 - VS 2017-2019 + AS7

  • 1911.17.5 update has been released 24 hours after the previous update wich was missing the newtonsoft json dll used to discover hardware packages. We no longer use the Microsoft Nuget system for our software management because it conflicts with the Microsoft Visual Studio Extension Creator! Sorry for the double update within such short period of time.
  • Add new menu item "vMicro>Compiler>Always Export Zip". This feature uses the new CLI command to export and combine shared projects into a single sketch zip file. Libraries are not included. This simply makes a standard Arduino sketch from project code
  • New release prompt moved to output window instead of dialog.
  • Many minor fixes for Atmel Studio 7. (note: There are a few errors displayed in the Atmel Studio output window after startup. These errors can be ignored and are an Atmel Studio internal issue of no significance.
  • Atmel Studio users are notified that for hardware debug either Visual Studio is required or the Atmel tools should be used via the "vMicro>Debugger>Use Atmel Debugging" menu
  • CLI to support all recent Visual Micro additions such as shared libraries
  • CLI simpler command line that only requires path to project (vcxproj), unless more control is rquired.
  • Prevent unwanted serial output when pressing F5 to continue a break-point. (VMDPC_ message)
  • Improve new user experience. Also improves experience when there is no hardware (boards) or reference to the Arduino IDE location.
  • Added out-of-the-box STM Generic F0 and F4 debuggers (Vs Only)
  • New user experience improvements
  • Improved messages when board packages or ide location is not available
  • Users must start a full trial or activate with a license key
  • Changed yellow to blue in the Platform Explorer Mini Preview Pane
  • Added new menu item "vMicro > Toolbar Auto Visibility > Manual All". A quick way to set all Visual Micro bars to be under manual control via the standard "Visual Studio > Customize" commands.
  • Corrected issue with missing newtosoft.dll in last pre-release for AS7
  • Add a Start Trial button to the Try, Buy, Activate window. Starts a 30 day trial.
  • Improved digital pin viewer (see docs)
  • Improved breakpoint @plot functionality (see docs)
  • Serial debugger "full mcu speed mode", more obvious menu to enable/disable
  • Fix: Crash in Micro Explorer, expescially in the Examples area as a result of recent DpiAwarness changes for vs2019. Also applied to vs2017 because we use the same code base for both IDEs.
  • Added new tools option "Application Features>Show/Hide Core - Max Levels" (defaults to 4). The mbed framework has thousands of files that take too long to load as shortcuts. This property restricts the number of folder levels discovered when adding src\_micro-api-reasonly\core to a project
    Yield and refresh the display when using show/hide and when adding project spources during the 1st time open of an existing sketch. Prevnts the ide from appearing locked.
  • Add status bar messages with the path of files processed during 1st open of a sketch and when usong show//hide hidden files.
  • Add new arm tool chain paths to  SAMD intellisense
  • Force activation error dialog to on top. It could previosuly be hidden behind the IDE causing the IDE appear locked/frozen.
  • CLI : -builder-close=false
  • CLI : -builder-closeonerror=false
  • CLI : -builder-export_sketch=true  (combine shared project code into a sketch zip that is Arduino IDE compatible)
  • CLI : -builder-export_dest_file=[a zip file name to create]
  • CLI : -builder-export_delete_if_exists=true

Visual Micro Release 1909.27.0 - 27th September 2019 - VS 2017-2019

  • This release is required if working alongside the Arduino IDE v1.8.10
  • Fix: Resolve deep search library discovery when using 1.8.10 Arduino IDE with Visual Micro
  • "Tools>Options>Compile all folders" - Change default to False. Enforces project, project\src and sub folders below the \src only. (Arduino compatible). When opening existing Arduino sketch projects for the first time only sources in the project folder, the \src sub folder and all folders below \src. Ignore all other sources.
  • Fix: Once per day nag screen showed invalid html page since 1909.15

Visual Micro Release 1909.15.1 - 15th September 2019 - VS 2017-2019

  • Fix potential cross-thread crash: Switch to main thread before accessing the VCC Compiler tool. Required for VS2019 as a result of recent conversion to async Visual Studio extension.
  • Fix: In Release mode, the software debugger might have defaulted to "On".
  • Support for tool windows with Visual Studio 2019 without need to switch off "Optimize rendering for screens of different pixels densities". nb: We are still using windows form controls in our tool windows which means they might be a little blurry on some high res displays. We will move to Wpf tool windows during the coming months which will remove any blurr.
  • Fix: Corrupted packets that sometimes appear dyring serial
    debug
  • Serial debugger supports user code serial that is not line terminated. This makes it easier for new users and students to use the serial output alongside breakpoints, charts and watch expressions.
  • Leading and trailing whitespace is no longer removed from serial when using serial debugging.
  • Changed .NET version 4.5>4.7

Visual Micro Release 1908.7.4 - 7-15th August 2019 - VS 2017-2019

  • Added a build custom event hook "core.prebuild_if_changed". This event fires if the date/time of any core file has changed between builds.
  • Build library with dot_a_linkage: Archive was not rebuilt when changes to library sources had been detected.
  • Prevent attempts to resolve headers containing \ or / from resolving to libraries. Cause compile fail in deep search for libraries.
  • Prevent preprocessor #line numbers from being added to .h/.hh etc header files in temp build folder. The STM32duino core allows users to add compiler defines as -DtheDefine format. The header is not used as a header but instaed passed as compiler defines. Adding original source #line numbers causes sm32duino to pass an invalid define to the compiler.
  • This version replaces the gallery version from 7th August. The gallery contained the 1908.7 version of Visual Micro but delivered 1908.5. Microsoft have some gallery issues that they are looking into.

Visual Micro with GDB Release 1908.5 - 5th August 2019 - VS 2017-2019

  • STM32 F1 and F4 debugger update
  • Change default to False:- "vMicro>Compiler>Add Include -I for Shared Projects"
  • ESP32 Dev Kit Usb Programmer Update
  • Shared Library Projects: If we created a library called "LibraryA" that did  not have a "LibraryA.h" and we did not #Include <LibraryA.h> in our sketch then the build failed to find the library.
  • Deep search for libraries: The cache failed for some shared library projects causing longer compile times.
  • Update structure of "File>New>Project>Arduino Library" to Arduino v2 library format containing sources in the \src folder. Reminder: the \src folder of Arduino v2 libraries automatically become a compiler -I include path.
  • Remove default capability to qualify library #includes with library name for example: #include SPI\SPI.h is not supported unless "vMicro>Global>Options>Compiler>Add Libraries Folders (-i) Includes" is set to TRUE. Note: Deep search for libraries must also be switched off to use this feature. It is not recommended to qualify lib paths with the folder name, is not Arduino compatible and can cause conflicts with libraries that also have relative path#includes.
  • ESP32 might crash at startup if libraries are installed that use relatives paths which conflict with other libraries (two reports). This is the primary reason for the change descrived in the previous point.
  • Installing libraries from Library Manager automatically adds #includes to the current project. This feature can be switched on in "vMicro>General>Global Options>Contributions>Add Includes when Installing Libraries"
  • First build or re-build might have failed for some boards. We now run the "prebuild" hook before deep search (gcc-e) library discovery. This allows cores such as STM32duino to create a default options header (build_opts.h) in the build folder.
  • Shared project compiler include paths moved to before the includes for the core.
  • NOTE: Cracked, invalid or illegal use of Visual Micro will cause the IDE to periodically stop working. At that time a dialog will be displayed asking you to contact us.

Visual Micro with GDB Release 1907.29.3 - 29th July 2019 - VS 2017-2019

Update Summary: Solution and Project libraries with library versioning. Full range of hardware programmers. Debugger fixes and extensions for esp32.

  • Updated with fixes for ESP32 WROVER (DevBoard) debugging
  • Add compiler include paths for all shared code projects. To disable this functionality uncheck the new vMicro>Compiler>Add Include (-I) For Shared Projects". This change makes it easier to reference code in shared projects from code in sub folders of an Arduino project. (ie: #include <src/SharedCode1/CodeFile1.h> or #include "src/SharedCode1/CodeFile1.h"
  • Programmers now save per project and board.
  • "Use for Upload" menu renamed to "Enable Programmer"
  • "No Programmer (default)" will now show when a programmer is not selected.
  • Selecting "No Programmer" also switches off "Enable programmer"
  • Selecting a valid programmer also switches on "Enable Programmer"
  • Add Libraries Menu > Allow libraries to be cloned to Solution or Project with or without versioning
  • Disable ability for Serial debug to debug libraries because it caused some compiler issues. The feature will be reinstanted in future releases.
  • Preserve Code and Library Versions Together: Two new menu items on the "Add Library" menu options allows libraries to be copied locally (to below the Solution or current Project folders). When Including a library using the menus the library will be copied to Solution\Libraries\LibName or Project\Libraries\LibName. A shared project and project reference are automatically created and added to the current Solution Explorer. In some siutations the Solution exists in the same folder as the project. This is not a recommended configuration and means that both menu items will perform the same action. Normally we expect Solution in a parent folder to the project which works better with tfs source control.
  • Extend architecures logic so that more libraries with invalid library.properties.architectures will resolve. for example when "arm" is specified instead of sam,samd etc. then all arm platforms will accept the library.
  • Discover libraries that failed to be discovered using the current board architecture or any other of the discovery methods that Visual Micro applies (see previous point). In this case libraries will be dscovered by header file name (.h) regardless of any architecture. If found then an attempt will be made to compile the library. Therefore, it is now possible to encounter a build error for an invalid library when previous Visual Micro versions would report  missing #includes (.h files).
  • Improve intellisense for SAMD boards
  • Updated installer to only support VS2017 15.8 and above. Older versions of Visual Studio 2017 need to be updated to use Visual Micro. This is due to some inconsistances between some common Microsoft API's in VS2017 and Vs2019
  • Update default package and library index json files. The files are used by default in the Library and Board Manager tools. After clicking "Check for updates" the files are replaced, therefore it is new users who will benefit the most from this update.
  • Initial release with an extended range of programmers for various architecures.
  • Programmer selection is now saved with project and configuration if enabled via the vMicro>General menu, otherwise programmers are saved for the project
  • Programmers tool  bar has been added to the "Toolbar Auto Visibility" menu. Auto visbility is ON by default, switch it off and hide the tool bar if not required.
  • All hardware debugger have been refreshed and tested
  • Ignore Microsoft throwing exception when attempting to reset the VS2019 after a build
  • Initial hardware debugging release required additional support and testing for :-
    • STM32
    • SAM
    • SAMD
    • ESP32
  • Add support for the hooks.sketch.prebuild events to run before the core is compiled. Teensy3 uses the event to create an arduino.h.pch in the temp build folder. The .pch file is required when the core is compiled. In future releases of visual micro we will attempt to build the sketch code before the core and libraries,  then the event will fire in the same order as the arduino ide.
  • Caused by recent changes to Async extension for VS2019 but affects 2017 too because it is the same code. The workaround for other VS2019 tool window issues caused a delay creating the tool window frame on some machines causing an internal timer startup failure.
Known issues:
  • VS2019 tool windows still to be converted to WPF (see note at top of this page for workaround, planned next two weeks)
  • Deep search cache fails for some shared library projects (under investigation)
...

Visual Micro with GDB Release 1907.16.0 - 16th July 2019 - VS 2017-2019

  • Fix VS2019 status bar crash after build when the US/UK language is not installed into windows (language did not need to be active)
  • Many updates for hardware debuggers, all platforms
  • NOTE: We will be forcing more programmers into the Arduino programmers list so that, for example, programmers such as the Atmel ICE can also be used to upload to SAM boards.
  • NOTE V2019: The VS2019 GDB (MI) debugger requires the US/UK language pack to be installed into windows but the language does not need to be active
  • NOTE VS2019 Preview 2: We are currently converting our tool windows to WPF. Until the August release of Visual Micro we must switch off "Tools>Environment>General>Optimize rendering for screens with different pixel densities"

Visual Micro with GDB Release 1907.6.7 - 8th July 2019 - VS 2017-2019

  • Serial monitor draws correctly but did not work for some users. (related to recent vs2019 asnyc support)
  • Hardware Debuggers: Improved connection and usage example
  • Hardware Debuggers: Optimization options fully enabled for Arduino 1.6/1.8, Arduino 1.9 and Energia
  • Hardware Debuggers: Improvements after feedback for platforms:-
    • CC3200
    • Tivac
    • AVR
    • Esp32
    • Esp8266
    • SAMD
    • Stm32
    • StmF1
    • StmF4

Visual Micro with GDB Release 1906.30.2 - 1st July 2019 - VS 2017-2019

Visual Micro Status Update: Version 1906.30 of Visual Micro is a result of many weeks of testing and work by our new expanded development team. This release begins a higher degree of professionalism to Visual Micro and more advanced features, such as GDB debugging. Hardware debugging is now a one-click reality for everyone. The new context sensitive tutorial mode shows connection guides and other useful materials in the IDE when needed. 

This release of Visual Micro also allows the Visual Studio IDE to load without waiting for Visual Micro to load. This means that, for example, C# developers can use the IDE with Visual Micro installed but without being impacted each time the IDE starts. The key to Visual Micro late load is to hide the Visual Micro tool bars or to set their visibility to automatic.

During the coming weeks more granular library management, version control and automated testing will be introduced in the same simple, but powerful, manner as the debugging. We are also shortly to release a revamp of visualmicro.com with easier to access and clearer documentation.

Visual Studio 2019 still presents some small issues such as tool windows can fail unless "Tools>Options>Environment>Automatically adjust visual experience based on client performance" is disabled. We are working to redevelop our tool windows using WPF which will resolve the issue.

  • The add protection to async status bar animation to prevent older versions of Vs from crashing
  • The remove old manifest MEF dependency because the latest VS2019 point releases now prevent install of Visual Micro unless MEF is installed which VS2019 does not allow or need. VS2017 unaffected by the issue.
  • Hardware Debug > Custom/Advanced. Uses local debugger_launch.json if available otherwise simply allows for debug build.
  • Hardware debug adds a new compiler define:- -DVM_DEBUG_GDB
  • Hardware specific Reference and Connection guides expanded for all programmers.
  • File>New>Project includes a project template that shows how to use sub folders for source code in Arduino projects.
  • New "Tools>Options>Visual Micro>Tutorials" group includes a "Debugger Tutorials" property. Switching off this property will stop the context based help messages from being displayed when a debugger is selected or debugger option is changed.
  • Installing boards and libraries using the Platform Explorer now automatically reloads tool chains and makes the changes ready for use. Clicking 'Re-scan' or restarting the IDE is no longer required unless the changes are made outside of the IDE/platform explorer.
  • Added a warning when selecting the "Advanced/Custom" debugger to recommend using rhe built in one-click debuggers instead.
  • Custom debugger_launch.json file name can be prefix with "[configuration_name]." and "[board].[configuration_name]."
  • Add reference and image links to the output window when a debugger is selected. The reference explains how to connect the debugger and in some cases images to show pin out connection between debugger and mcu
  • Add support for upload property "upload.verbose_disabled=true". The property is set as default for esp8266 tool chains because the verbose output is every byte of the compiled program which is too large for an output window (which scans for clickable file paths).
  • When verbose compile or upload were not enabled custom build/upload events failed to show status messages. (ie: esp spiffs upload failed to show any status messages.
  • Added .lst extension to the allowed copy list when copying build files to local project intermediate folder
  • Removed obsolete note concerning the use of .cpp instead of .ino files from Atmel Studio when Atmel Studio debugging is enabled.
  • Add: New "vMicro>General>Global Options" menu enabling quick access to "Tools>Options>Visual Micro"
  • Add: Quick access to a new "Disable Optimizations" debug menu selection. Easily switch off optimization of   "Project" or "Project/Libraries" or "All" source code. For more granular settings the F4 project properties window gives control of each type. (note: It is not currently possible to switch off optimization for AVR projects that use HardwareSerial.
  • Add: One-click menu support enabling "GDB Stub" for most AVR mega chips such as Uno and Mega2560. The avr-debugger library is required to be #included in the project, use Library Manager to auto download and install the library from git.
  • Removed: Some obsolete tools>options
  • Added: New options "Tools>options>visual Micro>Shared Core Cache>Clear on Solution Clean". Clears the shared compiler cache when a Solution is cleaned. Defaults to True.
  • Support for older VS2017 installations that have not been updated for a while. The manifest will ensure a c++ version from 15.0 to 16.9 and c++ desktop of same version range. This should resolve installer issues that have been reported by some users but it is recommended to apply Visual Studio updates when they are released!
  • Teensy intellisense changes were missing from previous release
  • Atmel ICE debugger for SAMD
  • Unpaid users of this release must update prior to Aug 2020

Visual Micro with GDB Release 1906.26.0 - 26th June 2019 - VS 2017-2019

  • Intellisense improvements for Esp32 boards
  • One-click hardware debugging is now implemented for testing and feedback (Experimental). More platforms will be supported in future releases. Currently includes support for:-
    • STM32 based boards
    • Esp32 based boards
    • Arduino Due
    • Arduino Zero and all SAMD boards
    • Texas Instruments (Energia) 32 bit boards
  • The new debug menus (beta) are now implemented for arduino 1.6/1.8, Energia 1.6/1.8 and NoIDE Application types.
  • New hardware debug is now tested with Energia Tivac boards
  • Fix: Board properties failed to save for a project if the project was created using the last 1906 gallery release.
  • Tool bars failed to appear at startup in last release. Only applies to tool bars that are not set to automatic visibility.
  • Beta new debug menus
  • Programmer selection is also saved per config when "save board/port per project configuration"
  • Platforms that do not implement vid/pid for all boards will not "auto select board when device connects" if a board from the same platform is already selected
  • Opening the IDE Locations configuration window from the platform explorer often auto-selected the wrong application.
  • Added menu item: vMicro>Help>Report issue, ask question
  • Intellisense and library resolution for intellisense might have failed after closing an Arduino project. The issue would resolve when clicking commands such as "build clean" or "starting the ide

Visual Micro Release 1906.16.1 - 16th June 2019 - VS 2017-2019

Note: Sometimes when Visual Micro loads a notice appears to say it took up to 7 seconds to load. We have reported this to Microsoft because the delay of 5+ seconds is due to a single request that we make for visual studio c++ properties. Normally the properties ate returned in less than 300ms but sometimes they take 5+ seconds. Hopefully we only see this issue after vs is first run after machine restart or upgrade/install of any extension or vs settings.

It is now possible (optional) to have Visual Micro installed into Visual Studio without it causing any delay to the startup time of Visual Studio. Furthermore Visual Micro will not load until needed which means zero IDE impact. Read more below ...

NB: There is an important compiler cache fix to resolve slow compile in the previous 1905 gallery version.

1906.16.1

  • VS IDE now starts without loading Visual Micro unless bars are displayed that require Visual Micro to load.  This allows C++, VB.NET and C# developers to work with Visual Micro installed but without impacting the IDE until Arduino features are used (such as opening an .ino project)
  • Improved toolbar auto visibility when an .ino project is opened. Auto visibility toolbars will hide before the IDE closes so that when the IDE is next used it will start quickly. In previous versions toolbars would be hidden after the IDE is restarted if an Arduino project was not opened.
  • Added "Toolbar Auto Visibility" menu to the vMicro menu. All tool bar visibility commands have been moved from the "General" menu to the "vMicro>Toolbar Auto Visibility" menu.
  • Add toolbar visibility menu item > "Auto All", which enables auto visibility for all bars. This saves having to click each toolbar to enable auto-visibility for many bars. In VS2019 it is recommended that the vMicro menu toolbar be displayed all of the time. This is because VS2019 does not show extension on the master menu bar at the top of the IDE.
  • Minor fixes: Admin users: Auto roll out for large scale deployment. It is now possible to auto-configure all Visual Micro settings when a user first logs onto the IDE and uses Visual Micro.
  • All toolbars are now hidden after first install (excl. the vMicro bar).
  • Changed the default auto visibility to 'True' for the Boards, Project and Serial toolbars This allows  new users to find options more easily. The vMicro menu does not default to "auto visibility" because of the note above about the VS2019 menu bar.
  • Prevent build hook/event messages from being displayed unless verbose is enabled
  • New user first time experience improved. The IDE locations config window is not prompted until a Visual Micro feature is used.
  • Fix: New user IDE locations dialog failed to display on first run due to VS2017 InitializeAsync() failing to provide a valid win32WindowHandle.
  • Added "Micro Board Options" tool bar
  • Automatic hardware debugging configuration, GDB out-of-the-box.
  • Extensible GDB configuration
  • Fix: Removed Visual Micro settings from the Visual Studio "Help" menu. This was a mistake in recent versions, the same options are on vMicro>General and did not belong on the Help menu.
  • Serial monitor default font change to same font as output windows


1906.12

  • Fix: Slow compile. Recent changes for GDB caused project sources to always be compiled.
  • Long standing bug caused some/slight "slowness" when navigating between source code files
  • Fix: A shared project reference was not automatically added when adding a library as a shared project via the "Add Library" menu
  • Fix: Automatic adding of shared library project reference to the current project failed to add the reference (required late binding due to avoid VS shims)
  • Change!! Libraries included below the platform/core take priority over sketchbook/libraries. We made this change last year but had some complaints so rolled it back. However the Arduino IDE has applied this change therefore it is now applied to Visual Micro. This means that downloaded user installed libraries will be ignored if they exist below the installed board package platform. We have also extended visual micro to support a platform library override facilities "sketchbook/hardware/package_name/platform_name/libraries" and "sketchbook/hardware/package_name/platform_name/platform_ver/libraries" which provides a solution for people who do not want to use the library supplied by the author of the platform/core.


Reminder: Shared library projects can also be used which then allows specific location libraries to be selected per project. This means a library can exist anywhere, for example below the solution folder allowing source control check-in alongside the project code. Obviously this way of working also supports different versions of the same library.

Known issues:-

  • Since End of may 2019 (last month). Folder only mode fails. Note: Folder only mode is experimental and a very simplistic system compared to using normal Arduino/VS projects. It is recommended that the .ino file is opened at least once using File>Open Arduino Project so that a real Visual Studio project is created for you by Visual Micro.
  • Tool windows might not render in VS2019, especially on first run of the IDE after installing or upgrading. Restart of the IDE should resolve. For persistent problems switch off "Tools>Options>General>Optimize rendering for different screen densities". This is a problem for many extension authors and is a result of internal VS changes. We will release an update shortly with a complete fix. Please let us know in this/the forum if you continue to have difficulties with tool window rendering.

Visual Micro Release 1905.29.5 - 1st June 2019 - Vs 2017-2019

  • VS2019 tool window rendering issues improvements (see forum for 1906.12+ with more improvements)

Visual Micro Release 1905.29 - 29th May 2019 - Vs 2017-2019 + Atmel Studio 7

  • Fix: SoftwareSerial debugging
  • Fix: SoftwareSerial debugging
  • Fix: When using SoftwareSerial prevent changing of speed in the upload port serial monitor
  • Per Configuration: Facility to save the selected board and port (Debug/Release etc). Enable using "vMicro>general>Save board port per configuration".
  • Per Configuration: Switch off optimization for core, libraries and/or project (see project properties)
  • Per Configuration: Additional compiler flags for core, libraries and/or project (see project properties)
  • Microsoft VsCode compatible debugging. VsCode examples from the web also apply to Visual Micro in the full version of Visual Studio (Use the Add Code> Custom Debugger to build your own debugger, add natvis files for your own user types if required).
  • Sp5 contains minor cosmetic changes to the drop down lists on the serial monitor, IDE locations window and platform explorer to cater for high dpi monitors. Also contains a slight change to the loading of themes in the serial monitor to prevent a rendering failure for some users.
  • Show broken debug packets in the serial monitor so users know the serial is overloaded or their own serial is clashing. Suggest use alternate port for debug if this is the case or ignore the broken packets. We aee investigating a better reporting solution for this issue.

Tip for advanced compiler flags use: Switch off "vMicro>Compiler>Shared Cores" so that Build>Clean is more destructive.

Visual Micro Release 1905.24 - 24nd May 2019 - Vs 2017-2019 

  • Fix: Case comparison issue with json urls preventing urls with uppercase chars from being accepted when loading the boards list

Visual Micro Release 1905.22 sp2 - 22nd May 2019 - Vs 2017-2019 

  • Fix: When attempting to toggle.show hidden files an message appeared for users of cultures that use command as the decimal place

Visual Micro Release 1905.19 - 19th May 2019 - Vs 2017-2019 

known issue in this release: SoftwareSerial debug option will fail to build. This will be fixed in the coming few days.

  • Esp8266 verbose upload in the v2.5.1 core is not recommended because it sends huge amounts of trace data that will require a cup of tea before it finishes.
  • Esp8266 and esp32 spiffs is now compatible with esp v2.5.1 and also older versions
  • Fix: Renaming a non .ino or .pde master file incorrectly prompted rename of the current selected sketch (if one was active in the code editor). This was caused by a VS bug.... Visual Studio ProjectItems() incorrectly return the first item of the requested item name is not found.
  • Switch serial debugger to using a generic #define based on the Debugger>Remote Port (or the default Serial/Serial1 when not set). This allows many more board platforms to be supported by the soft debugger without need for changes to Visual Micro. It is still possible for the upload port to display in the ports list due to the fact that some usb ports can appear long after the upload process has completed (see windows device manager for usb status's)
  • When "Auto select board/port is selected, ignore usb port changes during upload to catarena type of boards. Previously undesirable port changes would occur for boards that temporarily boot into a different upload port.
  • When "Auto select board/port is selected, manually switching the com port will select the corresponding board. note: the auto select feature relies on the vid/pid values returned by the usb driver which must correlate to the vid/pid of a board definition. Some manufacturers share vid/pid within many different boards which renders this feature useless.
  • Themes for the platform explorer, debugger digital pin viewer and watch expressions
  • Ignore contributed board package index (json) files if they no longer exist in either the "arduino ide>preferences" or "visual micro IDE locations > board support urls" lists. Previously uninstalling a url would continue to show the package in the platform explorer unless the package_index.json was manually deleted using windows explorer.
  • Verbose upload is no longer affected by switching on "verbose compile"
  • Implement "No Verify" for older avr and sam boards that do not provide the switch via the platform config
  • Stop all builds if a user attempts to start another build when a build is already running. Assume they want to cancel and not start a new build.
  • The build is cancelled if an attempt is made to run another build. Example, F5 starts build, F5 again stops/aborts the build, F5 again starts a new build.
  • Fix: Board options menu failed to show options after menu #14
  • Minor UI improvements, syntax, spelling, charting etc
  • Debug tool will now inherit properties from the tool chain pre-commands and also support property tree ".debug" with the selected tool. For example upload.tool=openocd can also be debug.tool=openocd, with the tool supporting both .upload and .debug subtrees along with default properties at tool level.
  • Renamed vMicro>"Toggle Hidden Files" to "Show/Hide Hidden Files". Using this feature adds short cuts to external sources and often provides a better code navigation experience (especially when using GoTo Definition).
  • Support for board.txt foo_debugger.args which automatically transpose to microsoft gdb / MIDebuggerArgs in the debugger_launch.json. (nb: a debugger_launch.json is not required in the local project and should only be added by advanced users). Using the board.txt as per the following example if recommended.
  • The notification messages for missing tools within board support packages (index.json) were many and unhelpful. In the next release notifications and errors are informative and duplicate errors are prevented. This applies to clicking re-scan or using the Platform Explorer when a package index containing missing tools has been added to the IDE locations configuration window.
  • Change: Better code navigation into the core when using "Go To Definition": "Toggle Hidden Files" will also now add short cuts for ".c" files. These files will often cause many intellisense errors in the "Error List" window. To disable this option use "Tools>Options>Compatibility>Toggle Hidden C Files" = false (default is true). Note: We are shortly moving to the CLang intellisense engine which will improve things. Reminder: Click "Toggle Hidden Files" again to remove the code short cuts. 
    Fix: Intellisense for _AT boards that, for some reason, have a different mcu name (case) than that contained in the core of the boards. note: Visual Micro is moving its intellisense definition to a more intelligent system so hopefully this type of issue won't happen in the future.
  • Fix lack of case sensitivity in strings comparisons relating to UI and intellisense. Recent issue since release of vs2019
  • Automatically switch to "Show All Files" view when "Toggle Hidden Files" is clicked. This resolves a VS bug that causes "Toggle Hidden Files" to display incorrectly when used in "Show All Files" mode. To resolve the display issue the project needed to be closed and re-opened or the "Toggle Hidden Files" option needed to be clicked a few times.
  • Prevent status bar message for using fileAndForget. Possible contributor to vs2019 crash when visual micro attempts to set the DTE.StatusBar.Text
  • Change: Better code navigation into the core when using "Go To Definition": "Toggle Hidden Files" will also now add short cuts for ".c" files. These files will often cause many intellisense errors in the "Error List" window. To disable this option use "Tools>Options>Compatibility>Toggle Hidden C Files" = false (default is true). Note: We are shortly moving to the CLang intellisense engine which will improve things. Reminder: Click "Toggle Hidden Files" again to remove the code short cuts. 
    Fix: Intellisense for _AT boards that, for some reason, have a different mcu name (case) than that contained in the core of the boards. note: Visual Micro is moving its intellisense definition to a more intelligent system so hopefully this type of issue won't happen in the future.
  • Fix lack of case sensitivity in strings comparisons relating to UI and intellisense. Recent issue since release of vs2019
  • Automatically switch to "Show All Files" view when "Toggle Hidden Files" is clicked. This resolves a VS bug that causes "Toggle Hidden Files" to display incorrectly when used in "Show All Files" mode. To resolve the display issue the project needed to be closed and re-opened or the "Toggle Hidden Files" option needed to be clicked a few times.
  • Prevent status bar message for using fileAndForget. Possible contributor to vs2019 crash when visual micro attempts to set the DTE.StatusBar.Text



Example; Arduino_STM32 debug example: Black Magic Probe (BMP) and Serial/COM   (note: this is work in progress, we believe many of the ".args" are not required, more coming soon!

//local project board.txt example
Code:

debug.tool=bmp_upload
tools.bmp_upload.debug.args=-cd "{build.project_path}"  -ex "file {{{build.path}/{build.project_name}.elf}}" -nh -b 115200 -ex "target extended-remote \\.\{serial.port}" -ex "monitor swdp_scan" -ex "attach 1"
 

 

NOTE: This is an early BMP example. The following debugger arguments are just an example. Normally, the selected port might be resolved elsewhere and some of the arguments are not required. For example the symbol file should already have been loaded by the MI debugger.

Code:

debug.tool=BlackMagic

##### Black Magic Probe
# No Open OCD Required
tools.BlackMagic.cmd=arm-none-eabi-gdb.exe
tools.BlackMagic.path={runtime.tools.arm-none-eabi-gcc.path}/bin
tools.BlackMagic.ComPort=COM11
tools.BlackMagic.args= -cd "{build.project_path}"  -ex "file {{{build.path}/{build.project_name}.elf}}" -nh -b 115200 -ex "target extended-remote \\.\{ComPort}" -ex "monitor swdp_scan" -ex "attach 1"
tools.BlackMagic.pattern="{path}/{cmd}" {args} 

 

Visual Micro Release 1904.24 - 24th April 2019 - Vs 2017-2019 

  • The recent integration of GDB prevent .net core Debug>Start command from working.
  • The previous issue also applied to our older gdb beta extension which is now discontinued. If you have the older GDB beta extension installed then please uninstall it using tools>extensions and updates. The extension has been updated in the gallery so that users with auto update enabled will install a version that is rendered harmless.
  • Correct spelling mistakes where "Ide" was used instead of "IDE"

Visual Micro Release 1904.23 - 23th April 2019 - Vs 2017-2019 

  • Integrated GDB. VS2017+ includes the same Microsoft MI cpp debug engine that is used in vs code. Gdb is enabled automatically for some boards. Integration via arduino 3rd party hardware specification and/or mi debugger json properties.
  • Fixed an issue that sometimes caused the ide to load showing "Setup". Requiring IDE re-start to reolve. The issue relates to the recent change to 2async" loading to be compatible with vs2019
  • Support for custom debuggers (more info to follow or follow the in-app guide)
  • Support new noverify on upload key for boards that define upload.params.noverbose
  • The IDE Locations dialog opens showing the currently selected application + minor spelling changes Ide to IDE.
  • Added serial debug support for stm32f103. Same can be added to a local project board.txt (see below)

Release 1903.24 - 25th March 2019 - Vs 2017-2019 + AS7 + Vs2012-2015

Important: Due to breaking changes in VS2019 there is now a different version of Visual Micro for users of Vs2012-2015. If you are using Vs2012-2015 then please uninstall Visual Micro and re-install from the gallery or via tools>options>extensions and updates.

  • Due to breaking chages (for good reason) in Vs2019 there are now three versions of Visual Micro, when previously there were two.
  • "vMicro>Compiler>Add Include (-I) for Project"  - A more accessible switch for adding -I compiler include for the current project. The alternative switch is in tools>options>visual micro>compiler. NB: By popular request, the default for this setting is ON, set it to OFF for compatibility with the Arduino IDE.
  • The Visual Micro GDB extensions have been removed from the gallery and will shortly be replaced with inbuilt GDB in the Vs2017 and vs2019 version of Visual Micro.
  • Fix: Check for library manger updates caused an error in Re-scan due to incorrect processing of abnormal json data in library-index.json (RTCLib Zero).
  • Remove Visual Micro from Tools menu because we have a new vMicro tool bar containing a full vMicro menu. Reminder: Tool bars can be made visible or hidden by right clicking the tool strip or enabling auto-hide on the vMicro>general menu.
  • Additional VS2019 async fixes
  • Intellisense improvements for SAMD
  • Build property build.source.path was incorrectly set to the full sketch name instead of the folder path.
  • Inbound serial textbox buffer reduced from 500kb to 125kb. VS2019 can not currently handle 500kb in the textbox. (reminder:  this is a tools>options setting that users can override)
  • Microsoft have moved all top level extension menus such as the vMicro menu to the new "Extensions" menu. As a result Visual Micro has a new tool bar called "Micro Menu". The tool bar contains a single button called "vMicro" enabling single click view of the Visual Micro menu.
  • The Serial Port selection has been moved from the Uploader menu to the vMicro menu making the currently select port more obvious when tool bars are hidden
NOTE: Vs2019 preview 4 and rc have a known issue if the new vs2019 Startup Window is closed without opening or creating a project. If visual micro loads in "setup mode" then click Rescan or re-start the ide. 

Release 1902.17 - 17th Feb 2019 - Visual Studio 2012-2019

  • Fix: Re-build to resolve gallery download issues. Dowinload from "tools>extensions and updates" has been failing for the past few days. Download using browser from the visualstudio.gallery worked correctly.

Release 1902.15 - 15th Feb 2019 - Visual Studio 2012-2019

  • Support for VS2019 Preview 1 Fix: A Microsoft vsix creation bug caused dlls to be missing from the 1902.11 release. Visual Micro did not work correctly, board list and and dialogs were empty.

Release 1902.11 - 11th Feb 2019 - Visual Studio 2012-2019

  • ESP32 spiffs upload to use esptool_py
  • ESP32: Cater for updated esp32/espressif spiffs commands (Publish server data files from the project/data folder). Use upload.tool to discover esptool or esptool_py. Other minor spiffs updates to ensure that all required properties are available for either usb or network spiffs.
  • IMPORTANT: Revert esp32 intellisense to pre sept30th release. The intellisense error reporting for esp32 has not worked well since implementing the request in this forum post during the end of sept 2018
  • IMPORTANT: Better cater for boards that have menus with no values. This especially applies to the esp8266 which defines a crystal frequency of 26mhz with no build.extra_flags when the 40mhz crystal does define build.extra_flags.
  • Attempt to resolve missing contributed library sources from platform/hardware libraries. For example the nicoHood HID library uses HID.h from avr/libraries/HID.
  • Cache library dot a linkage output (.a). Prevent re-build of .a linkage archives for a library if it was previously built for the current board.
  • Note: VS2019 is Preview 1

Release 1812.22 - 22nd Dec 2018 - Visual Studio 2012-2019

  • Support for VS2019 Preview 1
  • Set working directory to the build folder during link so that the build path can be stripped from the .o object files. Allows for longer commands without hitting the windows size limit.
  • Note: VS2019 is Preview 1

Release 1811.24 - 24th Nov 2018 - Visual Studio 2012-2017 + Atmel Studio 7

  • Related library discovery (deep search) did not work for libraries are in the current solution as "shared library projects" and that had been "Referenced" from an Arduino project. Previously use of other libraries from within a shared library project would only have worked if the project code also contained #includes for the related libraries (vs only)
  • Fix last version:  Debug libraries failed to build  standard libraries unless they were "shared library projects" (vs only)
  • "Toggle Hidden Files" ignores libraries if they existing in the solution as shared library projects (vs only)
  • Update Esp32 intellisense paths (broken since last esp32 toolchain release) (vs only)
  • Debug support for Arduino Libraries. A new vMicro menu item enables library debugging. (note: that when this option is enabled, a copy of the library code is compiled from within the temp build folder, Compiler -I include paths will also point to the library code in the build folder) (vs only)
  • Roll-up of recent updates for AS7
arduino-library-debugging_003.png

Release 1810.4 - 4th Oct 2018 - Visual Studio 2012-2017

  • Revert library resolver path order to 1) sketchbook\libraries 2) platform\libraries 3) ide\libraries. This might cause a problem for some boards such as Teensy that prefer the ide libs in place of platform libs. However most other boards prefer platform libs as priority. Users should take care not to install a library into sketchbook\libraries that has the same name as a library they want to use from a platform. Recommendation: Copy/use shared library projects. Shared library projects are bormal Arduino libraries that can exist in any location, giving control to each project over which library version will be used.

Release 1810.3 - 3rd Oct 2018 - Visual Studio 2012-2017

  • Fix: Unable to compile "Shared library projects" that use "the old style" arduino library structure (without library.properties). These projects were incorrectly compiled as a merge project instead of as a library project. This fix assumes a library 1) if a library.properties file exists or 2) if the folder structure contains a folder named "\libraries".
  • Libraries for specific architecture are now the lowest priority to reflect the way the Arduino IDE works. This means that if a library exists in sketchbook\libraries it will be used, otherwise if it exists in ide\libraries that will be used otherwise the  platform\libraries folder is used.
  • Fix: Arduino versions less then 1.5.7 failed to compile in debug mode when "Deep search for libraries" was enabled
  • Usb debug support for Adafruit M0 boards that have native_usb set to true yet use Serial instead of SerialUSB as default port.
  • Library resolver order: 1) sketchBook\LIbraries 2) Platform\Libraries 3) Ide Libraries

Release 1808.30.4 - 30th Aug 2018 - Visual Studio 2012-2017

  • "Tools>Options>Visual Micro>Compiler>Project Folder -I" is now enabled by default. This allows local files to be #included using <foo.h>. Previously only #include "foo.h" was supported unless the above tools>option was enabled. The option as the project folder as a -I compiler include.
  • Fix: "Tools>Options>Visual Micro>Compiler>Project Folder -I" failed with deep search enabled (is now on by default, see previous point).
  • Fix: It was possible to cause a linker error (.o object already defined here xyz...) with local library sources especially with a conflicting shared library project of the same name but different location causing duplicate .o files to be linked. This could easily have caused much confusion!

Release 1808.30 - 30th Aug 2018 - Visual Studio 2012-2017

This release fixes missing project properties in yesterdays release. The problem was caused by updating our build system to VS 15.8. We have re-built the last update with VS 15.6 which rectifies the problem.

VS 15.8 Please note: We have varying reports concerning intellisense in VS 15.8. We will investigate and report to Microsoft. In the meantime if you have intellisense issues after upgrading your Visual Studio 2017 IDE to 15.8 downgrade Visual Studio to 15.6 (stable) or 15.7! We encountered other intellisense issues in the preview of 15.8 which we reported to Microsoft and they promised to fix. It seems they have fixed those issues but this suggests the C++ intellisense system has been radically overhauled in 15.8. So unfortunately we should expect some issues for a few months with 15.8. 

Release 1808.25 - 28th Aug 2018