Marc Goodner

Program Manager, C++

I am a Program Manager on the C++ team at Microsoft working on developer experiences for Azure Sphere, embedded, IoT, and Linux in Visual Studio.

Post by this author

Visual Studio Code now available through Particle Workbench

We’re excited to announce that Visual Studio Code is included in the new release of tooling for Particle IoT developers. Developers using the Particle platform can now use Visual Studio Code as their default editor for building IoT apps! Particle provides a widely-used IoT platform that consists of hardware, software, and connectivity. At...

Using VS Code for C++ development with containers

This post builds on using multi-stage containers for C++ development. That post showed how to use a single Dockerfile to describe a build stage and a deployment stage resulting in a container optimized for deployment. It did not show you how to use a containers with your development environment. Here we will show how to use those containers ...

Using multi-stage containers for C++ development

Updated January 10, 2020: Corrected link to article source that was broken by refactoring in the repo. Containers are a great tool for configuring reproducible build environments. It’s fairly easy to find Dockerfiles that provide various C++ environments. Unfortunately, it is hard to find guidance on how to use newer techniques like multi...

Using Visual Studio for Cross Platform C++ Development Targeting Windows and Linux

A great strength of C++ is the ability to target multiple platforms without sacrificing performance. If you are using the same codebase for multiple targets, then CMake is the most common solution for building your software. You can use Visual Studio for your C++ cross platform development when using CMake without needing to create or generate...

Using MSVC in a Docker Container for Your C++ Projects

Containers encapsulate the runtime environment of an application: the file system, environment settings, and virtualized OS are bundled into a package. Docker containers have changed the way we think about build and test environments since they were introduced five years ago. Visual Studio’s setup and install expert, Heath Stewart, blogs ...

IntelliSense for Remote Linux Headers

In Visual Studio 2017 15.7 Preview 3 we are introducing IntelliSense for headers on remote Linux connections. This is part of the Linux development with C++ workload that you can choose in the Visual Studio installer. If you are just getting started with the C++ Linux support in Visual Studio you can read our C++ Linux tutorial at aka.ms/...

Linux C++ Workload improvements to the Project System, Linux Console Window, rsync and Attach to Process

点这里看中文版 In Visual Studio 2017 15.7 Preview 1 we have made a number of improvements to our support to the Linux C++ workload based on your feedback. You can learn more about our Linux C++ workload in Visual Studio here. MSBuild Project System improvements We added some new properties to Linux projects on the C/C++ General ...

Debugging an embedded ARM device in Visual Studio

点这里看中文版 We introduced support for ARM GCC cross compilation in Visual Studio 2017 in the 15.5 release. With 15.6 Preview 2, we are adding support for debugging. This overview of debugging capabilities follows from the setup for getting started ARM cross compilation and will be integrated there as an addendum. First, it is ...

ARM GCC Cross Compilation in Visual Studio

点这里看中文版 ⏱ Updated on January 10, 2018 to cover addition of debugging support in Visual Studio 2017 15.6 In Visual Studio 2017 15.5 we are introduced support for cross compilation targeting ARM microcontrollers. The 15.6 Preview 2 release adds debugging support. To enable this in the installation choose the Linux development ...

Remote tasks in Visual Studio

We have introduced a new capability to run remote tasks in Visual Studio 2017 15.5 Preview 2.  This capability allows you to run any command on a remote system that is defined in Visual Studio’s Connection Manager. Remote tasks also provide the capability to copy files to the remote system. This feature is added when you install the Linux ...