Discover this podcast and so much more

Podcasts are free to enjoy without a subscription. We also offer ebooks, audiobooks, and so much more for just $11.99/month.

RR 321: Visual Studio Code Ruby Plugin with Penn Lv

RR 321: Visual Studio Code Ruby Plugin with Penn Lv

FromRuby Rogues


RR 321: Visual Studio Code Ruby Plugin with Penn Lv

FromRuby Rogues

ratings:
Length:
58 minutes
Released:
Aug 1, 2017
Format:
Podcast episode

Description

RR 321: Visual Studio Code Ruby Plugin with Penn Lv

This episode of Ruby Rogues features panelists Dave Kimura, Brian Hogan, and Charles Max Wood. Two special guests join the panel today: Eric Barry and Penn Lv. Tune in and learn more about Visual Studio Code’s Ruby Plug-in!

[00:01:55] Introduction to Eric Barry
Eric turned over Teach Me To Code to Charles, which helped build relationships for Charles that built the Ruby Rogues podcast. Eric is a software engineer who has been working in programming since 1998. He works for Skipio and has been a Ruby on Rails developer for nine years.

[00:03:15] Introduction to Penn Lv
Penn is a software engineer for Redim. He works on the Ruby extension for Visual Studio Code. This extension deals with enhanced Ruby language support.

[4:00] What goes into building a language plug-in/language setup for VS code, what do you have to do in order to make that work in the electron set-up?
Usually when you try to build an extension for VS code it is just a NodeJS application. It has nothing to do with electrons; it is just a Node application. Everything is run in a separate process. Just about how to build an extension for VS code.

The first category is formatters, or colorization. For both of those you can write plain JavaScript. There are two categories that are difficult: first is de-buggers. The VS code is a set of common UI for de-bugging. Which is language diagnostic. Write an extension and hook up language debug.

The second is a language server to write language experience. VS code has a concept called language server protocol. Need to write an extension that follows protocol and tells the VS code about semantic information about your program.

[00:06:25] – In order to get some of the nice features for the language you have a Ruby process running somewhere that you talk to in order to do some of the syntax checking?
Yes, have to run that in a stand-alone process. It analyzes Ruby, but it can’t run that in Node JS process.

[00:06:52] So what’s the goal? What makes the VS code team write a Ruby program?
Ruby for VS Code was his ticket to the VS code team. Penn wrote for himself. It is his hobby project.

[00:07:32] How many contributors are on the project? Who works with you?
It is a community project. There are probably in between 50 to 100 contributors.

[00:08:33] What’s your process of knowing what to allow and what not to allow to modify it? How do you know what PRS to accept and how do you stay on top of it?
It is challenging to know what to allow. Penn claims to still not be a professional Rubyist. The first step is to run test cases. His way of reviewing code is by downloading the code. He looks into every piece of the code, learns it, and plays around it. If it works, he adds it.

[00:10:23] How main PRs do you regularly get and how much time does it take to keep that maintained?
Every weekend he goes through everything. He will have maybe five to six VS code extensions and check them thoroughly.

[00:13:30] Indentation when blogging in VS code
Two months ago he finished a feature dealing with auto indentation. The option for this is called editor.autoindent. Indentation gets adjusted automatically while you type.

[00:18:10] Recommendations for plug-ins
Charles recommends Emacs key bindings and Penn recommends the VS code extension Vim.

[00:21:49] Do you do most of your work in TypeScript?
Yes. At the very beginning they were using JavaScript. They were one of the first adopters of TypeScript and are now all TypeScript.

[00:22:50] How much of a commitment would it be to add TypeScript to an existing project?
The setup of TypeScript is not easy. If you are using a NodeJS application and they have TypeScript or typing support there is no specific thing that needs to be done to make it happen. In VS code there is a feature called automatic type acquisition. If creating a new project that uses an express package, which already has a typing file for it. VS code provides you with a
Released:
Aug 1, 2017
Format:
Podcast episode

Titles in the series (100)

All ruby related podcasts from Devchat.tv, including: - Ruby Rogues - My Ruby Story - Ruby Rants