This Week in Programming: Visual Studio Revamps Its Extensions

31 Oct 2020 6:01am, by

Microsoft, as you might know, offers two rather similarly-named code editors: Visual Studio and Visual Studio Code. Of course, calling them both “code editors” might be something to take issue with, as Visual Studio is more of a complete integrated development environment (IDE) used primarily for .NET, C#, and F# development, whereas Visual Studio Code (aka VS Code) is more a lightweight code editor that falls among the ranks of other editors like Atom and Sublime.

As we noted recently, however, VS Code’s extensions set it apart from many of its peers, making it much more than a simple code editor and more of an IDE itself, with extensions adding integrations with Docker and GitHub, for example, or adding support for various languages. Ask any developer why they use VS Code, and extensions are likely to come up. In fact, in recent years, VS Code has eclipsed its namesake in popularity, and those extensions (and cost, of course) are among the primary reasons.

Well, perhaps this is why Microsoft has decided to focus on the future of Visual Studio extensions, in an effort to continue evolving the IDE. Recently, the company notes, Visual Studio has seen a number of “new improvements and additions such as GitHub Codespaces, Git Integrations, and IntelliCode Team Completions” and now the team wants to focus on creating a new extensibility model to make extensions more reliable, easier to write, and supported locally and in the cloud.

As it is currently, Visual Studio extensions are run “in-proc,” which, put simply, means that if they crash, the IDE itself crashes, so the first step Microsoft is taking is to move the extensions “out-of-proc.” This offers a level of isolation for extensions that means a buggy extension doesn’t necessarily mean a buggy IDE. Next, Microsoft plans to completely redesign the Visual Studio extension APIs to simplify writing extensions — something seemingly strongly desired by extension developers.

Finally, the move to supporting extensions in the cloud, a la GitHub Codespaces, is a final and necessary piece of the pie. “For many developers, a customized environment is incomplete without extensions,” they write. “The current model’s unrestricted access to the IDE and lack of asynchronous APIs don’t make it ideal for a seamless, crash-less, and responsive client/server experience for Codespaces.” And thus, cloud-based support in addition to local support.

Now, we don’t expect this will mean much for those of you using VS Code, as Visual Studio occupies a different space, but perhaps you Visual Studio users can finally get a taste of the extension goodness that so many VS Code users constantly gush about. And if you have something to say about the matter, head on over and take Microsoft’s survey and give them a piece of your mind.

And before we head into the news tidbits from the past week, for you Gophers out there, here’s a complete dissection of the proposed generics draft proposal for your viewing pleasures.

This Week in Programming

  • GitHub Offers “Micro-Mentoring”: At this year’s virtual GitHub Universe conference, GitHub has said it will be offering micro mentoring sessions, quick 30-minute, one on one sessions with GitHub employees. Universe will be Dec. 8-10 this time around and the sessions themselves will take place on Dec. 7, 2020, between 11 a.m.-2 p.m. PT. If you’re interested, now’s the time to apply, as applications are due by 12 p.m. PT, Monday, Nov. 9.
  • AWS SDK for JavaScript Gets “Major Rewrite”: Amazon has unveiled a release candidate for the AWS SDK for JavaScript, calling it a “major rewrite of the version 2.x code base,” adding some frequently requested features, like modularized packages, a new middleware stack and first-class TypeScript support. Beyond these high-level changes, there are several other new features, such as pagination using async generators and support for HTTP/2 that they say they plan to detail in future blog posts. For now, you can get started with the version 3 release candidate by checking out the self-guided workshop, which builds an application using JavaScript SDK version 2 and provides step-by-step migration instructions to version 3.

  • RapidAPI Offers Testing & Monitoring: ProgrammableWeb has the story on RapidAPI’s launch of its API testing and monitoring platform, which it says “gives developers a solution to create and manage API tests from development to deployment.” The platform supports REST, SOAP, and GraphQL APIs and offers functional testing, API monitoring across geographies, and CI/CD integration, as well as a drag and drop interface for APIs in its marketplace — all of it free for up to 100,000 API calls per month.
  • VSCode Python Extension Adds Debugpy 1.0: The October 2020 Release of the Visual Studio Code Python extension is “a short release,” with 14 issues being addressed alongside the addition of debugpy 1.0, the debugger that was first announced in March. Debugpy can be used for debugging web apps, with live reload capabilities, for debugging local processes, and even for debugging remotely for applications inside remote environments. It does this last point by running a light-weight server in the remote environment while providing the same development experience as you get when developing locally.
  • PyTorch Gets CUDA 11, New APIs: A bit more on Python, the SDTimes relates that PyTorch 1.7 is now available with new APIs, profiling, and benchmarking tools. The open source machine learning library also adds support for CUDA 11, which provides a bunch of features to get started and develop GPU-accelerated applications, and adds updates to profiling and performance for RPC, TorchScript, and Stack tracers. The release includes several new APIs in beta and performance updates bring stack trace to the profiler. For full details, head on over to the full release notes.
  • A Look Inside GitHub: Last up this week, GitHub has introduced a series of blog posts looking at how it builds its various tools and integrations. Titled Building GitHub, the series will offer “deep-dives on how teams across the engineering organization have been banding together to identify and address opportunities that would provide us an even smoother internal development experience, up our technical excellence, and improve system reliability in the process” and it kicks off with a look at how the company made its GitHub CI workflow 3x faster.

Feature image by socialneuron via Pixabay.

A newsletter digest of the week’s most important stories & analyses.