Visual C++ for Linux and Raspberry Pi Development
It's bananas over at Microsoft. Last week they announced you can run Bash on Ubuntu on Windows 10, and now I'm seeing I missed an announcement of an extension to Visual Studio that enables Visual C++ for Linux Development.
With this extension you can author C++ code for Linux servers, desktops and devices. You can manage your connections to these machines from within VS. VS will automatically copy and remote build your sources and can launch your application with the debugger. Their project system supports targeting specific architectures, including ARM which means Raspberry Pi, folks.
ASIDE: I also noticed there's a C/C++ extension for Visual Studio Code also. I need to add that to my list of stuff to check out, it looks pretty compelling as well.
Once Visual C++ for Linux Development is installed, you go and File New Project like this. Cool to see Linux in that list along with a Raspberry Pi project.
You can pick x86, x64, and ARM, and you can see Remote GDB Debugger is an option.
Here I'm running Ubuntu in a VM and connecting to it over SSH from Visual Studio. I needed to set up a few things first on the Ubuntu machine
sudo apt-get install openssh-server g++ gdb gdbserver
Once that was setup, connecting to the remote Linux machine was pretty straightforward as VS is using SSH.
Pretty cool.
NOTE: Today this cool extension has nothing to do with the Bash on Ubuntu on Windows announcement or that subsystem. The obvious next question is "can I use this without a VM and talk to gdb on the local Linux subsystem?" From what I can tell, no, but I'm still trying to get SSH and GDB working locally. It's theoretically possible but I'm not sure if it's also insane. Both teams are talking, but again, this feature isn't related to the other.
This extension feels a little beta to me but it does a good job providing the framework for talking to Linux from VS. The team looks to be very serious and even has a cool demo where they code and debug a Linux desktop app.
If you're looking for a another full featured solution for Linux and Embedded Systems development with Visual Studio, be sure to download and check out VisualGDB, it's amazing.
Sponsor: Quality instrumentation is critical for modern applications. Seq helps .NET teams make sense of complex, asynchronous, and distributed apps on-premises or in the cloud. Learn more about structured logging and try Seq free for 30 days at https://getseq.net.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
@CrashOverride, it's because we use a component that is part of the Android Tools called the MIEngine that provides the bridge from the VS debugger to GDB. We are actively working on packaging that dependency as part of our install to remove the dependency. This was the quickest way to get it to people for feedback.
Where is .NET framework, Office, SQL Server, Cortana oh that's right Windows, Mac, Linux either now or within the next year.
Want to compile a iOS app, gotta have a mac - errr why? it's intel just like my PC, oh wait cause Apple.
Comments are closed.