
What I learned by the time of writing this post, are the few simple rules that can increase accuracy of the suggestions. Sometimes it took few attempts to formulate my expectations to get the code that was looking good to me. Of course, it is not ideal - suggestions are not always meeting my expectations. How to get most of GitHub Copilot?Īfter using the GitHub Copilot service for almost three months, I was amazed how useful suggestions from Copilot can be. Provide a docstring, comment, function name, or the piece of code itself, GitHub Copilot will use the context you’ve provided and generate code as suggestion. You can sign up and join the wait-list to try it out here.

How to get it?Īccess to GitHub Copilot is limited to a small group of testers during the technical preview. Data exchange between GitHub Copilot service, OpenAI Codex Model and Private Code and IDE. GitHub Copilot uses not only exact comment test but also context of the code that is expected to be auto-generated.įigure 1. The way how it is used is that human programmer provides comment with intention what code he/she would like to get, and as autocomplete suggestion gets whole functions of classes. GitHub Copilot is powered by the OpenAI Codex AI system, and, as authors claimed, trained on public internet text and billions of lines of code. Currently, there is support for Visual Studio Code, Neovim, and JetBrains IDEs like P圜harm and IntelliJ IDEA. In brief: GitHub Copilot, gives suggestions for whole lines or entire functions right inside your editor as you type. Purpose of smaller function is easier to describe with just function name or the comment/docstring. For functions with complex business logic divide them into multiple smaller functions.Write pseudocode: describe steps for the function with complex business logic.


