okay uh let's go ahead and get started what's going on everyone and thank you for being here welcome to the what's new with GitHub copilot webinar uh I'm pretty sure a lot of you are already familiar or at least curious about how AI is transforming the way that we work uh whether that's helping you with writing code solving for complex problems or maybe even generating a simple slack message uh but AI is changing faster every day and we know that choosing a tool of your choice can be difficult so by the end of the webinar what we want you to understand and walk away with is just a deeper understanding of what copilot can do and why we think it's a developer Choice uh for years to come my name is CJ Williams and I'm a product manager on the GitHub copil team and my name is Phil hollerin I'm the America's field CTO here at GitHub okay and today uh we're just going to walk you through a few things uh starting off with the journey so far so uh where co-pilot has uh began and where we're going uh what's coming soon and do a Q&A towards the end of the presentation but before we jump in we do have a few poll questions for the audience just to get a feel of uh what you guys are currently using yeah so uh first poll question that we're going to put on out here is how you are currently getting access to uh GitHub co-pilot just help us a little bit understand you know uh kind of our audience today so we can tailor the message a little bit as we go uh thanks everyone for responding to it as as you're able okay looks like Vats are coming in now pay for it my okay and we we could just kind of let those come on in as we go along too yeah yeah okay and are we moving on to the next one or let's see I think we're good okay so uh getting started let's jump back in So from the journey so far over two years ago uh there was the initial release of cod pilot which introduced autoc completion uh and if you aren't aware of autoc completion it allows you to generate multiple lines of code with just a simple prompt or comment within the editor this was a game Cher for developer productivity by giving you the ability to reduce time and that overall cognitive load on repetitive tasks and with that Improvement on productivity it allowed us to continue to enhance the developer experience uh by launching co-pilot chat this feature Improvement allowed developers to ask questions and gather context directly within the editor making a lot easier to collaborate and get help immediately transitioning to today our vision for GitHub Cod pilot is to create a ubiquitous conversational personalized and trusted assistant that's deeply integrated into the development environment this Vision has driven a lot of uh the announcements that we made within the past year starting off with improvements within the ID chat experience So within the ID chat experience we improve the model uh by allowing you to interact with your code and that's in G currently uh moving going on to copilot extensions which gives you customization within the editor that's currently in public preview and uh one other thing to mention is with co-pilot and command line which is in GA but it brings those capabilities into the terminal and lastly co-pilot on github. com which brings those co-pilot capabilities into the GitHub web interface so that's kind of what's happened the past year but you know this whole webinar is focused on what's new for co-pilot what are the things that we've recently released and then what are some of the things that we have coming in very short order so I'd like to take a little bit of time to talk about some of the exciting things that we've recently made available for co-pilot and specifically before we kind of get into that I want to think a little bit about how we think about co-pilot and how we think about kind of the overall process of AI coding kind of Shifting and changing development so for the past several years uh co-pilot has been a single model approach whether it's been GPT 35 turbo behind the autocomplete or more recently GPT 4 behind the GitHub chat capability and it's been really focused on this kind of conversational uh coding Paradigm where I chat with the chatbot I get some results back I integrate them into my code and that overall process has been kind of an AI infused process it's that standard development workflow that we've all been kind of working with in ide since the late 90s or early 2000s when that autocom complete framework came along but with just a little bit of kind of AI sprinkled into the top of that existing pattern what we see now and what we're building in is kind of a second phase of AI code generation the first part of that is that we transition from being a a single model approach to using multiple different models uh for the best appropriate task and then moving away from just a conversational code and then kind of copying and pasting that code over to having specific AI agents working in the codebase task with performing specific things and and really contributing more to that code this kind of shift from being single model and conversational to multimodel and agentic changes it from being an AI infused approach to really more of an AI native approach where we start thinking about what does the next phase of application development look like if we kind of jettison the notion of what uh kind of the traditional confines of an IDE are and we'll see a little bit more of that as we get into the what's coming portion of the webinar here in just a little bit but I did mentioned a switch to multimodel and one of the biggest announcements around that is that GitHub co-pilot now supports multiple different models uh for you specifically within GitHub co-pilot chat so that you can choose the best model for the uh task at hand so uh even though we are owned by Microsoft we do have a partnership with anthropics so that you can access Claude 3. 5 Sonet directly through GitHub co-pilot chat today as well as a partnership with Google Cloud so that you can use Gemini 1.
5 Pro this is in addition to the GPT 4 40 and 40 mini models that are available within co-pilot right through a model picker right in VSS code and speaking of what vs code a lot of enhancements have recently come to the ability to interact with get up co-pilot directly in the vs code IDE you'll see a host of them down here including multifile editing custom instructions and other things and rather than just kind of name them out I'd rather jump in and show a little bit of capabilities of each of them here as we go along so the first thing I want to highlight is actually maybe the least exciting or the most exciting depending upon whether or not you're getting co-pilot through your employer which looks like about 50% of you or you're using it on your own and that's content exclusion and the reason this is kind exciting is because we really wanted to prioritize giving developers and uh organizations if you're coming at this from a business perspective control over what is sent to the co-pilot model and the way that that was largely done you know and up until now has been through which Tabs are open in your IDE and which aren't co-pilot gets access to those open tabs gathers up the appropriate contacts and sends it off to the model but in order for co-pilot to to Really break out of that Paradigm and and look at the most appropriate parts of the code we have to be able to tell it where it can't look and so if you have uh an administrative account within GI up co-pilot and you want to specifically tell uh your co-pilot not to look at certain folders or files like EnV files or other things that's capable now directly within the settings but what the user experience is is what's highlighted right here on the screen if I happen to be working in VSS code and I'm in a file that co-pilot's not allowed to go perusing around in and I start interacting with copout and expecting help just see a little dialogue here like that lets me know that hey I'm not going to be able to gather context from this spot but you can still ask me some generic questions about coding now that content exclusion has what's allowed us to really again prioritizing developer control over what co-pilot sees and doesn't see to improve the context of what co-pilot is able to see so that I don't necessarily have to know which files I should have open in my IDE not always having to instantiate the at workspace agent and explicitly telling co-pilot and I just want co-pilot to figure that out so what you see right here is is actually an kind of an existing C++ app and as we kind of get going this this you're going to see that we're including a common uh Library there the file search. it's not currently open in a tab though but because we have this increased context as co-pilot starts performing that autocomplete it's going to start returning things from that common library that we have to find even though it's not open in the tab minor Improvement here but again it's really about getting that control and making sure that I don't have to know every single thing that I should open in order to get the most useful response back from co-pilot beyond that again with those contact exclusions in place the other things that we've recently shipped out into co-piloted vs code are things like uh intent detection and repository indexing and so well what is that well if we take a look at the demonstration here on the right hand side I can ask co-pilot if there's anywhere in this repo where we're drawing a line graph and then co-pilot's going to go take a look through the reposit and return back to me hey Yep this is where we're drawing these line graphs these are the tools we're using and the things that are in place and then I can start going ahead and interacting with co-pilot to do things like creating another line graph following the patterns that are in place already and then calling them in how is this working well if you kind of dig under the hood a little bit what we're first doing locally in VSS code is building up a semantic index of the code and so when we started interacting with co-pilot we can consult that semantic index and then provide a much faster richer set of context to send ultimately to the model if that repository happens to be hosted on github. com and you've enabled indexing out there where we can also hit the GitHub hosted semantic index for an even faster response ultimately the goal is to make sure that co-pilot has easy access to the portions of the codebase that are most relevant to generate the best possible suggestions to you as you're interacting in with your code and speaking of interacting with code one of the things that we've heard from folks for a while and I did see scroll through the Q&A over there on the right is once co-pilot going to be handle able to handle multiple file editing uh the answer is now so within co-pilot uh if in vs code up on the right hand side you'll see there's kind of a new edit with co-pilot capability the co-pilot chat window is its own separate thing now over on the right and I can go into co-pilot and I can click on edit with co-pilot and I can start doing things like selecting the model that I want to work with as we mentioned we're multimodel so let's say we want to work with Cloud 3.
5 and then I'm going to ask to create a reusable line graph kind of going back to our demonstration from earlier and it's going to make sure that we do some things like reuse some existing points data we're going to ask it to look similar to changes in another file and encourage it to write some tests for us as well now this hasn't been sped up so I'm going to do my best to just kind of maintain a little bit of talking here while this runs but the thing to notice right over on the left hand side kind of up and the top is some tabs are going to start popping open as co-pilot applies the appropriate edits to multiple files within my repository so it's applying it here to this monthly points area chart authoring that appropriate file and then it's going to go ahead and do some things like add it to the test file so we can see some changes that have been made to the test file there as they pop in and those edits are applied across multiple files for me with that single interaction in co-pilot chat now another nice thing about what's happening in co-pilot uh depending upon how you're using co-pilot you may or may not have turned on some uh the ability for co-pilot to not return code that matches code in the public training set however if you are uh allowing co-pilot to return that back we now have the ability for my Mac to remind me to update something in the middle of a webinar uh this is proof that it's a live webinar folks and proof that we all get harass to update our software which I have now ignored again all right so going back to the actual demo at hand uh the code referencing capability there is you know if you want to know uh if there is code that is getting suggested P from co-pilot that happens to be generate you know it is a generative AI but it happens to match something that's out in the public code sphere you can go and you can take a look at the referencing and see exactly where the citations are coming in from that code again if you're accessing this through your employer your employer may have just turned that off and you would never even see that in the first place but as an individual or if you don't have that enabled it's and want to understand where we getting that from can do that directly within VSS code okay uh and of course sometimes we just want co-pilot to generate things that look a little bit more like our code and follow our standards and do the things we want it to do uh if you're used to interacting with uh large language miles like chat GPT or some of the other ones that are out there there's a settings panel for custom instructions get up co-pilot now supports custom instructions through the use of a co-pilot hyen instructions. MD file in your repository where you can specify specific custom instructions for that repository that get packaged up and sent along with every request issued to co-pilot this is a great way to make sure that you're preferring you know X package over y package particular service or over other uh in the example over here hey if we're going to release a new component we're going to always make sure that it is behind a feature flag with launch Darkly and making sure that we add tests were appropriate uh if you're H if you happen to be working in a in a large environment across a team with a lot of folks having this single custom instructions file in the repository is the best way to ensure that co-pilot's going to beave in a similar manner for everyone authoring that application all right getting to the end here of a couple of things um outside of the visual uh Studio code experience co-pilot uh specifically for security has offered the capability up for a little while now to provide Auto fixes the big announcement here that I just really want to drive home for folks is GitHub code scanning uh which is our underlying static analysis engine is free for all open- Source projects and now GitHub co-pilot autofix is available again for free for all open source so if if you're an open source maintainer if you've got some open- Source projects out there or you're thinking about open sourcing some you can have not only code scanning uh in set up for those for free but also the ability for co-pilot to automatically suggest fixes to any found security issues so that we can you can understand the security problem the potential impact and quickly address It ultimately we want to make sure that the open source code that we all depend upon to build all of our other applications is as secure and robust as possible and this is another way that we're able to do that and really excited to share that out with everyone okay uh so as many as you know copilot has already launched across a few idees already starting with vs code visual Studios neovim and Jet brains but there's always been a desire to continue expanding across different idees to ensure you guys as developers can enjoy co- palet within your favorite editor that desire has actually driven us to integrate with xcode copile integration with xcode is now in public preview and this allows apple or allows developers uh that enjoy the Apple ecosystem to use copilot and continue building out applications here's just a quick video of adding just a enum and case statement but for those of you interested you can now follow the link on the screen on the left and that would redirect you to a public repository with all the information that you need to sign up okay Switching gears just a bit moving on to co-pilot extensions if you're anybody like me I like to customize things when I have them and that's what extensions will do for you uh what we've done is that we announced a public preview for cobal extensions roughly over a month ago but today we have roughly over 20 extensions available within the marketplace these extensions span from a range of different tools from at lassan to others but have all been created to help you streamline and help you within your workflow so let's walk through a few different examples starting with J okay uh many developers use jir as you know as completing development task on a daily basis uh but now with copilot integrated into Jura you can seemly access and interact with issues within your developing environment this integration allows you to quickly receive information add context or ask questions about the issues that have been assigned to you and this enables you to uh not switch in between different platforms as you're continuing your work okay jumping to the next example for data saxs so not sure many of you aware but data saxs is an extension that allows you to manage your database using natural language having this ability reduces that overall thinking and cognitive load on trying to remember code or queries and hands it off to co-pilot co-pilot can retrieve the data and even help you create a database using pilot chat this saves you time and simplifies the overall process letting you focus on what matters most so to get started navigate over to the github. com marketplace and I believe that is okay that should be the next slide are ref freeze in here or frozen oh it's up on the screen for the the Builder toolkit and the marketplace oh yeah yeah the uh looks like it was freezing for me apologize yes this is truly truly live people but yes you can navigate to the GitHub market place to the left and the developer or Builder 2 Kit is to the right uh to start using GitHub copilot extensions so all these things are available to uh for you to use today but we do want to take a few minutes to share some of the things that are fast coming uh for you all to use in co-pilot and so with that I kind of talked a little bit earlier in the webinar about this kind of transition from phase one to phase two wave one to wave two and really you know again as we kind of think about that first approach development the developer is really single-threaded and uh the developer is iterating back and forth with a single chat agent having that conversational code and ultimately we're all you know using that to to help us better author applications where we see this transitioning again with multiple agents and multiple different ways in which AI is interacting with us and with our code is really going from being single threaded to being multi-threaded and that would the goal here is not to replace a developer by any means but allow us to focus on work that generally needs human Ingenuity focusing on those higher value problems and delegating some of the rest of those things to co-pilot and so what does that end up looking like well that is probably going to require us to rethink how we author applications in one fashion or another and you've might have seen us announce something last year and then roll it out in technical preview earlier this year around co-pilot workspace and really the idea behind co-pilot workspace is how do we provide an AI native IDE for developers that's designed and optimized around everyday tasks and so what I'd like to do now is you know not tell the whole co-pilot workspace story but talk about some of the enhancements that we've made to co-pilot workspace and then uh kind of an exciting announcement here coming up in just a minute or two so when we think about workspace though the whole idea here is that we have the ability to open up an issue in a workspace and then jump right in and start interacting with it so I'll just kind of switch over here on my screen for a second as I'm scrolling down in an issue I'm going to see ultimately this button here called that has open in workspace if I'm using copilot workspace and then clicking on that will bring me right on in to that co-pilot workspace and open up the view and I have the issue over on the left hand side and a brainstorm agent that I can start interacting with on the right hand side and the goal behind that brainstorm agent is ultimately to help me figure out what I'm doing and iterate with me an potential solution to the problem so here I might want to add in an image to a form I can choose from the options available add it to the task once I'm comfortable with the plan or task I can go generate a plan and then start iterating those specific features open up commands underneath run my tests if my tests happen to fail I can add have another agent analyze the build issues and the tests for me figure out what those test issues might be and work to solve them this is really what we mean by this kind of notion of a multi-threaded uh developer we have a brainstorm agent in here within co-pilot workspace helping me to figure out ways I can solve a particular problem planning out the proposed solution set uh then if I run a build and I have that build fail I have a you know another agent working with me to figure out exactly the underlying issue in the build and working to fix it so up and beyond that you know I might have might accidentally rerun the same video live demo here folks the other way that we can start doing this is is not only jumping from an issue and starting from the beginning but maybe I need to start from the middle of my work and I can open up a pull request directly uh in workspace as well so here we have some uh review suggestions coming on in and I can click open in workspace and jump right into a co-pilot workspace and quickly see those changes iterate back and forth with co-pilot if I need to and then ultimately apply them into the change into the poll request being able to jump into an of these changes easily more interact with the AI is is really kind of the next wave of of interaction that we're seeing from this year's worth of research and feedback that we've been having with the co-pilot workspace uh technical preview so this is kind of a little bit of co-pilot workspace that the next iteration really is around these agents so we have H that brainstorm agent that I highlighted uh the pull request review capability Uh custom instructions commands a build and repair agent and of course multimodal support and if you're interested in this you can join the wait list uh we are in public we're going to be in public preview here for a little bit but uh Thomas actually just kind of threw a wrench into this entire webinar as I planned because uh as part of Microsoft ignite he announced out on Twitter in LinkedIn that we're going to be leaving technical preview very soon which means the doors are going to be opening up for more and more people to come on in and try out co-pilot workspace and give us feedback on that so please you know if you've got a a device go ahead and snap the QR code come and join us and uh participate with us as we continue to roll out this next iteration of developer and AI assisted developer environment okay uh now let's dive into reviews for pool requests uh since the introduction in 2018 back when I was in high school just learning how to code uh GitHub has empowered all developers to collaborate on projects small to very large uh enabling teams to review and provide feedback on the code that you're writing and today with AI being implemented into just about everything uh PO requests are even more important to our developer workflows and with the introduction as co-pilot as a reviewer it now becomes a more efficient seamless process okay and now as copal as your teammate uh you can receive AI code reviews without need to second guess yourself before merging some of the capabilities actually help you identify hidden bugs uh suggest problems or suggest improvements not problems uh flag grammar mistakes and much more now let's jump into a quick demo so as you can see or I don't know if it's can't see if it's loading okay there we go moving slowly so talking here let's as you can see you can jump into this and request a colleague for copilot just for the code review uh in just a few seconds copil will generate some suggestions which you can accept with just one click uh and continue to scroll and you can see that it's identified a few suggestions for you to accept or disregard and you'll still need of course teammates to review this code but it definitely speeds up the time for you by yourself or if you're working alongside uh with a huge group and if you're wondering like yeah this is completely fine CJ but can I do this uh actually within my editor and the answer is yes now here's a demo of it in vs code here you can see the end users just adding a comment message of updating uh the leaderboard page and updates to navigation but if you can select the code review button on the left side and the source panel and copilot will provide uh just some updates to suggestions that you've made and you can apply those or disregard them uh before moving forward okay and just let the demo close out and okay jumping into now the Upgrade Assistant for Java uh this tool has been designed to simplify upgrading Java applications through agented workflows this assistant actually analyzes projects and proposes an upgraded plan um that helps you address dependencies like in Spring boot or junit test framework um so let's see it in action throughout the upgrade process you can see that this assistant is automatically transforming the code and resolving issues uh once your plan has been uh updated making the entire process smoother and more efficient what's even more powerful is that co-pilot learns throughout this process in real time so through task visualization as you can see the task loading uh the necessary task and subtask uh applies the knowledge across other things that need to be upgraded you can remain in control throughout the entire process being able to modify files uh exchange or review exam uh logs and see detailed summaries while updates are being made once the reviews have actually been updated you can then ask co-pilot for a pool request uh and do all that work for you this is currently still within public preview but you can navigate over to the weit list in in order to get more information okay and just to close out this portion of the webinar um want to thank you for being here uh I know we had some technical issues earlier but I've seen a lot of the questions that we're getting so I'm excited to uh get to some of those but to close out copilot is definitely revolutionizing the development process uh rather that's streamlining pool pool request uh multifile editing content exclusion or even much more keeping you within the flow of boosting your productivity and with that uh we can close out and get started with uh the Q&A okay take break here all right so I think we've got some colleagues that'll be coming in and helping us go through some the uh the questions here as well but I've got a few that will kind of start going down here uh so the questions uh which version of VSS code can we begin using multim uh model co-pilot chat uh the most recent version uh you should be have access to it right now it's I we're not running insiders or anything like that as long as your co-pilot extension is up to date within VSS code uh you should be able to take uh take advantage of that right away uh one small caveat uh your admin if you are getting co-pilot access through a commercial uh company your administrator may or may not have enabled the ability to use uh Claude 3 to use Claude and to use Gemini if you don't see it there uh talk to your administrator uh what are the benefits of having a repository indexed so I'll talk through that one too so if you're running let's say you know I'm in vs code and uh I I need co-pilot to figure out what to do and and what files to look at and maybe you're in like a you know a seven or 10 or 20 gig repository there's no that way that we can send all of that information over the wire of in each request to the model it's just just too big so having the repository index allows for the the underlying agent that's running in the IDE that's determining what to gather up for the context uh it allows it to more quickly find the most relevant information what we're doing now out of the box in vs code is we're actually building up a local index in in the uh on your basically on your local development environment right on your laptop on your desktop whatever you're developing in uh if you happen to be indexing that code out on github.
com as well we're able to just pull from that pre-existing index and we don't have to build it and uh every time you open it up and update it it's just already there so if it's running out on github. com and it's indexed out out there were're able to get access to it a little bit faster than if we had to build it up locally uh and then you know if you've got a team of 10 or 15 or 20 or 100 people all working on the same repo it's one index versus everybody running it locally just a bit of a speed enhancement there uh when did we say the code review feature is coming uh very soon uh I don't have a specific date to share with you on that uh but we we are we are talking in the you know extreme extremely near future on that I might actually have a colleague who can chime in a little bit and I'll be able to give you more detailed information on that but uh it is very soon and actually if you go on out to our public road map uh all of these things are out on our public road map and we're getting ready to update that as well that's a GitHub project out at github. com GitHub roadmap and you can take a look at all of that out there uh see other question um okay so another indexing question I'm just kind of seeing things bubble up to the top here does it index all company repos or just those you have access to so this there's a this is a two-phase question if you are just running in VSS code and we're talking about that local index it's only indexing the repository that you have open and the index lives locally on your machine uh if you are indexing stuff out in GitHub it's an administrative action where you say in your administrator says Index this repository Index this repository uh so there is Administrative control over that and that is something that uh is only possible if that code is hosted out on github.