Why the Visual Studio Code team launched a snap

by Sarah Dickinson on 11 April 2019

Microsoft’s Visual Studio Code is a popular free code editor with built-in support for debugging, task running, and version control. While available for Linux via tarball, rpm, and debian package options, the Visual Studio Code team had been seeking new options that would support seamless upgrades to match their rapid release cadence. Joao Moreno and Daniel Imms, Software Development Engineers at Microsoft, recently spoke with Canonical to explain why they decided to publish a snap.  

Prior to publishing their snap, Visual Studio Code offered only tarball, rpm and debian package options. Managing several packaging formats adds complexity and dependencies on specific distributions to provide version updates. Solving these issues was the main reason why snaps appealed as Joao explains; “The automatic update is the biggest benefit and we like the way they run seamlessly in the background.”

However, there were other capabilities snaps provided that appealed to the team. “We like the fact that Canonical are behind snaps and can offer support. On the technology side, the fact that the snap allows an app to run constrained and define its capabilities is a big plus,” Joao explains.

Managing consistent builds across many Linux distros is a challenge for any Linux software project, including Visual Studio Code. Having a single snap that can run universally across over 40 Linux distro variants eases that challenge in comparison to the other packaging options available.

Joao doesn’t expect to see the changes in the journey of how users discover and install Visual Studio Code – their web site is the main touchpoint for users, regardless of platform or distribution method. However, Joao anticipates that Linux users installing the snap will quickly see the benefits. “We expect our users to be on the latest version within a week thanks to the automatic updates, just as our macOS and Windows users do today,” he explains.

Having spent time investigating the snap ecosystem and publishing their own app in this way, Joao would encourage others to do the same. “It is clear there is a thriving community that is moving forward. I recommend it. The backing of Canonical ensures my confidence in its long-term future and ongoing development of the snaps ecosystem to meet our user needs.”

Joao believes that developers are the key to continued snap growth – the more snaps that are published in the store, the more end users will follow.


Visual Studio Code can be installed as a snap by clicking here.

Newsletter Signup

Related posts

8 Ways Snaps are Different

Depending on the audience, the discussion of software packaging elicits very different responses. Users generally don’t care how software is packaged, so long as it works. Developers typically want software packaging as a task to not burden them and just magically happen. Snaps aren’t magic, but aim to achieve both ease of maintenance and […]

Julia and Jeff discover the ease of snaps at the Snapcraft Summit

Julia is an open source, high-level, general-purpose, dynamic programming language designed for numerical analysis and computational science, launched in 2012. It solves the “two language” problem: developers can use Julia for both computational and interactive work, instead of needing to work with two different languages which can often […]

Slow snap? Trace-exec to the rescue!

Slow applications are never fun. But not knowing why an application is not behaving correctly can be even more frustrating. A well-designed system that can diagnose performance or startup issues and inform the user about the problem goes a long way toward mitigating the frustration, and may even help resolve the root cause altogether. Bac […]