Preview: referencing public code in GitHub Copilot
We will begin to introduce several new capabilities to GitHub Copilot in 2023 to continue delivering responsible innovation and true happiness at the keyboard.
Back in June, we introduced a feature that allows developers to block suggestions of 150+ characters matching public code (ignoring whitespace). While useful in some contexts, blocking matching suggestions doesn’t address all use cases.
It’s within this context that we will begin to introduce several new capabilities in 2023. For any code fragment suggested by Copilot, developers should have:
- An inventory of similar code found in GitHub public repositories
- The ability to sort that inventory by repository license, commit date, etc.
Let’s take a simple, real world example to see how it might work. JavaScript developers may immediately recognize this:
const root = ReactDOM.createRoot(document.getElementById('root'))
This code fragment appears verbatim in thousands of JS files not because it’s the only way to formulate the expression, but because it’s the conventional implementation. As you might expect, it also appears in repositories with many different licenses. If it weren’t already a rather popular and well-documented piece of code, you may not know it originally appeared in the React repo. In Copilot’s next major release, we’ll provide the ability to identify strings matching public code with a reference to those repositories.

Using this information, a developer might find inspiration from other codebases, discover documentation, and almost certainly gain confidence that this fragment is appropriate to use in their project. They might take a dependency, provide attribution where appropriate, or possibly even pursue another implementation strategy. By helping developers understand the community context of their code in a manner that also preserves developer flow, we believe Copilot will continue to deliver responsible innovation and true happiness at the keyboard.
Tags:
Written by
Related posts
GitHub Copilot app for Beginners: Managing your work
If you’re juggling multiple Copilot sessions, use the My work pane to track what’s in flight, what’s done, and what’s next.
How canvases make agentic workflows visible, steerable, and cost-efficient
Chat is great for intent, but agent work gets lost in the scroll. Here is how I use canvases with my agentic workflows—and why your workflow also deserves a canvas.
How to bring your software delivery workflow into GitHub with agent apps
See how four GitHub agent apps can help you scope, secure, roll out, and ship a feature across the SDLC–all without leaving GitHub.