JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code

JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code

JSJ 265 Wade Anderson and Ramya Rao on Visual Studio CodeThis episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Wade Anderson and Ramya Rao from the Visual Studio Code Team at Microsoft. Tune in and learn more about what’s new with Visual Studio Code![00:01:20] – Introduction to Ramya Rao and Wade AndersonRamya Rao and Wade Anderson are in the Visual Studio Code Team at Microsoft.Questions for Wade and Ramya[00:02:00] – Elevator Pitch for Visual Studio CodeOur vision on Visual Studio Code is to take what was best out of the IDE world (Visual Studio, Eclipse, IntelliJ, etc.) and bring what was best from the lightweight editor world (Sublime Text, Notepad++, Atom) and merge those two together. We wanted the lightweight features from text editors and the debugging capabilities of Visual Studio and Eclipse. We did general availability last year. We’ve been stable for a year. Additionally, this is Visual Studio Code for Mac, Windows, or Linux. It’s also built in Electron.[00:03:45] – What are your roles on the team? Do you have particular parts that each of you work on?Wade’s title is a Program Manager. He does more non-developer things but Ramya is an engineer on the team so she gets a lot more coding that Wade does. Everybody has a key area to own but nothing stops them to go into another area. We try to share knowledge between people but we always have that one key owner that you always go to.Ramya is a recent addition to the team. She started out maintaining the Go extension, maintaining and adding features. She’s slowly branching out to the Emmet features of the product.[00:05:30] What is Emmet?Emmet, or Zen Coding, is a must-have tool for you. You can write, say abbreviations and that expands to really huge HTML to update tags, rename tags, etc. That is one of the features of Emmet and Sergey actually wrote the library. We have an in built integration in the product. I [Ramya] am currently working on that.[00:06:28] Does Visual Studio Code make it easy to go to the parts that I need to customize on an HTML?In that case, we have a multi-cursor software in Visual Studio Code, as well. You could place your cursor in different positions, and then, simultaneously edit things.[00:07:42] Is Emmet an extension or does it come with Visual Studio Code?Right now, it’s in Built. If you want to know more about Emmet features, you can to emmet.io. That has all the documentation that you need to learn about Emmet features. In Visual Studio Code right now, we’re looking at making into an extension. We pull it out of the main code and maybe more people can contribute and make it even more better.[00:08:21] – What’s new in Visual Studio Code?One of our main pillars for this year is to improve performance of the product. We’ve grown a larger team so we’re adding a lot more features every month. Last few months has been, “How can we get some stability on the issues coming in while making sure we’re reducing our tech load?” We really keep to those core principles that we started with at the beginning, which was, we want a fast, lightweight editor.We built a few extensions that we call key map extensions. They are just a mapping of key bindings that you learned in Sublime Text. You don’t have to re-learn any key bindings in Visual Studio Code.We also build this Welcome page where you can flip through and see features really briefly. In that Welcome page, one of the key things is an interactive playground where you can play with existing code in different sections. Additionally, as we’ve mentioned, we also put multi-cursor features.Another thing is workbench naming. You can change the theme of Visual Studio Code but it will be restricted to the editor and not the rest of the workbench.[00:13:40] – Do you know how Xterm.js works as it was one of the features that you’ve added in Visual Studio Code?Daniel’s another engineer that’s here with us today. He was the largest contributor to the Xterm.js project. He built the integrated terminal for Visual Studio code so I can’t speak to the internals of how that works.[00:14:12] – Are we going to start seeing Visual Studio Code integrated into web experiences with other Microsoft products?That’s actually where we started. We were Monaco editor where you get this cloud-based editing experience. We’re getting people to use it but we’re only getting people who were already using Microsoft products. When electron came out, we saw an opportunity of, “Hey, can we port this Monaco editor to Electron and we could then, run it on Mac and Linux.”[00:19:45] – What are the performance things that you’ve done?One thing that we did recently was adding an ability to calculate the start time for Visual Studio Code? That’s one of our full steps to get more information from the user-side. How can you get a profile of what things are running? Which part of the process took much time?We also need to identify what are the things people are doing that’s causing the editor slow down. An example is when you open a large file and things get laggy.Another exercise we did was we looked at all of our extension API’s to see which one of those could be a malicious extension.The difference between VS Code and Atom is that, we ask questions like, “Are we using good data structures? Are we managing our memory properly? Are we removing stuff we don’t need anymore?” That just comes down to all those little things you learn from basic textbooks that have been around for decades about how to write good code. That’s what we have been doing and that’s what we’ll continue to try to do, to try and improve the performance.[00:25:55] – Do you have problem on the desktop? Are all the modules just load at once?We definitely don’t load everything at once. Different parts of the editor is loaded differently. When you do the Require, we don’t do it at first load. We do it when we notice that the user wants to use Emmet. We don’t try to load all the library at the beginning and delay the whole process.We try to lazy load as much as possible, even the extensions. We have a separate process called extension host that takes care of loading all the extensions. Whether the extensions are completed loading or not, that does not stop you from typing in a file. Simple actions shouldn’t be bugged down by fancy actions.[00:28:25] – What’s coming next for Visual Studio Code?Every month, when we plan our iteration, we create iteration draft plan. We put it out there for people to see. Performance and helping people get started are probably the top two for us. You can look at github.com/Microsoft/vscode, look for the label ‘iteration plan draft.’ So that’s the current work that we’re doing that month.Another feature is the multi-root workspace where you can open multiple folders. When you look at the issues and sort by most comments, multi-root is the number one. The second one that is little paper cuts around formatting and auto-intending – just things that make your code prettier.PicksAJ O’neal
  • Breath on the Wild
  • Microsoft’s Intelligent Edge
Charles Max Wood
  • Boom Beach
  • Bluetick.io
  • Emacs key binding extension for Visual Studio Code
Wade Anderson
  • Kindle Paperwhite
  • Twitter @waderyan_
Ramya Rao
  • Open source
  • Twitter @ramyanexus
Special Guests: Ramya Rao and Wade Anderson.

Support this podcast at — https://redcircle.com/javascript-jabber/donations

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Episoder(737)

Node.js Performance, Kubernetes, and Why “Fast” Isn’t Always Fast - JSJ 702

Node.js Performance, Kubernetes, and Why “Fast” Isn’t Always Fast - JSJ 702

In this episode of JavaScript Jabber, I sat down with Matteo Collina—chair of the Node.js project and founder of Platformatic—for a deep, no-fluff conversation about Node.js performance in the real wo...

10 Feb 1h 20min

TanStack Start, AI, and the Future of Frontend Architecture - JSJ 701

TanStack Start, AI, and the Future of Frontend Architecture - JSJ 701

It’s great to be back behind the mic! In this episode of JavaScript Jabber, I’m joined by Dan Shapir and our guest Jack Harrington from Netlify and TanStack for a wide-ranging, high-energy conversatio...

30 Jan 1h 12min

What’s New in React 19.2: Compiler, Activity, and the Future of Async React - JSJ 700

What’s New in React 19.2: Compiler, Activity, and the Future of Async React - JSJ 700

In this episode of JavaScript Jabber, I sat down with Shruti Kapoor, independent content creator and longtime React educator, to dig into what’s actually new — and worth getting excited about — in Rea...

8 Jan 1h 15min

Can You Really Trust AI-Generated Code? - JSJ 699

Can You Really Trust AI-Generated Code? - JSJ 699

AI is writing more of our code than ever before—but should we actually trust it? In this episode of JavaScript Jabber, I sat down with Itamar Friedman from Qodo (formerly Quoto) to dig into one of the...

24 Des 202546min

The Real State of Tech Hiring: AI, Ghosting, and the Developer Drought - JSJ 698

The Real State of Tech Hiring: AI, Ghosting, and the Developer Drought - JSJ 698

In this episode of JavaScript Jabber, Steve Edwards and I kick things off by catching up on life — from winter weather and marathon training to health journeys, CrossFit, and some behind-the-scenes pe...

10 Des 20251h 4min

Why Astro Is Winning Developers Over with Sagi Carmel - JSJ 697

Why Astro Is Winning Developers Over with Sagi Carmel - JSJ 697

In this episode, I sit down with developer and speaker Sagi Carmel to dive deep into Astro, why it’s gaining so much traction, and how it compares to frameworks like Next.js, Nuxt, Remix, and SvelteKi...

23 Nov 20251h 3min

The Truth About AI in Everyday JavaScript Development - JSJ 696

The Truth About AI in Everyday JavaScript Development - JSJ 696

It feels great to finally be back on the mic after a stretch of travel, work, and general chaos, and in this episode we’re diving into a topic that’s been coming up more and more in everyday developer...

14 Nov 20251h 15min

Guarding the JavaScript Supply Chain: Preventing NPM Attacks with Feross Aboukhadijeh - JSJ 695

Guarding the JavaScript Supply Chain: Preventing NPM Attacks with Feross Aboukhadijeh - JSJ 695

Hey everyone—it’s Steve Edwards here, and in this episode of JavaScript Jabber, I’m joined by returning guest Feross Aboukhadijeh, founder of Socket.dev, for a deep dive into the dark and fascinating ...

1 Nov 20251h

Populært innen Business og økonomi

stopp-verden
lydartikler-fra-aftenposten
dine-penger-pengeradet
e24-podden
rss-penger-polser-og-politikk
rss-borsmorgen-okonominyhetene
utbytte
pengesnakk
livet-pa-veien-med-jan-erik-larssen
pengepodden-2
tid-er-penger-en-podcast-med-peter-warren
finansredaksjonen
morgenkaffen-med-finansavisen
rss-sunn-okonomi
lederpodden
okonomiamatorene
rss-markedspuls-2
stormkast-med-valebrokk-stordalen
rss-fa-makro
rss-andelige-tanker-med-camillo