Visual Studio Code

Microsoft has changed its strategy towards both Linux and open source, no doubt because it realizes that many developers find working within a Linux environment indispensable and because cloud-based Linux deployments dominate, even on its own Azure platform. But it's still surprising to find Microsoft joining The Linux Foundation and, more recently, the Open Inventions Network. At its inauguration at the latter, Microsoft pledged that 60,000 of its patents won't be used against other members. Of course, these choices are likely to be pure business decisions, and there's absolutely nothing wrong with that. It proves that the open source approach we've all been pursuing for decades is, pragmatically, the best approach for innovation.

Outside of Microsoft's business decisions, though, it's also been releasing its own open source software. If you use .NET, for example, you'll find having Linux access to PowerShell immensely useful, as you'll no longer need to dual-boot or boot into Windows. Visual Studio Code is another Microsoft convenience feature you're going to find useful if you spend much time with Windows. Sadly, it's not the fully fledged IDE that "Visual Studio" implies, and no doubt many developers would love to see Visual Studio running on Linux. But this text editor is the next best thing.

First, a caveat: Don't download the Microsoft-provided binary, bundled even in the Arch AUR package. The binary includes Microsoft's original telemetry and will send back usage statistics to Microsoft. Instead, you can grab a binary from VSCodium's GitHub repository, a fork with all of this removed, or you can build it yourself. If you spend any time with code, it's worth the trouble, because Visual Studio Code is an excellent editor with a few unique features of its own. In particular, it has excellent support for many different languages and formats, including C, C#, C++, Clojure, Python, Swift, and Markdown. These top-tier languages can take advantage of snippets, syntax highlighting, brace matching, and code folding. But one of the best things about the editor are the additional extensions that can be installed. If you're using one of these languages, or one of the many others that are supported, the editor will even recommend which to install. C++ users are prompted to install IntelliSense, for example, which is Microsoft's rather good code formatting, code completion, method navigation, and debugging plugin.

The source control pane is also excellent when used with a Git repository. Its diff view for showing changes made in the current branch is one of the best I've used, and you can commit those changes in-place without leaving the editor. Thanks to Electron, font rendering is beautiful, too. You have several excellent themes to choose from, and you can easily build your own. The tabbed interface is quick and easy to navigate, and any view can be split and moved around. There's a release version, which means development is moving quickly. Although it's not Visual Studio running on Linux, Visual Studio Code is a great alternative that favorably competes with some of the best native editors we've all been using for years.

Project Website

Visual Studio Code is a great editor with brilliant debugging abilities, multiple splits, and an embedded command line.
Some excellent extensions can be installed to augment the editor for your language and environment.

NES emulator


When it comes to games consoles, the Nintendo Entertainment System (NES), is an unassailable classic. For a certain generation, it's the only games console that has ever been, and Nintendo is still milking many of the characters and game mechanics that first saw light on the NES over three decades ago. As you'd expect for an old, popular games console built around a humble 6502 8-bit CPU, the NES has been successfully emulated for a long time, and any new emulator is going to need to offer something new to get noticed. ANESE does exactly this. ANESE is a great little project that's built using "clean and interesting" C++11 with an emphasis on readability, maintainability, and approachability. The code has plenty of comments, and the entire project has very few dependencies, making it easy to build. If you've ever wondered how emulation works or how to get into it yourself, this is a great project to study.

But ANESE also offers a new and unique feature that any NES aficionado is going to find fascinating. This is a mode that's enabled by launching the emulator with a --widenes argument, which, when enabled, will allow the emulator window to grow outside of the screen area as you explore the game level of whatever you're playing. As you move right through Mario World, for example, you'll begin to see the entire world mapped out for you. In this way, you can create maps of entire games as you play through them in a way that isn't easily possible by simply extracting the data from the cartridge. It gives you a brilliant insight into how the games were designed and can obviously be used to cheat or find shortcuts if you're looking for speedruns. But mostly, it just leaves you appreciating the wonderful games design of the time.

Project Website

ANESE is a great new NES emulator with its own wonderful unique feature.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Imaginary Teleprompter

    A teleprompter can help you give a polished look to your speeches and video presentations. Imaginary Teleprompter is a free tool that delivers professional teleprompting capabilities.

  • FOSSPicks

    This month Graham fires up MuseScore 3.0, hexyl, weborf, Chrono, and several other useful Linux tools.

  • FOSSPicks

    Over the past couple of months, Graham's ever-versatile Steam Deck has synced books to an e-reader, played movies on a television, joined Mumble, recorded two podcast episodes, and even played a few games.

  • FOSSPicks

    Graham had an interesting moral dilemma this month: whether to include an open source Wordle clone or not. Read on to see his decision.

  • FOSSPicks

    Graham checks out Sigil, Dragonfly Reverb, LabPlot 2.8, Node-RED, batufo, rg3d, and much more.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More