News

GitHub Updates Copilot 'AI Pair Programmer' and Codespaces (Online VS Code)

Microsoft-owned GitHub announced several updates to its sprawling development and code repository platform, including two fairly new offerings: GitHub Copilot, described as an "AI pair programmer," and GitHub Codespaces, which provides an instant, customized, online version of VS Code that runs in the browser and is tied into the platform.

The updates were announced during the ongoing GitHub Universe event, which concludes Thursday, Oct. 28.

GitHub Copilot
GitHub Copilot, still in the technical preview stage, was introduced in June, leveraging a breakthrough AI system called Codex that was created by Microsoft partner OpenAI.

GitHub Copilot
[Click on image for larger view.] GitHub Copilot (source: GitHub).

It provides supercharged IntelliSense-like functionality such as code-completion and suggestions along with new capabilities. It offers up whole-line code suggestions and can even create entire projects -- like a simple game -- on its own just from typed-in (soon voiced, probably) commands.

Turning Words into Code
[Click on image for larger view.] Turning Words into Code (source: OpenAI).

It works with VS Code now, with Visual Studio IDE support planned. The game-changing AI system created some controversy, as it stirred up existential angst among developers afraid of losing their jobs to AI robots, while the Free Software Foundation (FSF) decried it as "unacceptable and unjust."

In August, Copilot was updated and its functionality offered up as an API.

"OpenAI Codex is a descendant of GPT-3; its training data contains both natural language and billions of lines of source code from publicly available sources, including code in public GitHub repositories," OpenAI said in an Aug. 10 blog post. "OpenAI Codex is most capable in Python, but it is also proficient in over a dozen languages including JavaScript, Go, Perl, PHP, Ruby, Swift and TypeScript, and even Shell. It has a memory of 14KB for Python code, compared to GPT-3 which has only 4KB -- so it can take into account over 3x as much contextual information while performing any task."

During this week's GitHub Universe event, more improvements were announced.

"GitHub Copilot can convert comments to code, reduce the time spent drudging through API docs, and help you write tests," GitHub said in an Oct. 27 blog post. "We are expanding editor support to include Neovim and JetBrains IDEs, especially focused on the latest versions of IntelliJ IDEA and PyCharm. Support for multiline completions in Java has also been added, with support for more languages over the coming months."

GitHub is still inviting more developers to try out the technical preview, pointing them to apply at the waitlist.

GitHub Codespaces
Also updated was GitHub Codespaces ("Visual Studio Code backed by high performance VMs that start in seconds"), notable for the ability to run VS Code in the browser (or on the desktop).

Improvements include new devcontainer feature composition, expanded access control for port forwards, GitHub CLI and REST API, GitHub said.

GitHub Codespaces
[Click on image for larger view.] GitHub Codespaces (source: GitHub).

"If you aren't already familiar with Codespaces, it allows you to spin-up fresh dev environments directly from your browser or through Visual Studio Code," GitHub said this week. "Earlier this year, we migrated all of our engineering teams to Codespaces, making it the default developer environment for all of GitHub. Before Codespaces, it could take up to 45 minutes for us to create a new developer environment from scratch. With Codespaces, a GitHub developer can create a new, preconfigured developer environment in 10 seconds. That means we're spending way more time building GitHub, and way less time troubleshooting and waiting for dev environments."

The list of specific improvements includes:

  • Easier dev environment creation: Developers can now create and update the devcontainer.json development environment as code definitions with a one-click setup.
  • CLI support: The company added Codespaces support into the GitHub CLI to help developers who prefer the command line and direct SSH access to their development environments.
  • REST API support in beta: A new REST API makes it easier to programmatically manage Codespaces, including machine types and secrets.
  • Access control for forward ports: Share forwarded ports to a Codespace and mark them as public, private, or shared with members of an organization.
  • Seamless access to GitHub Container Registry: Automatic authentication to dev containers stored in GHCR without having to provide a Personal Access Token (PAT).

GitHub Everything Else
While the above announcements directly concern hands-on coding (what GitHub calls "the developer cloud"), many more news items announced at GitHub Universe affect other parts of the wide-ranging platform, from improved developer flow to security and more:

  • New GitHub Issues experience expands to public beta: Track workflows with project tables and boards that let you filter, sort, and group issues and pull requests. Switch between working in the open and in private with public projects.
  • Labels and automatic release notes for GitHub Discussions: Labels to help sort discussions and automatic release notes with shoutouts to contributors.
  • Improved CI/CD with GitHub Actions: Secure deployments with OpenID Connect, deployment environments to simplify approvals, improvements to reusable workflows, and new auto-scaling functionality for self-hosted runners.
  • Command palette: Just like keyboard shortcuts in an IDE, command palette lets you run commands and navigate across organizations, repositories, issues, pull requests, and more all within the GitHub UI.
  • Pull request merge queue: Merge pull requests efficiently, without updating your pull requests anytime another change lands, all while ensuring the branch remains green.
  • Code scanning adds support for Ruby: CodeQL analysis can now identify potential vulnerabilities in Ruby code (available in beta).
  • Custom repository roles: Enterprise Cloud customers can now create custom repository access roles, so you can give your teams exactly the permissions they need (available in beta).

"Since last year's GitHub Universe, we've shipped more than 20,000 improvements to GitHub for developers, open source communities, and enterprise teams," the company said.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

Subscribe on YouTube