Scott Hanselman

Building Visual Studio Code on a Raspberry Pi 3

March 16, 2016 Comment on this post [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.

get http://node-arm.herokuapp.com/node_latest_armhf.deb
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 https://github.com/microsoft/vscode
cd vscode
./scripts/npm.sh install --arch=armhf

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

Then, run your instance with ./scripts/code.sh 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

image

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
Hosting By
Hosted in an Azure App Service
March 16, 2016 1:05
You can try Nomachine instead of VNC for better experience similar to remote desktop: https://www.nomachine.com/tips-on-how-to-set-up-your-raspberry-pi-for-remote-access-via-nomachine
March 16, 2016 1:08
Great work!
March 16, 2016 2:22
My 3 is arriving on Thursday, I'm excited. :) Was Visual Studio Code pretty usable?
March 16, 2016 2:49
Rick - Slow to start but reasonable to use. Another better way is to just use Code talking to a Samba remote share
March 16, 2016 2:54
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.
March 16, 2016 9:12
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.
March 16, 2016 10:03
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 :)
March 16, 2016 12:23
Which was OS version in Pi3 you had tried? Windows 10 IOT?
March 16, 2016 12:46
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.

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

March 18, 2016 1:18
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.
March 18, 2016 6:11
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.
March 19, 2016 6:45
Thanks Scott.

You might want to update the first command to use 'wget' instead of 'get'.
March 19, 2016 10:07
Huge shout out to Jessica Lord (https://twitter.com/jllord) who basically single-handedly did a shitton of work to get the ARM build of Electron working (and by extension, VS Code)
March 20, 2016 19:39
It also works very well with x11vnc and xrdp. Finally, we have good code editor for raspberry pi.
March 21, 2016 6:32
Most people look at a problem and say why... thank goodness there are a select few like Scott that say "why not".
March 21, 2016 16:40
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.
March 24, 2016 23:25
Thanks! it worked 100%.
Only one small thing, nodejs-legacy hast to be uninstalled before you can install the latest version.
March 29, 2016 17:52
@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.
April 04, 2016 6:54
I believe you may have dropped a w?
get http://node-arm.herokuapp.com/node_latest_armhf.deb
s/b
wget http://node-arm.herokuapp.com/node_latest_armhf.deb

April 15, 2016 12:23
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
April 16, 2016 21:52
yeah *wget
really cool stuff, love coding on my pi 3
before installing the new node:
sudo apt-get uninstall node node-legacy
April 23, 2016 19:40
Great job! Now I'm running on PI 2.
May 20, 2016 17:11
compile also on PI2
June 03, 2016 3:25
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.
June 08, 2016 18:48
@Nick Larsen

My thoughts echo your observations on xrdp in RPi.
June 14, 2016 7:32
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.