Scott Hanselman

Building Visual Studio Code on a Raspberry Pi 3

March 15, '16 Comments [30] Posted in Hardware | Open Source
Sponsored By

Visual Studio Code running on a Raspberry Pi 3 - Michonne Approves

I picked up a Raspberry Pi 3 recently for MarchIsForMakers. The Raspberry Pi 3 is a great starter computer for makers not just because it is faster than the Pi and Pi 2, but because it has Wifi built in! This makes setup and messing around a lot easier.

Here's some great tutorials for getting started with the Raspberry Pi, Node, and Visual Studio Code.

I also recommend folks setup a VNC Server for their Raspberry Pi so you can TightVNC (meaning, remote in and control) into the Pi from your PC. You can also setup your Raspberry Pi to share the clipboard so you can copy from Windows and Paste into the VNC window when you are remoted into your Pi.

But why not build Visual Studio Code and get it running natively on the Pi? Marc Gravell did it first on Twitter, but I wanted to figure out how he did it and if it was still possible (he did it before some significant refactoring) and also to see if VS Code was faster (or even usable) on a Rasberry Pi 3.

Compiling Visual Studio Code on a Raspberry Pi 3

From the VS Code GitHub, you need Node, npm, and Python. The Pi has Python but it has an old node, so needed a newer node that ran on ARM processors.

sudo dpkg -i node_latest_armhf.deb

There are some NPM native modules like node-native-keymap that didn't work when I built the first time, so you'll need some supporting libraries first:

sudo apt-get install libx11-dev

Then, from my Raspberry Pi, I did this to build my own instance of VS Code.

git clone
cd vscode
./scripts/ install --arch=armhf

This took the Raspberry Pi 3 about 20 minutes so be patient.

Then, run your instance with ./scripts/ from that same folder.

Note: Electron and Chromium underneath it use some very specific features of X Servers like "xrandr" for dynamic resizing and you may have trouble getting Visual Studio Code to run under a remote VNC session. Consider using RealVNC or TigerVNC for your Raspberry Pi, rather than the older TightVNC. RealVNC is a commercial product but they'll give you a free license for your Raspberry Pi.

Once you've updated to a newer VNC you can run VS Code


Check out MarchIsForMakers all month long as we partner with CodeNewbies and play and learn with maker hardware! Last week we unboxed my Raspberry Pi 3, set it up, and got it to blink an LED!

What have YOU done with your Raspberry Pi? Sound off in the comments.

Sponsor: Big thanks to Redgate for sponsoring the feed this week! Feeling the pain of managing & deploying database changes by hand? New Redgate ReadyRoll creates numerically ordered SQL migration scripts to take your schema from one version to the next. Try it free!

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.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb
Tuesday, 15 March 2016 21:05:25 UTC
You can try Nomachine instead of VNC for better experience similar to remote desktop:
Omer Celik
Tuesday, 15 March 2016 21:08:31 UTC
Great work!
Tuesday, 15 March 2016 22:22:19 UTC
My 3 is arriving on Thursday, I'm excited. :) Was Visual Studio Code pretty usable?
Tuesday, 15 March 2016 22:49:43 UTC
Rick - Slow to start but reasonable to use. Another better way is to just use Code talking to a Samba remote share
Scott Hanselman
Tuesday, 15 March 2016 22:54:16 UTC
I thought the idea was to develop FOR the pi, not ON the pi... :p
I'm loving win 10 IoT with Pi2, my Pi3 arrives today, sadly the day after Pi day.
Wednesday, 16 March 2016 05:12:10 UTC
Or you can keep Code on your PC and you can automatically sync your code with the PI through SSH. I did it using a plugin.
Wednesday, 16 March 2016 06:03:10 UTC
Is there some particular reason you do not obtain the Node package over HTTPS, like a deranged cert store or a TLS-incapable fetching tool?

Seeing packages installed system-wide from HTTP sources screams out at me :)
Lars Viklund
Wednesday, 16 March 2016 08:23:02 UTC
Which was OS version in Pi3 you had tried? Windows 10 IOT?
Wednesday, 16 March 2016 08:46:31 UTC
Currently setting up my PI 1 as a time lapse camera (not overly concerned if i lose it)

I have my PI 2 set up as a security camera using motion pie

And i am planning to use my PI 3 to help control the temperature of my fermenting beer (turning heater/ fan on and off to keep a steady temperature).

I haven't thought of a good use for the PI zero.... yet.

Wednesday, 16 March 2016 10:12:16 UTC
MarchIsForMakers link doesn't have any reference
Alaeddin Hussein
Wednesday, 16 March 2016 12:04:06 UTC
The MarchIsForMakers link has two issues: "fro" instead of "for" and a "," before "com".
John P
Wednesday, 16 March 2016 20:59:13 UTC
Hi Scott, I'm using Rasperry Pi 2 together with to control my home elektronics over the a knx bus. Compared to commercial KNX "Servers" you save tons of money and it is fun :-)
Wednesday, 16 March 2016 22:43:40 UTC
Once you've built it if you add alias vscode='.~/vscode/scripts/' to the bottom of your .bashrc file in your home directory, you can just type vscode <filename> to launch it.

Andy Ross
Thursday, 17 March 2016 21:18:34 UTC
Currently running VSCode on a out the box Raspbian image. Had to uninstall the default Node and Node-Red packages but apart from that runs like a dream.
Thanks foe the tutorial.
Jim Hurst
Friday, 18 March 2016 02:11:35 UTC
I've had a lot of awesome with xrdp on my raspberry pi 2. VNC is alright, but when connecting from a windows box, it's so much more natural to just open up remote desktop and pop right on your pi. I find it best to set the window size in the connection settings before connecting however, particularly if you have a large resolution monitor.
Saturday, 19 March 2016 02:45:42 UTC
Thanks Scott.

You might want to update the first command to use 'wget' instead of 'get'.
Saturday, 19 March 2016 06:07:39 UTC
Huge shout out to Jessica Lord ( who basically single-handedly did a shitton of work to get the ARM build of Electron working (and by extension, VS Code)
Sunday, 20 March 2016 15:39:58 UTC
It also works very well with x11vnc and xrdp. Finally, we have good code editor for raspberry pi.
Alex Furman
Monday, 21 March 2016 02:32:28 UTC
Most people look at a problem and say why... thank goodness there are a select few like Scott that say "why not".
Monday, 21 March 2016 12:40:04 UTC
Deploying and debugging your application is straightforward with Visual Studio. We’ll use the Remote Debugging feature to deploy the app to your locally connected IoT Core device.
Thursday, 24 March 2016 19:25:37 UTC
Thanks! it worked 100%.
Only one small thing, nodejs-legacy hast to be uninstalled before you can install the latest version.
Tuesday, 29 March 2016 13:52:03 UTC
@Me You can use the Pi as a simple device to do programming on, and it's only $35 or around there. MS probably just wants anyone to be able to learn programming/computer science without having to spend a lot of money.
Monday, 04 April 2016 02:54:39 UTC
I believe you may have dropped a w?

Friday, 15 April 2016 08:23:49 UTC
It worked great, thanks.

Coming from c#, I wanted to dig a little into python development. I am only getting used to VS Code on Windows, so I want to stick with it on my Pi.

Only thing I had to do in addition was to first update the legacy version of node before installing the latest arm version:

sudo apt-get update
sudo apt-get install node
Saturday, 16 April 2016 17:52:02 UTC
yeah *wget
really cool stuff, love coding on my pi 3
before installing the new node:
sudo apt-get uninstall node node-legacy
Saturday, 23 April 2016 15:40:48 UTC
Great job! Now I'm running on PI 2.
Friday, 20 May 2016 13:11:38 UTC
compile also on PI2
valeriano cossu
Thursday, 02 June 2016 23:25:09 UTC
The nice thing about Linux in general is that all the HOWTO guides have typos that you have to compensate for and most of them like this one don't even work a mere 79 days after they are written.
Mike S
Wednesday, 08 June 2016 14:48:27 UTC
@Nick Larsen

My thoughts echo your observations on xrdp in RPi.
Matha Goram
Tuesday, 14 June 2016 03:32:00 UTC
Amazing info and i really like your work! thanks a lot or sharing! Free Android APK file download safe link apkdom best safe APK downloader free download mirror xapk obb server CoC private link. Love fun ideas lovematchfun join now. The Best Prank Apps, jokes and shocking Games for Android. prankyapps electric screen joke, Love Match test Prank, transparent screen android app, etc. Free Android app APK download softlot app games APK downloader. Gift Ideas giftspilot gifts for her and kids.
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.