A year and a half after being acquired by Microsoft, GitHub has integrated the company's popular source code editor, Visual Studio Code (VSC), and plans to make it available to users through a hosted service called Codespaces.
Scheduled to be announced in conjunction with GitHub's virtual Satellite 2020 event today and now taking waitlist signups for a limited public beta test, Codespaces provides GitHub developers with a way to edit their code repositories in GitHub-hosted virtual containers.
Devs can use a browser-based version of VSC or a local code editor – whether that's VSC or something else – to connect to GitHub. Either way, the code resides in its own environment, with its own dependencies, isolated from other projects. Those creating web apps will even be able to launch their code for testing.
"We're always looking for ways to make the barrier to collaboration lower," said Shanku Niyogi, SVP of product, in an interview with The Register.
"This is not a miniature version of Visual Studio Code," said Max Schoening, VP of product design. "It's the full version, with every plugin, all your settings, keyboard shortcuts, and dot files."
Schoening said it can take a long time to get a development environment set up. The aim with Codespaces, he said, is to make it easier for people to contribute to projects. Codespaces takes the project configuration file and installs the specified files and settings in seconds.
"The robots do the work for you to bootstrap your development environment," said Schoening.
There's no charge for Codespaces during the beta testing period and the code-editing functionality will always be free, the company said. Eventually, there will be a pay-as-you-go pricing scheme similar to GitHub Actions for computationally intensive tasks like builds.
Now GitHub has gulped down NPM Inc, what's next for the JS package registry? Well, some stability will be niceREAD MORE
GitHub is also planning to roll out a service called GitHub Discussions soon, which will provide a place to raise questions and carry on conversations outside of Issues posts.
There's quite a bit of chatter that goes on in GitHub Issues posts, but Issues is intended as a way to track bugs and enhancements, which is why Issues can be closed. Schoening explained that some open source maintainers feel pressure to close as many Issues as possible because many people associate code quality, or at least maintainer diligence, with a low Issue count. That's not necessarily conducive to community, said Schoening.
The new service, Discussions, aims to facilitate developer communication in a less structured way. Not every question needs to be actionable or have a resolution, though there will be tools to turn a Discussions post into an Issues post and vice versa. The point is to have a place to talk that doesn't have a direct tie to the coding work process.
"I call it the metaphorical campfire next to your repository," said Schoening.
GitHub also intends to publish its analysis of developer activity data to understand how the COVID-19 health crisis has affected developer productivity.
Looking at the frequency of code pushes, pull requests, and commented issues per user, Nicole Forsgren, GitHub VP of research and strategy, has found that developer activity has remained largely consistent.
However, she also pointed out that the cadence of work has changed, with developers working up to an hour more each day, on weekdays and weekends. She speculates this may be the result of non-work interruptions – pets, children, the plaintive cry of nearby snacks – while working from home.
Forsgren cautioned that if this additional work is happening at the expense of personal time and breaks, burnout may follow. Whether anyone will complain at a time of growing unemployment is another matter. ®