Visual Studio Code: Use, Build, Improve

October 8, 2016 at 6:01 am Leave a comment

vscode

An Open-Source Project

In a previous post, I mentioned that I plan to participate in an open-source project as part of my sabbatical activities. After looking at quite a few projects, I found one that I believe will give me the experience I want- which is to get firsthand understanding of software development work-flow and practices in an open-source project.

A Cross-Platform Code Editor

The project is Visual Studio Code. VS Code is a lightweight, cross-platform, coding editor that supports plug-ins. It’s not an IDE, although with the right plug-ins it can give you all the power of a modern IDE. It is very similar to Sublime Text or Atom. In fact, it is built on Electron, the same framework used by Atom.  (Electron is a  framework for building desktop apps with HTML, CSS, and JavaScript.)

The main thing that differentiates VS Code from Sublime Text or Atom is that it supports development with .NET languages and frameworks. It is also compatible with Visual Studio projects. But VS Code isn’t just for doing .NET development, it provides great support for a long list of popular non-MIcrosoft languages and frameworks. And it runs on Linux, Windows, or OS X.

First-Time Experience

The first time I used VS Code, I was a bit confused about what it could do and what I needed to make it work. It turns out it’s pretty simple as long as you don’t think of it as an IDE. Out of the box, it’s just a text editor (a very nice one!) with syntax highlighting for computer languages (it supports a long list) and integrated Git support. You can use it to write code, and then use it’s built-in terminal window to compile and execute the code using external tools. For example, you could write a Java program, and then, if you have the JDK installed on your machine, you can compile and run the program using the command line in the terminal window.

Of course, you can also write C# programs, but if you want to run them, you need to have the .NET libraries, and the CLR and CLI installed on your machine. If you are doing development on Windows or Linux, then you need to install the cross-platform version of .NET which is called .NET Core.NET Core.NET Core. BTW, .NET Core is currently a subset of the .NET library and does not include libraries for building desktop UIs (no Windows Forms or XAML). But it does support building console and ASP.NET apps.

If you want additional features like auto-complete and the other cool stuff you get from Intellisense in Visual Stuido, then you can add a plug-in that does that. If you want an integrated debugger, there are plug-ins for that, and so on. The number of plug-ins is growing rapidly and quite a few popular languages and frameworks are supported.

BTW, my first time-experience with VS Code was in the summer of 2015, I was teaching a JavaScript + HTML5 class at the University of Oregon and decided to try a new code editor. I used VS Code and liked it, but switched to Atom because of the better selection of plug-ins for JavaScript, like JSHint and Beautify. But, now those plug-ins are available in VS Code- yeah!

Building from Source

My first step in participating in the open-source project was to clone the vscode repository on GitHub. After cloning the respoistory, I follwed the steps outlined in the readme file to set up my development environment (it’s all JavaScript and Node.js stuff). After setting everything up, I typed the build command and whoohoo, it worked and I was able to run the instance of vscode I had just built!

Making it Better

My next step will be to look for a bug to fix or a feature to add. It should be easy to find one, the issue tracker on GitHub currently has over 2,000 open issues! Don’t take that as an indication that vscode is buggy, it isn’t. It’s an indication that it’s popular.

Which issues should I tackle first? I don’t know yet. I’ll look for something I care about. Watch for a post soon descirbing the experience with my first pull request!

Advertisements

Entry filed under: Development, Programming. Tags: , , , .

Open Source Machine Translation Projects Women in Agile: The Changing Face of Agile – Session Notes

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Bird’s Bits

Computers, software & the Internet

Recent Posts

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 37 other followers


%d bloggers like this: